如何在F#中反转矩阵?

时间:2009-03-20 19:55:18

标签: f# matrix

我需要使用F#执行一些基本的OLS回归。要做到这一点,我需要一些线性代数函数,但我很困惑那里有什么。我找不到任何方法来反转矩阵。有一些名为Microsoft.FSharp.Math.LinearAlgebra的库的文档,但我不知道它是否存在。

4 个答案:

答案 0 :(得分:6)

如果将FSharp Powerpack添加到项目中(在.NET参考中),则可以使用矩阵库的各种功能

编辑:你还需要添加实验库Fsharp.Powerpack.MathProviders,然后你可以调用如下

open    Microsoft.FSharp.Math
let m = Matrix.create 10 10 1.2
let m2 = Experimental.LinearAlgebra.Inverse m

答案 1 :(得分:1)

FlyingFrog执行Numerics库,其中包含许多其他函数中的Matrix反转。

不确定哪个是优选的,或者来自PowerPack的(显然已弃用的)'实验'代码。我想你总是可以将PowerPack版本的托管位的源代码保存在一个安全的地方,仍然可以在这里找到:

C:\Program Files\FSharp-1.9.6.2\source\fsharp\FSharp.PowerPack\math\lapack\linear_algebra_managed.fs.

答案 2 :(得分:0)

我不知道;在F#的1.9.6版本中,我没有看到任何内容,文档在这里

http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/namespaces.html

并且在FSharp.Powerpack.dll中的Microsoft.FSharp.Math命名空间中有Matrix内容,但是我没有看到'反转',我不知道'LinearAlgebra'的东西(不推荐使用?)网络搜索表明它在几个版本中消失了。)

答案 3 :(得分:0)

你签出了this吗?这可能有所帮助。