.NET数学库NMath使用教程——静态方法

翻译|使用教程|编辑:况鱼杰|2019-12-09 11:29:58.300|阅读 30 次

概述:为方便起见,NMath在类NMathFunctions上提供了静态方法,用于求解线性系统以及计算行列式,逆数和条件数。所有方法都接受矩阵。

相关链接:

NMath是一个适用于所有.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。我们将以连载的形式向大家介绍NMath的实用教程。

最新版NMath点击下载


    为方便起见,NMath在类NMathFunctions上提供了静态方法,用于求解线性系统以及计算行列式,逆数和条件数。所有方法都接受矩阵。

提供以下静态方法:

  • NMathFunctions.Solve()解决单个或多个右侧的线性系统。

  • NMathFunctions.Inverse()计算给定矩阵的逆数。

  • NMathFunctions.Determinant()计算给定矩阵的行列式。

  • NMathFunctions.EstimateConditionNumber()估计指定范数类型中给定矩阵的条件编号。

  • NMathFunctions.ConditionNumber()直接计算指定范数类型中给定矩阵的条件编号。

例如:

代码示例– C#LU分解

var A = new DoubleMatrix( "3x3 [2 1 1  4 1 0 -2 2 1]" );

var b = new DoubleVector( "[8 11 3]" );DoubleVector x = NMathFunctions.Solve( A, b );
     
var B = new DoubleMatrix( "3x2[8 3  11 11  3 8]" );DoubleMatrix X = NMathFunctions.Solve( A, B );DoubleMatrix AInv = NMathFunctions.Inverse( A );
double ADet = NMathFunctions.Determinant( A );
double ACond =   NMathFunctions.ConditionNumber( A, NormType.InfinityNorm );

代码示例– VB LU分解

Dim A As New DoubleMatrix("3x3 [2 1 1  4 1 0 -2 2 1]")

Dim B As New DoubleVector("[8 11 3]")
Dim X As DoubleVector = NMathFunctions.Solve(A, B)

Dim B As New DoubleMatrix("3x2[8 3  11 11  3 8]")
Dim X As DoubleMatrix = NMathFunctions.Solve(A, B)

Dim AInv As DoubleMatrix = NMathFunctions.Inverse(A)
Dim ADet As Double = NMathFunctions.Determinant(A)
Dim ACond As Double =  NMathFunctions.ConditionNumber(A, NormType.InfinityNorm)

    请注意,每次调用NMathFunctions.Solve()都会创建一个LU分解实例。如果您反复(例如在循环内)调用Solve(),并且两次调用之间的系数矩阵没有变化,则效率更高:

代码示例– C#LU分解

var fact = new DoubleLUFact( A, false );
...
fact.Solve( B );

代码示例– VB LU分解

Dim Fact As New DoubleLUFact(A, False)
...
Fact.Solve(B)

上一章:使用LU分解

下一章:最小二乘

==========================================

如果想要购买正版授权NMath的朋友,可以联系在线客服

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

1561953111.jpg



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:CenterSpace https://www.centerspace.net/doc/NMath/user/linear-systems-78016.htm

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
NMath

NMath是一个.NET的数学库,包含了NET平台上的面向对象数字计算的基础类。

在线
客服
在线
QQ
电话
咨询
400-700-1020
购物车 反馈 返回
顶部
在线客服系统
live chat