开源Math.NET基础数学类库使用(02)矩阵向量计算

该文章为转载文章,原文文章地址,请点击此处

前言

 本文开始一一介绍Math.NET的几个主要子项目的相关功能的使用。今天先要介绍的是最基本Math.NET Numerics的最基本矩阵与向量计算。

1.创建Numerics矩阵与向量

矩阵与向量计算是数学计算的核心,因此也是Math.NET Numerics的核心和基础。

Math.NET包括对向量(Vector)和矩阵(Matrix)的支持,类型也很多。其主要注意点有:索引是从0开始,不支持空的向量和矩阵,也就是说维数或者长度最少为1。它也支持稀疏矩阵和非稀疏矩阵的向量类型。其矩阵有3种类型:稀疏,非稀疏,对角。这2个类在MathNet.Numerics.LinearAlgebra命名空间。由于一些技术和表示的原因,每一种数据类型都有一个实现,例如MathNet.Numerics.LinearAlgebra.Double有一个DenseMatrix类型,Matrix 是抽象类型, 要通过其他方法去初始化。可以看看源码中的定义:

public abstract partial class Vector<T> :IFormattable, IEquatable<Vector<T>>, IList, IList<T>
                                where T : struct, IEquatable<T>, IFormattable
public abstract partial class Matrix<T> :IFormattable, IEquatable<Matrix<T>> 
                                where T : struct, IEquatable<T>, IFormattable

创建也很简单,可以大概看看下面这段代码,构造函数还有更多的用法,不一一演示,要自己研究下源代码,记得要引用MathNet.Numerics.LinearAlgebra命名空间:

//初始化一个矩阵和向量的构建对象
var mb = Matrix<double>.Build;
var vb = Vector<double>.Build;

//获取随机矩阵,也可以设置随机数所属的分布
var randomMatrix = mb.Random(2,3);
//
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值