当前位置: 首页 > news >正文

ILNumerics项目的应用之线性方程

      ILNumerics是一个开源的数值项目,一种NET框架的高性能数学库,它简化了各种数学算法的使用,优化到了C和FORTRAN的速度。现在它提供了一个支持“任何CPU”的NuGet包。它的独立版本ILView,已经宣布支持REPL的3D可视化工具,可以运行在.NET/Windows和Mono/Linux环境里。支持线性方程计算,数值计算,机器学习。
      NumericalAlgorithms

      在Visual Studio中可以通过NuGet安装:

PM> Install-Package ILNumerics

      下面我们演示如何解三阶线性方程:

      linerEquation1

       对应的Demo代码是这样的:

        /// <summary>
        /// Sovle the 3x3 matrix.
        /// </summary>
        /// <remarks>http://wintersun.cnblogs.com/</remarks>
        /// <seealso cref="http://ilnumerics.net/apidoc/Index.html"/>
        /// <seealso cref="http://ilnumerics.net/GetStarted.html"/>
        /// <seealso cref="http://ilnumerics.net/quickstart.html"/>
        private static void Sovle3X3Matrix()
        {
            // construct 3 x 3 matrix, upper triagonal
            ILArray<double> A = ILMath.zeros(3, 3);
            A["0;:"] = new double[] { 1, -1, -1 };
            A["1;:"] = new double[] { 2, -1, -3 };
            A["2;:"] = new double[] { 3, 2, -5 };
 
            // now construct a right side - a vector counting from 1: 
            ILArray<double> B = new double[] { 2, 1, 0 };
            ILArray<double> x = ILMath.linsolve(A, B);
 
            // lets check if the result really solves our equation 
            ILArray<double> bTest = ILMath.multiply(A, x);
 
            Console.Out.WriteLine("A: " + Environment.NewLine + A.ToString());
            Console.Out.WriteLine("B: " + Environment.NewLine + B.ToString());
            Console.Out.WriteLine("x: " + Environment.NewLine + x.ToString());
            Console.Out.WriteLine("bTest: " + Environment.NewLine + bTest.ToString());
        } 

         输出的代码是这样的:

A:
<Double> [3,3]
         1         -1         -1
         2         -1         -3
         3          2         -5
B:
<Double> [3,1]
         2
         1
         0
x:
<Double> [3,1]
   5.00000
   0.00000
   3.00000
bTest:
<Double> [3,1]
   2.00000
         1
   0.00000

 

x对象是结果或解,bTest对象我们做验算。

更多可以参考:

http://ilnumerics.net/GetStarted.html


还有《白皮书--行业数值运算》 包括:

■ 数值算法和软件开发
■ ILNumerics的优势
■ 案例研究
■ 结论
■ 附录1:ILNumerics语法
■ 附录2:洞察 - ILNumerics内存管理

 

希望对您程序开发有帮助。


作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。

转载于:https://www.cnblogs.com/wintersun/p/3390701.html

相关文章:

  • 怎样防止jdk出现版本不一致而导致控制台或Tomcat的出错?
  • Novikoff定理
  • 面试,我薪水要低了——Leo网上答疑45
  • POJ 3253 Fence Repair 优先队列
  • 死机后ie不能执行脚本
  • 解决浮动元素不在一行
  • oracle性能学习中总结
  • 《iPhone iPad 开发实战》已由海洋出版社出版
  • 数据库定义语言
  • iPhone开发中混用objc,c,c++的一些问题
  • 第二章数据和判定
  • Android中ViewGroup等容器控件的使用
  • 软考--数据通信与网络基础
  • shell--字符串比较,整数比较,文件比较
  • SQL查询有关 sql_variant 值的基本数据类型和其他信息
  • 10个确保微服务与容器安全的最佳实践
  • 2019.2.20 c++ 知识梳理
  • DOM的那些事
  • Python_OOP
  • python学习笔记 - ThreadLocal
  • spark本地环境的搭建到运行第一个spark程序
  • SpiderData 2019年2月23日 DApp数据排行榜
  • TypeScript实现数据结构(一)栈,队列,链表
  • 从0到1:PostCSS 插件开发最佳实践
  • 从0实现一个tiny react(三)生命周期
  • 使用 QuickBI 搭建酷炫可视化分析
  • 说说动画卡顿的解决方案
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 携程小程序初体验
  • 鱼骨图 - 如何绘制?
  • 主流的CSS水平和垂直居中技术大全
  • 做一名精致的JavaScripter 01:JavaScript简介
  • (ZT)薛涌:谈贫说富
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (编译到47%失败)to be deleted
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (六)Hibernate的二级缓存
  • (三)c52学习之旅-点亮LED灯
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (转)socket Aio demo
  • .net(C#)中String.Format如何使用
  • .NET是什么
  • @angular/cli项目构建--http(2)
  • @property python知乎_Python3基础之:property
  • @基于大模型的旅游路线推荐方案
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • []我的函数库
  • [C#]winform使用引导APSF和梯度自适应卷积增强夜间雾图像的可见性算法实现夜间雾霾图像的可见度增强
  • [C#]猫叫人醒老鼠跑 C#的委托及事件
  • [C++]18:set和map的使用
  • [Go WebSocket] 多房间的聊天室(五)用多个小锁代替大锁,提高效率
  • [ios] IOS文件操作的两种方式:NSFileManager操作和流操作【转】
  • [Linux]使用CentOS镜像与rpm来安装虚拟机软件
  • [Linux]文件基础-如何管理文件
  • [MZ test.16]P2 math 乘方e