Matrix F中的强型矩阵#

Matrix F中的强型矩阵#,matrix,f#,Matrix,F#,是否可以在F#PowerPack矩阵库上创建包装器来创建强类型矩阵和向量 我的意思是我想在类型本身中存储矩阵/向量的维数,这样我就可以说 创建一个函数mul,将2个矩阵与签名相乘: mul::Matrix->Matrix->Matrix 如果矩阵类型的后两个参数表示行数和列数,并且是ints.这里的问题是n和m是int的值,而类型参数需要是类型 一个有点粗俗的解决方案是使用高度和宽度的度量类型。然后它可以变成: mull :: Matrix<float<(H^m)*(W^n)>

是否可以在F#PowerPack矩阵库上创建包装器来创建强类型矩阵和向量

我的意思是我想在类型本身中存储矩阵/向量的维数,这样我就可以说

创建一个函数mul,将2个矩阵与签名相乘:

mul::Matrix->Matrix->Matrix

如果
矩阵
类型的后两个参数表示行数和列数,并且是
int
s.

这里的问题是
n
m
是int的值,而类型参数需要是类型

一个有点粗俗的解决方案是使用高度和宽度的度量类型。然后它可以变成:

mull :: Matrix<float<(H^m)*(W^n)>> -> Matrix<float<H^m*W^p>> -> Matrix<float<H^n,W^p>>
mull :: Matrix<float<(H^m)*(W^n)>> -> Matrix<float<H^m*W^p>> -> Matrix<float<H^n,W^p>>
[<Measure>] type H
[<Measure>] type W