我MathNet.Numerics.LinearAlgebra
用来建立一个图书馆。我需要将用户指定的函数应用于矩阵的每个元素,我知道我可以使用Map
:
open System
open MathNet.Numerics.LinearAlgebra
open MathNet.Numerics.LinearAlgebra.Double
let m1 = matrix [[1.0; 2.0; 3.0]]
let f1 = fun s -> s * 3.14
let m2 = m1.Map f1 // THIS FAILS
let m3 = m1.Map (fun s -> s * 3.14) // THIS WORKS!
在m2
我收到以下错误的行中:
This expression was expected to have type Func<float, 'a> but here has type double -> double
但我需要能够传入映射函数,而不是像 for 那样内联定义它m3
。的文档MathNet.Numerics
似乎没有回答我的问题。