C/C++,java开源数学计算库
有限元分析、数值计算、三维建模、信号处理、性能分析、仿真分析。。。这些或多或少与我们常用的软件息息相关,假如有一天你只需要这些大型软件系统的某一个很有限的功能,你是不是也要因此再用一用那动辄几个g的软件呢?其实我觉得如果系统不是很大,不是很复杂,我们个人完全有可能自己去编写代码来实现这些‘’有限的功能‘’。别以为这是件很困难的事情,我总以为大学期间学的c语言是极其有用的,只要你会基本的c语言语法,你就可以的。
下面我来介绍几个非常有益的c/c++数学计算库,他们基本上都是开源的,你完全不必担心版权问题,他们都是一些自由软件,你要做的仅仅是仔细阅读他们的授权协议确保不要滥用就可以了:
计算几何算法库 CGAL CGAL ,计算几何算法库,是一个大型C + +库的几何数据结构和算法,如Delaunay三角网,网格生成,布尔运算的多边形,以及各种几何处理算法。 CGAL是用来在各个领域:计算机图形学,科学可视化,计算机辅助设计与建模,地理信息系统,分子生物学,医学影像学,机器人学和运动规划,和数值方法。 下载网址 http://www.cgal.org/download.html
数学软件包 Octave Octave 是一个类似matlab和Scilab的数学软件包,可以进行各种运算,编程。它还有丰富的C++接口可以让用户编程时调用。它绘图使用gnuplot。 Octave的使用也是基于字符终端模式的,当需要绘图时,将会调用Gnuplot进行数据绘图,并显示出来。 Octave是用C++编写的,它内容丰富的库也可以供用户在编写软件时调用。Octave库的详细介绍在/usr/share/doc/octave-2.1.50/liboctave下,文件是liboctave.dvi,需要PDF文件的,可以运行: dvipdfm liboctave.dvi 将dvi文件转换为PDF文件。 Octave同时还支持Fortran等的调用,GSL绑定等。可以由用户定制自己的函数、子程序等。 下载地址 http://octave.sourceforge.net/packages.html C++ 数学计算库 TooN TooN 是一个C++ 数学计算库,其目的是有效运作的大量小型矩阵,并提供方便一些算法包括矩阵分解和优化。 下载地址http://mi.eng.cam.ac.uk/~er258/cvd/toon/html-user/index.html
有限元分析软件 OpenFEM 有限元分析,即使用有限元方法来分析静态或动态的物体或系统。在这种方法中一个物体或系统被分解为由多个相互联结的、简单、独立的点组成的几何模型。在这 种方法中这些独立的点的数量是有限的,因此被称为有限元。由实际的物理模型中推导出来得平衡方程式被使用到每个点上,由此产生了一个方程组。这个方程组可 以用线性代数的方法来求解。有限元分析的精确度无法无限提高。元的数目到达一定高度后解的精确度不再提高,只有计算时间不断提高。 下载地址 http://sourceforge.net/projects/openfem/files/
有限元计算框架 OOFEM OOFEM 是一个开源多物理并行有限元程序的面向对象的架构。这个项目的目的是提供高效率和强大的有限元计算工具,以及提供高度模块化和可扩展性的发展环境。有限元分析通常借助计算机软件完成,著名工程软件有:MSC.Nastran、ADINA、LS-DYNA、ANSYS、ABAQUS、2D-sigma等。 下载地址 http://www.oofem.org/en/download/download.html
C++符号计算库 GiNaC GiNaC(GiNaC 不是一个 CAS 计算机代数系统))是一个用于符号计算的C++库。它的设计允许集成系统创造,象征性的操作嵌入与更成熟的计算机科学(如计算密集型,图形界面等),数字应用领域。相对于其他情况下,它不会尝试代数提供广泛的功能和简单的编程语言,而是接受一个给定语言(C + +)和扩展了代数功能设置。 下载地址 http://www.ginac.de/Download.html
类C的数学专用语言EngLab EngLab是一个类C的数学专用语言。它语法简单,关键字很少,工程师和那些只会少许编程知识的人便能很好的掌握。 下载地址http://sourceforge.net/projects/englab/files/
C++信号处理库 SP++ TSPL(Template Signal Processing Library) 是一个 C++ 的信号处理库,主要包括滤波器设计、时频分析和小波变换,同时还包含一些关于向量和矩阵的基本算法,所有的算法基于 C++ 模板类编写而成。 下载地址http://code.google.com/p/tspl/downloads/list
偏微分方程求解工具箱 DUNE(目前还不支持windows系统) DUNE (Distributed and Unified Numerics Environment),分布和统一数值解环境,是一种求解偏微分方程的基于网格的方法(PDE)的模块化的工具箱。DUNE是所有这些体现了科学计算的概念从抽象的接口设置第一次。现代C + +编程技术使同样的概念非常不同的实现使用一个非常低的开销一个共同的接口。因此,DUNE确保在科学计算的效率,并支持高性能计算应用。 下载地址http://www.dune-project.org/download.html
人工智能应用框架 Into Into 是一个用 C++ 开发的跨平台的机器智能应用框架。Into 提供一种不同于其他的、快速的方法用以构建高性能图像分析、机器视觉效果、模式识别和人工智能应用。分层的 API 一起超过 20 个完全可互操作的插入式模块用来访问图像和各种数据源等。 下载地址http://intopii.com/into/
高性能计算软件工具包 DAKOTA DAKOTA (Design Analysis Kit for Optimization and Terascale Applications) 是一种用于执行系统的分析和高性能计算机的设计通用软件工具包。它提供了设计优化,不确定性量化,参数估计,实验设计,灵敏度分析,以及连接服务的计算和模拟的并行算法范围。 下载地址http://www.cs.sandia.gov/DAKOTA/download.html
线性算术的C++模板库 Eigen Eigen 是一个线性算术的C++模板库,包括:vectors, matrices, 以及相关算法。功能强大、快速、优雅以及支持多平台。 下载地址 http://bitbucket.org/eigen/eigen/downloads/
多精度整数和有理数 MPIR MPIR 是一个开源的多精度的整数和有理数计算库,基于 GMP 库开发。 下载地址http://www.mpir.org/mpir-1.3.1.tar.gz
C/C++数值计算库 mygsl mygsl是一个基于GSL库的个性化开源数值计算项目. 该类库提供了关于数学计算的很多方面,包括:Complex Numbers Roots of Polynomials Special Functions Vectors and Matrices Permutations Sorting BLAS Support Linear Algebra Eigensystems Fast Fourier Transforms Quadrature Random Numbers Quasi-Random Sequences Random Distributions Statistics Histograms N-Tuples Monte Carlo Integration Simulated Annealing Differential Equations Interpolation Numerical Differentiation Chebyshev Approximation Series Acceleration Discrete Hankel Transforms Root-Finding Minimization Least-Squares Fitting Physical Constants IEEE Floating-Point Discrete Wavelet Transforms Basis splines
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
C/C++,java开源数学计算库的更多相关文章
- 理工科应该的知道的C/C++数学计算库(转)
理工科应该的知道的C/C++数学计算库(转) 作为理工科学生,想必有限元分析.数值计算.三维建模.信号处理.性能分析.仿真分析...这些或多或少与我们常用的软件息息相关,假如有一天你只需要这些大型软件 ...
- 常见的C++数学计算库
来源: https://blog.csdn.net/panhao762/article/details/55276811 作为理工科学生,想必有限元分析.数值计算.三维建模.信号处理.性能分析.仿真分 ...
- java开源时间/日期库Joda-Time
任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.使用 JDK 完成这项任务将非常痛苦和繁琐.现在来看看 Joda Time,一 ...
- Java开源JSP标签库
01displytag 与Struts结合使用最出名的一个tag主要是显示表格数据很漂亮.完善. 02cewolf tag 用来在web上显示复杂图形报表的一个jsp tag. 03Loading T ...
- Java中数学计算的相关方法
1:Math类 2.BigInteger类 3.BigDecimal类 BigInteger bi = new BigInteger("12433241123"); BigDec ...
- Java开源项目(备查)
转自:http://www.blogjava.net/Carter0618/archive/2008/08/11/221222.html Spring Framework [Java开源 J2EE框 ...
- 别在重复造轮子了,几个值得应用到项目中的 Java 开源库送给你
我是风筝,公众号「古时的风筝」.文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面.公众号回复『666』获取高清大图. 风筝我作为一个野路子开发者,直到 ...
- GitHub上那些值得一试的JAVA开源库--转
原文地址:http://www.jianshu.com/p/ad40e6dd3789 作为一名程序员,你几乎每天都会使用到GitHub上的那些著名Java第三方库,比如Apache Commons,S ...
- GitHub上那些值得一试的JAVA开源库
作为一名程序员,你几乎每天都会使用到GitHub上的那些著名Java第三方库,比如Apache Commons,Spring,Hibernate等等.除了这些,你可能还会fork或Star一些其他的开 ...
随机推荐
- 【Luogu】P3177树上染色(树形DP)
题目链接 题没想出来很烦+一堆细节要注意很烦. 当然更可能是我智商被osu吃了. 考虑一条边会有什么贡献?它一边的黑点数*另一边的黑点数*边权. +它一边的白点数*另一边的白点数*边权. 这样一来就成 ...
- BZOJ4316 小C的独立集 【仙人掌】
题目 图论小王子小C经常虐菜,特别是在图论方面,经常把小D虐得很惨很惨. 这不,小C让小D去求一个无向图的最大独立集,通俗地讲就是:在无向图中选出若干个点,这些点互相没有边连接,并使取出的点尽量多. ...
- php 爬取网页列表 QueryList
主流的方式是 phpQuery 今天使用了 QueryList,是在PHPQuery的基础上进行了封装,现在最新的版本是4.0,但是要求PHP>7.0.就用了旧版的3.0 3.0文档:https ...
- Java-堆排序
public class Main { public static void main(String[] args) { int a[] = {8, 2, 5, 6, 4, 8, 9, 7, 14, ...
- BZOJ 4077 Messenger
Messenger [问题描述] alice和bob各自在两条折线上行进,一个邮递员要从alice那拿一个包裹,并以直线移动到bob处,alice和bob.邮递员的速度均为1单位/s,问邮递员最少要走 ...
- C#连接数据库SQL(2005)
原文发布时间为:2008-07-24 -- 来源于本人的百度文章 [由搬家工具导入] 总算把这起步的路走了.首先来总结一下进行数据库编程的全过程,这里用的是SQL SERVER(1)建立SqlConn ...
- [LeetCode] Sort Colors 只有3个类型的排序
Given an array with n objects colored red, white or blue, sort them so that objects of the same colo ...
- 怎样更改SQL Server 2008的身份验证方式(转)
原文转自 http://blog.csdn.net/zjx86320/article/details/9745669 大家都知道sql server 有两种登录验证方式,即sql se ...
- 转 Python爬虫入门四之Urllib库的高级用法
静觅 » Python爬虫入门四之Urllib库的高级用法 1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我 ...
- 标准C程序设计七---53
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...