.NET数学库NMath使用教程——创建LU分解

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的朋友,可以联系在线客服

关注慧聚IT微信公众号 了解产品的最新动态及最新资讯。

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年11月1日
下一篇 2019年11月1日

相关推荐

发表回复

登录后才能评论