注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

III = Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

Math.NET Numerics矩阵和向量的使用(3)  

2017-05-19 17:23:26|  分类: C# & .NET |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
矩阵和向量的范数(Norm)
关于范数的详细信息,几乎所有的矩阵分析教材中都有所提及,这里有一个关于范数的介绍:
最常见的一类是p-范数,在Math.NET中有如下函数提供支持:
对于向量,L1Norm、L2Norm分别对应1-范数和2-范数,而计算p趋向于无穷大时的范数可用函数InfinityNorm,而一般化的计算范数的函数是Norm(p),其中p为一个正实数。
对于矩阵,L1Norm和L2Norm、InfinityNorm都是类似的,与Norm函数对应的则有两个:RowNorms(p)和ColumnNorms(p),此外还有一个特殊的范数:FrobeniusNorm。
另外,还可以使用Normalize函数,获取向量的单位化p-范数,与之对应的矩阵则是NormalizeRows和NormalizeColumns函数。
例如,我们最常见的求向量的范数应该是2-范数,也就是向量的内积,等于各元素平方和再开方。向量(1,2 -2)的内积应该是3:
            Vector<double> v1 = V.DenseOfArray(new double[] { 1, 2, -2 });
            Console.WriteLine(v1.L2Norm());
求和
求和与范数紧密相关。
对于向量,函数Sum计算各元素的代数和,而函数SumMagnitudes计算各元素的绝对值之和。因此:
            Vector<double> v1 = V.DenseOfArray(new double[] { 1, 2, -2 });
            Console.WriteLine(v1.Sum());
            Console.WriteLine(v1.SumMagnitudes());
这两次的输出结果分别是1和5,补充一点:SumMagnitudes函数其实和1-范数的数学定义是一致的

对于矩阵,函数RowSums和ColumnSums分别计算行和列的各元素代数和,返回值是一个向量。而与SumMagnitudes版本对应的则是RowAbsoluteSums和ColumnAbsoluteSums。
例如:
            Matrix<double> m1 = M.DenseOfRowArrays(new double[] {2, -1, 0}, new double[] { 2, 1, 2},new double[]{0,1,1}); 
            Console.WriteLine(m1.RowSums().ToVectorString());
            Console.WriteLine(m1.ColumnSums().ToVectorString());
            Console.WriteLine(m1.RowAbsoluteSums().ToVectorString());
            Console.WriteLine(m1.ColumnAbsoluteSums().ToVectorString());
输出的结果是:
Math.NET Numerics矩阵和向量的使用(3) - Lemniscate - 信息 灵感 创新
 和预期中的结果一致。
  评论这张
 
阅读(99)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017