NMath提供用于计算和存储矩阵的LU分解的类。LU分解是将矩阵分解为下三角矩阵和上三角矩阵的乘积的过程。您可以通过为构造函数提供要分解的矩阵来创建LU分解类的实例。
NMath是一个适用于所有.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。我们将以连载的形式向大家介绍NMath的实用教程。
最新版NMath
您可以通过为构造函数提供要分解的矩阵来创建LU分解类的实例。从而:
代码示例– C#LU分解
var A = new DoubleComplexMatrix( 5, 5, 1, 1 );var lu = new DoubleComplexLUFact( A );
代码示例– VB LU分解
Dim A As New DoubleComplexMatrix(5, 5, 1, 1)Dim LU As New DoubleComplexLUFact(A)
您还可以使用现有实例通过提供的Factor()方法来分解其他矩阵。 例如:
代码示例– C#LU分解
var A = new FloatMatrix( n, n, 1, 1.62F );var lu = new FloatLUFact( A );B = new FloatVector( n, -1.2F, 1.78F );lu.Factor( B );
代码示例– VB LU分解
Dim A As New FloatMatrix(N, N, 1, 1.62F)Dim LU As New FloatLUFact(A)Dim B As New FloatVector(N, -1.2F, 1.78F)LU.Factor(B)
如果矩阵分解成功,则只读的IsGood属性将获取一个布尔值,该值为true,并且分解可以用于求解方程式,计算行列式,逆运算等。否则,它返回false。 例如:
代码示例– C#LU分解
if ( lu.IsGood ) { // Do something here...}
代码示例– VB LU分解
If LU.IsGood Then ' Do something here...End If
其他只读属性提供有关用于构造LU分解的矩阵的信息:
-
Cols获取因子矩阵的列数。
-
行数获取因子矩阵的行数。
-
如果矩阵是奇异的,则IsSingular返回true;否则,返回true。 否则为假。
上一章:线性系统
下一章:使用LU分解
==========================================
如果想要购买正版授权NMath的朋友,可以联系在线客服
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!