常见的C++数学计算库

文章描述:-2022年3月30日发(作者:田家英)常见的C++数学计算库作为理⼯科学⽣,想必有限元分析、数值计算、三维建模、信号处理、性能分析、仿真分析。。。这些或多或少与我们常⽤的软件息息相关,假如有⼀天你只需要这些⼤型软件系统的某⼀个很有限的功能,你是不是也要因此再⽤⼀⽤那动辄⼏个g的软件呢?其实我觉得如果系统不是很⼤,不是很复杂,我们个⼈完全有可能⾃⼰去编写代码来实现这些‘’有限的功能‘’。别以为这是

-

常见的C++数学计算库2022年3月30日发(作者:田家英)


常见的C++数学计算库
作为理⼯科学⽣,想必有限元分析、数值计算、三维建模、信号处理、性能分析、仿真分析。。。这些或多或少与我们常⽤的软件息息相
关,假如有⼀天你只需要这些⼤型软件系统的某⼀个很有限的功能,你是不是也要因此再⽤⼀⽤那动辄⼏个g的软件呢?其实我觉得如果系
统不是很⼤,不是很复杂,我们个⼈完全有可能⾃⼰去编写代码来实现这些‘’有限的功能‘’。别以为这是件很困难的事情,我总以为⼤
学期间学的c语⾔是极其有⽤的,只要你会基本的c语⾔语法,你就可以的。
下⾯我来介绍⼏个⾮常有益的cc++数学计算库,他们基本上都是开源的,你完全不必担⼼版权问题,他们都是⼀些⾃由软件,你要做的仅仅是仔细阅读他们的
授权协议确保不要滥⽤就可以了:
计算⼏何算法库 CGAL
CGAL ,计算⼏何算法库,是⼀个⼤型C + +库的⼏何数据结构和算法,如Delaunay三⾓⽹,⽹格⽣成,布尔运算的多边形,以及各种⼏
何处理算法。 CGAL是⽤来在各个领域:计算机图形学,科学可视化,计算机辅助设计与建模,地理信息系统,分⼦⽣物学,医学影像学,
机器⼈学和运动规划,和数值⽅法。
下载⽹址
数学软件包 Octave
Octave 是⼀个类似matlab和Scilab的数学软件包,可以进⾏各种运算,编程。它还有丰富的C++接⼝可以让⽤户编程时调⽤。它绘图使⽤
gnuplot。
Octave的使⽤也是基于字符终端模式的,当需要绘图时,将会调⽤Gnuplot进⾏数据绘图,并显⽰出来。
Octave是⽤C++编写的,它内容丰富的库也可以供⽤户在编写软件时调⽤。Octave库的详细介绍在usrsharedococtave-
2.1.50liboctave下,⽂件是,需要PDF⽂件的,可以运⾏:
dvipdfm
将dvi⽂件转换为PDF⽂件。
Octave同时还⽀持Fortran等的调⽤,GSL绑定等。可以由⽤户定制⾃⼰的函数、⼦程序等。
下载地址
C++ 数学计算库 Too
Too 是⼀个C++ 数学计算库,其⽬的是有效运作的⼤量⼩型矩阵,并提供⽅便⼀些算法包括矩阵分解和优化。
下载地址
有限元分析软件 OpenFEM
有限元分析,即使⽤有限元⽅法来分析静态或动态的物体或系统。在这种⽅法中⼀个物体或系统被分解为由多个相互联结的、简单、独⽴的
点组成的⼏何模型。在这 种⽅法中这些独⽴的点的数量是有限的,因此被称为有限元。由实际的物理模型中推导出来得平衡⽅程式被使⽤
到每个点上,由此产⽣了⼀个⽅程组。这个⽅程组可 以⽤线性代数的⽅法来求解。有限元分析的精确度⽆法⽆限提⾼。元的数⽬到达⼀定
⾼度后解的精确度不再提⾼,只有计算时间不断提⾼。
下载地址
有限元计算框架 OOFEM
OOFEM 是⼀个开源多物理并⾏有限元程序的⾯向对象的架构。这个项⽬的⽬的是提供⾼效率和强⼤的有限元计算⼯具,以及提供⾼度模块
化和可扩展性的发展环境。有限元分析通常借助计算机软件完成,著名⼯程软件有:n、ADIA、LS-DYA、ASYS、
ABAQUS、2D-sigma等。
下载地址
C++符号计算库 GiaC
GiaC(GiaC 不是⼀个 CAS 计算机代数系统))是⼀个⽤于符号计算的C++库。它的设计允许集成系统创造,象征性的操作嵌⼊与更
成熟的计算机科学(如计算密集型,图形界⾯等),数字应⽤领域。相对于其他情况下,它不会尝试代数提供⼴泛的功能和简单的编程语
⾔,⽽是接受⼀个给定语⾔(C + +)和扩展了代数功能设置。
下载地址
类C的数学专⽤语⾔EngLab
EngLab是⼀个类C的数学专⽤语⾔。它语法简单,关键字很少,⼯程师和那些只会少许编程知识的⼈便能很好的掌握。
下载地址
C++信号处理库 SP++
TSPL(Template Signal Processing Library) 是⼀个 C++ 的信号处理库,主要包括滤波器设计、时频分析和⼩波变换,同时还包含⼀些
关于向量和矩阵的基本算法,所有的算法基于 C++ 模板类编写⽽成。
下载地址
偏微分⽅程求解⼯具箱 DUE(⽬前还不⽀持windows系统)
DUE (Distributed and Unified umerics Environment),分布和统⼀数值解环境,是⼀种求解偏微分⽅程的基于⽹格的⽅法(PDE)
的模块化的⼯具箱。DUE是所有这些体现了科学计算的概念从抽象的接⼝设置第⼀次。现代C + +编程技术使同样的概念⾮常不同的实现
使⽤⼀个⾮常低的开销⼀个共同的接⼝。因此,DUE确保在科学计算的效率,并⽀持⾼性能计算应⽤。
下载地址


下载地址
⼈⼯智能应⽤框架 Into
Into 是⼀个⽤ C++ 开发的跨平台的机器智能应⽤框架。Into 提供⼀种不同于其他的、快速的⽅法⽤以构建⾼性能图像分析、机器视觉效
果、模式识别和⼈⼯智能应⽤。分层的 API ⼀起超过 20 个完全可互操作的插⼊式模块⽤来访问图像和各种数据源等。
下载地址
⾼性能计算软件⼯具包 DAKOTA
DAKOTA (Design Analysis Kit for Optimization and Terascale Applicati) 是⼀种⽤于执⾏系统的分析和⾼性能计算机的设计通⽤
软件⼯具包。它提供了设计优化,不确定性量化,参数估计,实验设计,灵敏度分析,以及连接服务的计算和模拟的并⾏算法范围。
下载地址
线性算术的C++模板库 Eigen
Eigen 是⼀个线性算术的C++模板库,包括:vectors, matrices, 以及相关算法。功能强⼤、快速、优雅以及⽀持多平台。
下载地址
多精度整数和有理数 MPIR
MPIR 是⼀个开源的多精度的整数和有理数计算库,基于 GMP 库开发。
下载地址
CC++数值计算库 mygsl
mygsl是⼀个基于GSL库的个性化开源数值计算项⽬.
该类库提供了关于数学计算的很多⽅⾯,包括:Complex umbers Roots of Polynomials
Special Functi Vectors and Matrices
Permutati Sorting
BLAS Support Linear Algebra
Eigensystems Fast Fourier Transforms
Quadrature Random umbers
Quasi-Random Sequences Random Distributi
Statistics Histograms
-Tuples Monte Carlo Integration
Simulated Annealing Differential Equati
Interpolation umerical Differentiation
Chebyshev Approximation Series Acceleration
Discrete Hankel Transforms Root-Finding
Minimization Least-Squares Fitting
Physical Ctants IEEE Floating-Point
Discrete Wavelet Transforms Basis splines
下载地址
差不多我所知道的就这些了,其实本⽂主要参考的是开源中国社区公布的⼀些项⽬,我所做的仅仅是整理⼀下呈现给⼤家,希望对⼤家在以
后的学习、⼯作有所帮助。在内⼼深处⾥,我其实很想某⼀天⽤着⽐较⽜逼的这⽅⾯的国产软件,只是不知道会在什么时候。不想带着⼀种
⽤盗版xp 、office,盗版ug,盗版ansys,盗版GT,盗版AMESim,盗版matlab。。。原来我电脑⾥装的全是盗版,有时候觉得这是⼀
种多么可笑的事情,可是⼜没有什么办法。也许,从这⼀刻开始,我们带着⼀种新的理念,多少年后这种情况会得到改观。
话⼜说多了···


常见的C++数学计算库
作为理⼯科学⽣,想必有限元分析、数值计算、三维建模、信号处理、性能分析、仿真分析。。。这些或多或少与我们常⽤的软件息息相
关,假如有⼀天你只需要这些⼤型软件系统的某⼀个很有限的功能,你是不是也要因此再⽤⼀⽤那动辄⼏个g的软件呢?其实我觉得如果系
统不是很⼤,不是很复杂,我们个⼈完全有可能⾃⼰去编写代码来实现这些‘’有限的功能‘’。别以为这是件很困难的事情,我总以为⼤
学期间学的c语⾔是极其有⽤的,只要你会基本的c语⾔语法,你就可以的。
下⾯我来介绍⼏个⾮常有益的cc++数学计算库,他们基本上都是开源的,你完全不必担⼼版权问题,他们都是⼀些⾃由软件,你要做的仅仅是仔细阅读他们的
授权协议确保不要滥⽤就可以了:
计算⼏何算法库 CGAL
CGAL ,计算⼏何算法库,是⼀个⼤型C + +库的⼏何数据结构和算法,如Delaunay三⾓⽹,⽹格⽣成,布尔运算的多边形,以及各种⼏
何处理算法。 CGAL是⽤来在各个领域:计算机图形学,科学可视化,计算机辅助设计与建模,地理信息系统,分⼦⽣物学,医学影像学,
机器⼈学和运动规划,和数值⽅法。
下载⽹址
数学软件包 Octave
Octave 是⼀个类似matlab和Scilab的数学软件包,可以进⾏各种运算,编程。它还有丰富的C++接⼝可以让⽤户编程时调⽤。它绘图使⽤
gnuplot。
Octave的使⽤也是基于字符终端模式的,当需要绘图时,将会调⽤Gnuplot进⾏数据绘图,并显⽰出来。
Octave是⽤C++编写的,它内容丰富的库也可以供⽤户在编写软件时调⽤。Octave库的详细介绍在usrsharedococtave-
2.1.50liboctave下,⽂件是,需要PDF⽂件的,可以运⾏:
dvipdfm
将dvi⽂件转换为PDF⽂件。
Octave同时还⽀持Fortran等的调⽤,GSL绑定等。可以由⽤户定制⾃⼰的函数、⼦程序等。
下载地址
C++ 数学计算库 Too
Too 是⼀个C++ 数学计算库,其⽬的是有效运作的⼤量⼩型矩阵,并提供⽅便⼀些算法包括矩阵分解和优化。
下载地址
有限元分析软件 OpenFEM
有限元分析,即使⽤有限元⽅法来分析静态或动态的物体或系统。在这种⽅法中⼀个物体或系统被分解为由多个相互联结的、简单、独⽴的
点组成的⼏何模型。在这 种⽅法中这些独⽴的点的数量是有限的,因此被称为有限元。由实际的物理模型中推导出来得平衡⽅程式被使⽤
到每个点上,由此产⽣了⼀个⽅程组。这个⽅程组可 以⽤线性代数的⽅法来求解。有限元分析的精确度⽆法⽆限提⾼。元的数⽬到达⼀定
⾼度后解的精确度不再提⾼,只有计算时间不断提⾼。
下载地址
有限元计算框架 OOFEM
OOFEM 是⼀个开源多物理并⾏有限元程序的⾯向对象的架构。这个项⽬的⽬的是提供⾼效率和强⼤的有限元计算⼯具,以及提供⾼度模块
化和可扩展性的发展环境。有限元分析通常借助计算机软件完成,著名⼯程软件有:n、ADIA、LS-DYA、ASYS、
ABAQUS、2D-sigma等。
下载地址
C++符号计算库 GiaC
GiaC(GiaC 不是⼀个 CAS 计算机代数系统))是⼀个⽤于符号计算的C++库。它的设计允许集成系统创造,象征性的操作嵌⼊与更
成熟的计算机科学(如计算密集型,图形界⾯等),数字应⽤领域。相对于其他情况下,它不会尝试代数提供⼴泛的功能和简单的编程语
⾔,⽽是接受⼀个给定语⾔(C + +)和扩展了代数功能设置。
下载地址
类C的数学专⽤语⾔EngLab
EngLab是⼀个类C的数学专⽤语⾔。它语法简单,关键字很少,⼯程师和那些只会少许编程知识的⼈便能很好的掌握。
下载地址
C++信号处理库 SP++
TSPL(Template Signal Processing Library) 是⼀个 C++ 的信号处理库,主要包括滤波器设计、时频分析和⼩波变换,同时还包含⼀些
关于向量和矩阵的基本算法,所有的算法基于 C++ 模板类编写⽽成。
下载地址
偏微分⽅程求解⼯具箱 DUE(⽬前还不⽀持windows系统)
DUE (Distributed and Unified umerics Environment),分布和统⼀数值解环境,是⼀种求解偏微分⽅程的基于⽹格的⽅法(PDE)
的模块化的⼯具箱。DUE是所有这些体现了科学计算的概念从抽象的接⼝设置第⼀次。现代C + +编程技术使同样的概念⾮常不同的实现
使⽤⼀个⾮常低的开销⼀个共同的接⼝。因此,DUE确保在科学计算的效率,并⽀持⾼性能计算应⽤。
下载地址


下载地址
⼈⼯智能应⽤框架 Into
Into 是⼀个⽤ C++ 开发的跨平台的机器智能应⽤框架。Into 提供⼀种不同于其他的、快速的⽅法⽤以构建⾼性能图像分析、机器视觉效
果、模式识别和⼈⼯智能应⽤。分层的 API ⼀起超过 20 个完全可互操作的插⼊式模块⽤来访问图像和各种数据源等。
下载地址
⾼性能计算软件⼯具包 DAKOTA
DAKOTA (Design Analysis Kit for Optimization and Terascale Applicati) 是⼀种⽤于执⾏系统的分析和⾼性能计算机的设计通⽤
软件⼯具包。它提供了设计优化,不确定性量化,参数估计,实验设计,灵敏度分析,以及连接服务的计算和模拟的并⾏算法范围。
下载地址
线性算术的C++模板库 Eigen
Eigen 是⼀个线性算术的C++模板库,包括:vectors, matrices, 以及相关算法。功能强⼤、快速、优雅以及⽀持多平台。
下载地址
多精度整数和有理数 MPIR
MPIR 是⼀个开源的多精度的整数和有理数计算库,基于 GMP 库开发。
下载地址
CC++数值计算库 mygsl
mygsl是⼀个基于GSL库的个性化开源数值计算项⽬.
该类库提供了关于数学计算的很多⽅⾯,包括:Complex umbers Roots of Polynomials
Special Functi Vectors and Matrices
Permutati Sorting
BLAS Support Linear Algebra
Eigensystems Fast Fourier Transforms
Quadrature Random umbers
Quasi-Random Sequences Random Distributi
Statistics Histograms
-Tuples Monte Carlo Integration
Simulated Annealing Differential Equati
Interpolation umerical Differentiation
Chebyshev Approximation Series Acceleration
Discrete Hankel Transforms Root-Finding
Minimization Least-Squares Fitting
Physical Ctants IEEE Floating-Point
Discrete Wavelet Transforms Basis splines
下载地址
差不多我所知道的就这些了,其实本⽂主要参考的是开源中国社区公布的⼀些项⽬,我所做的仅仅是整理⼀下呈现给⼤家,希望对⼤家在以
后的学习、⼯作有所帮助。在内⼼深处⾥,我其实很想某⼀天⽤着⽐较⽜逼的这⽅⾯的国产软件,只是不知道会在什么时候。不想带着⼀种
⽤盗版xp 、office,盗版ug,盗版ansys,盗版GT,盗版AMESim,盗版matlab。。。原来我电脑⾥装的全是盗版,有时候觉得这是⼀
种多么可笑的事情,可是⼜没有什么办法。也许,从这⼀刻开始,我们带着⼀种新的理念,多少年后这种情况会得到改观。
话⼜说多了···

-

常见的C++数学计算库

发布时间:2022-03-30 03:31:05
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 16 条评论,225人围观)

最近发表

随便看看

热门文章

标签列表