matlab武汉理工大学数值分析线性函数拟合实验_「首席架构师推荐」数值计算库精选...

这是一个著名的数值库列表,这些库用于软件开发中执行数值计算。它不是一个完整的列表,而是一个包含Wikipedia上文章的数字库列表,很少有例外。

典型库的选择取决于一系列不同的需求,例如:期望的特性(例如:大维线性代数、并行计算、偏微分方程)、商业/开源性质、API的可读性、可移植性或平台/编译器依赖性(例如:Linux、Windows、Visual c++、GCC)、速度性能、易用性、开发人员的持续支持、标准遵从性、针对特定应用程序场景的代码的专门优化,甚至要安装的代码库的大小。

由于我们发现很少有全面的调查可用,所以在许多可能的库中几乎总是(至少最初是)有一个艰难的选择。通常情况下,它往往是由用户根据自己的品味和舒适度来决定的,只是因为缺乏适当的信息。

878dce8167eab595570c9cd1b727d5b8.png

Multi-language

  • ALGLIB是一个开源的数值分析库,可以从c++、c#、FreePascal、Delphi、VBA中使用。
  • ArrayFire是一个用于并行计算的高性能开源软件库,具有易于使用的API。
  • IMSL数值库是用C、Java、c# . net、Fortran和Python等标准编程语言实现的数值分析功能库。
  • NAG库是针对多种编程语言(C、c++、Fortran、Visual Basic、Java、Python和c#)和包(MATLAB、Excel、R、LabVIEW)的数学和统计例程的集合。
  • GNU Octave是一种开源的高级编程语言和库,包括一个命令行接口和GUI,类似于Maple、MATLAB、Mathematica等商业替代品。可以从许多平台(包括高级工程程序)调用api、函数和库,在许多情况下,函数可以像MATLAB那样无缝地解释和集成。它也可以用于批量定位。
  • librsb是一个用于高性能稀疏矩阵计算的开源库,提供多线程原语来构建迭代求解器(也实现稀疏BLAS标准)。它可以从C、c++、Fortran和专用的GNU Octave包中使用。

C

  • BLOPEX(块局部最优预处理特征值Xolvers)是一个用于特征值问题的可伸缩(并行)解决方案的开源库。
  • FFTW(西方最快的傅里叶变换)是一个计算傅里叶和相关变换的软件库。
  • GNU Scientific Library,一个流行的,用C语言实现的免费的数值分析库。
  • GNU Multi-Precision Library是一个做任意精度算术的库。
  • hypre (High Performance preconditioning)是一个用于线性系统和预处理的可伸缩(并行)解决方案的例程开源库。
  • LabWindows/CVI是一个ANSI C IDE,包括用于分析原始测量数据、信号生成、窗口、滤波函数、信号处理、线性代数、数组和复杂操作、曲线拟合和统计的内置库。
  • Lis是一个可扩展的并行库,用于求解线性方程组和特征值问题。
  • Intel MKL,英特尔数学内核库(C语言),一个为科学、工程和金融应用程序优化数学例程的库,用C/ c++和Fortran编写。核心数学函数包括BLAS、LAPACK、ScaLAPACK、稀疏求解器、快速傅里叶变换和向量数学。
  • OpenBLAS是BLAS API的一个开源实现,具有许多针对特定处理器类型的手工优化。它在Intel处理器上的性能类似于Intel MKL,在其他各种处理器上的性能更高。
  • Portable, Extensible Toolkit for Scientific Computation (PETSc) 是一套数据结构和例程,用于偏微分方程建模的科学应用程序的可伸缩(并行)解决方案。
  • SLEPc Scalable Library for Eigenvalue Problem Computations 是一个基于petsc的面向特征值问题可伸缩(并行)解决方案的开源库。

C++

3f3023a88af06019d3df036901ecc05b.png
  • Adept是一个组合自动微分和数组库。
  • Advanced Simulation Library是一个免费的开源硬件加速多物理仿真软件,具有基于opencl的内部计算引擎。
  • ALGLIB是一个开源/商用的c++版本的数值分析库
  • Armadillo是一个c++线性代数库(矩阵和向量数学),旨在在速度和易用性之间取得良好的平衡。它使用模板类,并具有指向BLAS和LAPACK的可选链接。语法(API)类似于MATLAB。
  • Blaze是一个用于密集和稀疏运算的开源高性能c++数学库。
  • Blitz c++是一个用c++编写的高性能向量数学库。
  • Boost.uBLAS。用于数值计算的uBLAS c++库
  • deal.II是一个支持所有偏微分方程有限元解的库。
  • Dlib是一个现代c++库,易于使用线性代数和优化工具,这些工具得益于优化的BLAS和LAPACK库。
  • Eigen是一个矢量数学库,其性能可与Intel的数学内核库相媲美
  • Hermes项目:c++ /Python库,用于空间和时空自适应hp-FEM求解器的快速原型设计。
  • iml++是一个用于求解线性方程组的c++库,能够处理密集、稀疏和分布式矩阵。
  • 它是一个c++库,用于线性代数(矩阵和向量)、信号处理和通信。功能类似于MATLAB和八度。
  • IT++一个用于LAPACK和BLAS的c++包装器库
  • Intel MKL,英特尔数学内核库(C和c++),一个科学,工程和金融应用程序优化数学例程库,用C/ c++和Fortran编写。核心数学函数包括BLAS、LAPACK、ScaLAPACK、稀疏求解器、快速傅里叶变换和向量数学。
  • mlpack是一个用于机器学习的开源库,它利用c++语言特性来提供最大的性能和灵活性,同时提供一个简单和一致的API
  • MTL4是一个提供稀疏和密集BLAS功能的通用c++模板库。由于通用编程,MTL4建立了一个直观的界面(类似于MATLAB)和广泛的适用性。
  • NAG库有c++ API
  • NTL是一个用于数论的c++库。
  • triinos致力于为解决大规模、复杂的多物理工程和科学问题开发算法和实现技术。它是包的集合。

Delphi

  • Analytics & Physics:用于符号和数值计算(包括符号导数)以及处理物理值和测量单位的商用Delphi库。
  • ALGLIB一个开源的数值分析库。

.NET Framework languages C#, F#, VB.NET and PowerShell

  • Accord.NET是一个科学计算库的集合,包括数值线性代数、优化、统计、人工神经网络、机器学习、信号处理和计算机视觉。LGPLv3,部分GPLv3。
  • AForge。NET是一个计算机视觉和人工智能图书馆。它实现了多种遗传、模糊逻辑和机器学习算法,并结合几种人工神经网络体系结构和相应的训练算法。LGPLv3和部分GPLv3。
  • ALGLIB是一个c#版本的开源数值分析库。双重许可:GPLv2+,商业许可。
  • ILNumerics。Net商用高性能,类型安全数字数组类和函数的一般数学,FFT和线性代数,目标。Net / mon, 32和64位,类似脚本的语法在c#, 2D和3D绘图控件,有效的内存管理。
  • IMSL数字库有c#版本(商业许可)。. net已经宣布在2020年底结束生命。
  • Math.NET Numerics 旨在为科学、工程和日常应用中的数值计算提供方法和算法。涵盖的主题包括特殊函数,线性代数,概率模型,随机数,插值,积分变换等。麻省理工学院/X11许可下的自由软件。
  • Measurement Studio是一个商业集成套件UI控件和类库,用于开发测试和测量应用程序。分析类库提供各种数字信号处理、信号过滤、信号生成、峰值检测和其他通用数学功能。
  • ML.NET是一个免费的c#编程语言机器学习库
  • NAG库有c# API。商业许可。
  • NMath by CenterSpace Software: . net平台的商业数字组件库,包括信号处理(FFT)类、线性代数(LAPACK & BLAS)框架和统计软件包。
  • Numpy.NET为NumPy提供了c#语言绑定,这是一个用于科学计算、机器学习和人工智能的基本库。[3]Numpy。NET是麻省理工学院授权的自由软件。
  • NumSharp是一个用于数据科学、机器学习和人工智能的开源N-D张量计算库,使用纯c#编写。[4] NumSharp是在Apache 2.0许可下授权的自由软件。

Fortran

  • BLAS (Basic Linear Algebra Subprograms)是一个事实上的应用程序编程接口标准,用于发布库来执行基本的线性代数操作,如向量和矩阵乘法。
  • CERNLIB是FORTRAN 77库和模块的集合。
  • EISPACK是一个用FORTRAN语言编写的矩阵特征值和特征向量数值计算的软件库。它包含计算9类矩阵特征值的子程序:复一般矩阵、复厄米矩阵、实一般矩阵、实对称矩阵、实对称带状矩阵、实对称三对角矩阵、特殊实三对角矩阵、广义实矩阵和广义实对称矩阵。
  • IMSL数值库是跨平台的库,包含一组完整的数学和统计函数,可以嵌入到用户应用程序中。
  • Harwell子例程库是Fortran 77和95代码的集合,用于解决数值分析中的核心问题。
  • LAPACK, the Linear Algebra PACKage 是一个用于数值计算的软件库,最初用FORTRAN 77编写,现在用FORTRAN 90编写。
  • LINPACK是一个用于在数字计算机上执行数字线性代数的软件库。它是由Jack Dongarra、Jim Bunch、Cleve Moler和Pete Stewart用Fortran语言编写的,在20世纪70年代和80年代早期被用于超级计算机。它在很大程度上已经被LAPACK所取代,LAPACK将在现代架构上更有效地运行。
  • Lis是一个可扩展的并行库,用于求解线性方程组和特征值问题。
  • MINPACK是一个FORTRAN子程序库,用于求解非线性方程组,或最小化一组线性或非线性方程组的残差。
  • NAG Fortran库是Fortran的数学和统计例程的集合。
  • NOVAS是一个用于天文相关数值计算的软件库。Fortran和C版本都是可用的。
  • Netlib是一个科学计算软件库,其中包含大量独立的程序和库,包括BLAS、EISPACK、LAPACK等。
  • PAW是CERN开发的一个免费数据分析包。
  • Portable, Extensible Toolkit for Scientific Computation (PETSc)是一套数据结构和例程,用于偏微分方程建模的科学应用程序的可伸缩(并行)解决方案。
  • QUADPACK是一个FORTRAN 77库,用于一维函数的数值积分
  • SLATEC是一个FORTRAN 77库,包含1400多个通用数学和统计例程。
  • SOFA是实现天文计算的官方IAU算法的子例程集合。Fortran和C版本都是可用的。
  • ARPACK是Fortran77子程序的集合,用于解决大规模特征值问题。

Java

4e1c158866fb59ba29f2947c452c2452.png
  • ND4J是一个开源库,支持n维(ND)数组,类似于NumPy。它运行在分布式gpu或cpu跨平台上,并利用Spark进行并行计算。它支持深度学习库Deeplearning4j。
  • Apache Commons是一个用于创建可重用Java组件的开源工具。它有线性代数和非线性优化的数值包。
  • Colt提供了一组用于高性能科学和技术计算的开源库。
  • Efficient Java Matrix Library (EJML) 是一个用于处理密集矩阵的开放源码线性代数库。
  • JAMA一个用于Java编程语言的数字线性代数工具包。自2005年以来没有进行过任何积极的开发,但它仍然是Java中比较流行的线性代数包之一。
  • Jblas: Linear Algebra for Java,一个线性代数库,它是一个易于使用的BLAS和LAPACK包装器。
  • Parallel Colt是一个用于科学计算的开源库。柯尔特的平行延伸。
  • Matrix Toolkit Java是一个基于BLAS和LAPACK的线性代数库。
  • ojAlgo是一个用于数学、线性代数和优化的开源Java库。
  • exp4j是一个用于计算数学表达式的小型Java库。

Scala

  • ND4S是Scala的一个科学计算库,它支持JVM上的n维数组。

Perl

  • Perl Data Language 使标准Perl能够紧凑地存储和快速地操作大型n维数据数组。

Python

  • NumPy,一个bsd授权的库,增加了对大型、多维数组和矩阵操作的支持;它还包含大量高级数学函数。NumPy是许多其他数字库的主干,尤其是SciPy。Python中矩阵/张量运算的事实标准
  • SageMath是一个大型的数学软件应用程序,它集成了近100个自由软件项目的工作,并支持线性代数、组合学、数值数学、微积分等。
  • SciPy是bsd授权的大型科学工具库。Python中科学计算的实际标准。
  • ScientificPython一个拥有不同科学工具集的库
  • SymPy,一个基于新的BSD许可证的符号计算库。辛普森的特征从基本符号算术到微积分、代数、离散数学和量子物理都有。

Others

  • XNUMBERS -用于Microsoft Excel的多精度浮点计算和数值方法。
  • INTLAB用于MATLAB的区间算术库。

另请参阅

  • 计算机代数系统比较
  • 数值分析软件比较
  • 绘图软件列表
  • 数值分析软件列表
  • 优化软件清单
  • 统计软件包清单

原文:https://en.wikipedia.org/wiki/List_of_numerical_libraries

本文:https://pub.intelligentx.net/wikipedia-list-numerical-libraries

讨论:请加入知识星球或者小红圈【首席架构师圈】

麻烦各位道友为我投票,点击【为我投票】按钮。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSONP跨域原理和jQuery.getJSON用法

JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。本文主要介绍JSONP跨域原理,一起来看。 JSONP是一个非官方的协议&…

串口输出5v电压_为什么RS485比串口速度快距离远?--谈单端信号与差分信号之差异...

嵌入式系统中,串口、RS485、CAN、网络和USB等都是非常常用的通信方式。但是串口通信速度慢,距离近,为什么转换成RS485后,通信距离和速度都大幅提高了呢?USB也是近距离,为什么速度可以这么快?原因…

IIS7.0站点/虚拟目录中访问共享

目的:实现一个2008serve的IIS的虚拟目录(通过网络路径(UNC)的形式,共享在另外一个2008服务器上) 准备工作1.运行组策略编辑器(gpedit.msc);找到本地安全策略-本地策略-安…

易语言操作php文本文件,易语言对文本操作的步骤教学

在易语言编程中,我们往往需要对一些文字进行截取或分割出来,如何准确、快速的实现这一目标呢?下面笔者来为大家演示1、首先,我们打开易语言编程软件,点击左上角,新建一个文件,如图所示2、我们点…

xxl-job 执行结果是空_xxljob dotnet core executor执行器开源

DotXxlJob[(github)https://github.com/xuanye/DotXxlJob][https://github.com/xuanye/DotXxlJob] xxl-job的dotnet core 执行器实现,支持XXL-JOB 2.01 XXL-JOB概述[XXL-JOB][1]是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量…

php5.4 windows2003,PHP实战:Windows2003下php5.4安装配置教程(IIS)

《PHP实战:Windows2003下php5.4安装配置教程(IIS)》要点:本文介绍了PHP实战:Windows2003下php5.4安装配置教程(IIS),希望对您有用。如果有疑问,可以联系我们。PHP教程一、在Windows2003安装IISPHP教程1、首先打开Windo…

foxmail 怎么把邮件格式默认为html_Python SMTP发送邮件-smtplib模块

在进入正题之前,我们需要对一些基本内容有所了解:常用的电子邮件协议有SMTP、POP3、IMAP4,它们都隶属于TCP/IP协议簇,默认状态下,分别通过TCP端口25、110和143建立连接。Python内置对SMTP的支持,该协议支持…

Qt creator工程项目移植时因环境变换造成qmake错误的解决方案

1.问题描述:移植从他机上的qt工程项目,打开时提示: Qt Creator找到了一个由其他开发环境创建的设置文件,或许是来自于其他机器的。用户设置文件包含了特定的环境设定,它不应当被复制到其他应用环境中去。 你仍然想载入…

leftjoin多表联合查询_leetcode-sql练习精讲系列文章——一、多表如何连接

这是一个系列文章,涵盖了SQL最常用的知识点。题目来自于leetcode的sql题,文章列出了问题-完整解析-答案-知识点拓展-BAT等大厂面试真题。希望能帮你全方位的弄懂。有问题可以留言,码字不易,写一篇要好几个小时,希望能得…

噪声调频 matlab,如何用matlab编写噪声调频干扰信号

2013-11-01qsort函数怎么编?qsort,包含在stdlib。h头文件里,函数一共四个参数,没返回值。一个典型的qsort的写法如下qsort(s,n,sizeof(s[0]),cmp);其中第一个参数是参与排序的数组名(或者也可以理解成开始排序的地址,因为可以写&s[i]这样的表达式);第二个参数是…

简明Python3教程 16.标准库

简介 python标准库作为python标准安装的一部分,其自身包含数量庞大的实用模块, 因此熟悉python标准库非常重要,因为很多问题都能利用python标准库快速解决。 下面我们将研究标准库中的一些常用模块。完整的标准库模块列表可以在安装python时附…

php中的address,html中address是什么意思?(代码示例)

本篇文章主要介绍了关于address标签用法。或许有些朋友对于address标签有点陌生,也会产生address是什么意思的疑问,毕竟在我们日常建站过程中,很少会用到这个标签。但是俗话说,存在即合理。html里每一个标签都有他自己的定义和用处…

存储过程没有执行完后没有释放锁_面试必问---synchronized实现原理及锁升级过程你懂吗?...

synchronized实现原理及锁升级过程前言:synchronized是Java内置的机制,是JVM层面的,而Lock则是接口,是JDK层面的尽管最初synchronized的性能效率比较差,但是随着版本的升级,synchronized已经变得原来越强大了,本文带大…

Hibernate C3P0连接池配置

本文向大家介绍Hibernate C3P0连接池,可能好多人还不了解Hibernate C3P0连接池,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。 Hibernate自带的连接池算法相当不成熟。 它只是为了让你快些上手,并不适…

怎样在vs中监视char*字符串_字符串指针数据类型

一、前言在实际开发中,特别是芯片开发中,例如智能传感器芯片,经常直接使用C语言指针数据类型来操作寄存器。那么字符串指针就是我们常见的操作。C语言没有单独的字符串对象,它是通过数组的形式来表示字符串的:#include…

mac json格式化工具_一个在 MAC 上 iOS/Flutter 开发的辅助工具

大家好,我是章鱼猫。今天给大家推荐的这个开源项目,是来自于我们公众号读者的投稿,这个东西还挺好的。如果你作为读者,也有自己的开源项目或者你也有想推荐的开源项目,都可以向我们投稿,我们就是致力于帮助…

php转换图片属性a,PHP 提取图片img标记中的任意属性

/* PHP正则提取图片img标记中的任意属性 */$str PHP正则提取或更改图片img标记中的任意属性;//1、取整个图片代码preg_match(/]*?src\s*\s*(\|\")(.*?)\\1[^>]*?\/?\s*>/i,$str,$match);echo $match[0];//2、取width属性preg_match(//i,$str,$match);echo $mat…

卡巴斯基授权许可文件_制片方未提供电视台授权证明,构成根本违约吗?

在制作娱乐法101课程的过程中,需要检索很多案例,有时候也也看到一些似乎不太合理的判决书。在一起电视播映权纠纷中,合同中一般会常规约定制作方需要向电视台提交确保其在合同授权区域、授权范围、授权期限内具有合法播映权的证明文件的合同义…

月头月尾oracle取数,Oracle分析函数Over()的使用

今天为完成客户成品仓盘点的统计功能,做了盘点统计表,这个功能有点复杂,要将生产数据与库存的差异做成一个统计报表,报表要反映出差异的明细。其实,这个项目拖了也挺久了,本来客户计划用于2018年终盘点&…