2010-03-30 68 views
6

任何人都可以幫助我用最新的f#使用lapack的例子嗎?或者現在不推薦?F#1.9.9.9和lapack

我搜索,只發現http://fdatamining.blogspot.com/,但無法獲得FSharp.PowerPack.Math.Providers.dll編譯。

編輯: @尹,感謝您的博客。在從1.9.7.8源代碼編譯FSharp.PowerPack.Math.Providers.dll時,Microsoft.FSharp.Compatibility.permutation被多次使用,無法找到。在您的博客,據說只是爲了明確地定義它:

type permutation = int –> int. 

或者我更換所有Microsoft.FSharp.Compatibility.permutationMicrosoft.FSharp.Math.Permutation,得到它編譯。還沒有測試過。

你能告訴我們svd bug的測試用例嗎?

謝謝

回答

3

我寫了這個博客。你使用VS 2008嗎?你有沒有安裝PowerPack?到目前爲止你做了什麼?你得到了什麼編譯錯誤?

F#團隊不推薦使用數學提供者。然而,這是我在網上可以找到的最好的F#(不完整和Alpha測試Math.Net需要時間來成熟)。我也可以告訴你,包裝是錯誤的,例如SVD包裝中有一個錯誤。但是這個包裝很小,您可以在F#新版本中自行維護,並根據需要添加新功能(我們在這裏有明顯的許可證問題!)。我的計劃是使用和修改這個包裝,直到它穩定並重寫一個新包裝以清除許可證問題。或者,我們可以說服MS或MSR繼續發展。

@ahala中,SVD錯誤

搜索 構件this.dgesvd _((A:基質))= 在lapack_service_netlib.fs

這個函數有一個內存訪問/段故障時的缺陷在m乘n(m> n)矩陣上進行SVD​​。

爲了解決這個問題,我們需要將arg_jobu和arg_jobvt更改爲'S'。 ref lapack doc here:http://linux.die.net/man/l/dgesvd