科学计算软件的分类
我去搜索计算软件的分类,往往看到的结果是计算机软件的分类,说是分成系统软件和应用软件。 实际上我关心的是和算法、数值模拟、数学建模、数据分析、数据可视化、优化、控制、工程仿真等有关的软件,我把与此相关的软件统称为计算软件, 但是感觉还是叫
科学与工程计算软件更加有区分度(不然容易弄混,因为和计算机软件只有一字之差),而且我所在的系就曾经叫做科学与工程计算系。
但是这个名字太长了, 因此我还是决定就叫 科学计算软件。
科学计算软件可以分成两类:
第一类是专用型科学计算软件, 第二类是通用型科学计算软件。
专用型的科学计算软件往往仅仅关注一类功能甚至一个功能,例如快速傅立叶变换。
通用型的科学计算软件具有更加丰富的功能:1. 要是一个解释型的高级编程语言,
2. 要具有交互式的集成开发环境, 3. 要支持插件模式和具有可扩展的架构,这些能够让各个专业和行业的开发者来协作开发,不断增强软件的功能, 4. 支持多种主流格式的数据
的读取存储,5. 要有数据可视化能力, 6. 要具有丰富的算法,如线性方程组求解,特征值分解,奇异值分解,LDL分解, 快速傅立叶变换,常微分方程组的初值问题的数值解,网格剖分等等。
通用型科学计算软件更容易被容易被工程师使用,因为他们要模拟的问题往往非常复杂,需要快速验证自己的初步设计进行计算并从图形展示的数据得到反馈, 需要调用很多算法,通用型软件为他们提供了集成开发环境和简洁直观的统一的算法调用格式。 如果没有通用型科学计算软件,他们需要花费大量的时间去学习直接调用专用型的软件,这将大大降低他们的开发效率。 通用型科学计算软件是开发工业软件的重要基础性工具,是连接理论算法和工程应用的桥梁。 长期以来,我国通用型科学计算软件的市场由国外公司垄断, 如 MATLAB. 目前,我国科学家正在瞄准替代MATLAB的目标,组织团队开发了一款国产的具有自主知识产权的通用型科学计算软件:北太天元数值计算通用软件(www.baltamatica.com )。
https://heath.cs.illinois.edu/scicomp/software/index.html 列出出了很多软件,在那里专业型的软件又分成了好几类,如库(FFTW, sundials, trilinos, Petsc等),画图软件(gnuplot ,OpenGL等), 统计软件 (R, SAS), 符号计算软件 (maxima, magma)等。
Mathematical Software Libraries
Blitz++ : Object-Oriented Numerics
CERNLIB : CERN
CodeCogs : CodeCogs.com
Concepts : ETH Zurich
CPC :Computer Physics Comm.
DAEPACK : MIT
deal.II : Texas A&M and others
Diffpack : inuTech
FFTPACK : NCAR
FFTW : MIT
FlexPDE : PDE Solutions
FMM :Computer Methods for Mathematical Computationsby Forsythe, Malcolm, and Moler
GAMS : NIST
GSL : GNU Scientific Library
HSL : Harwell Subroutine Library
Hypre : Lawrence Livermore National Laboratory
IMSL : Visual Numerics
IT++
JAMA : NIST/MathWorks
KMN :Numerical Methods and Software by Kahaner, Moler, and Nash
Mathtools.net : MathWorks
Matran : U. Maryland
MKL : Intel
NAG :
Numerical Algorithms Group
NAPACK :Applied Numerical Linear Algebra by William Hager
NEOS : Argonne
Newmat : Robert Davies
Netlib : U. Tenn. and ORNL
NFFT : U. Lubeck
NHSE : National HPCC Software Exchange
NLP++ : inuTech
NMath : CenterSpace Software
NR :Numerical Recipes by Press, Teukolsky, Vetterling, and Flannery
NUMAL :A Numerical Library in C for Scientists and Engineers by H. T. Lau
Numpy : Enthought, Inc.
NUMAL :A Numerical Library in Java for Scientists and Engineers by H. T. Lau
OPT++ : Sandia
OptimaNumerics : OptimaNumerics
OptSolve++ :
Tech-X
PETSc : Argonne
PORT :Bell Laboratories
PDA : Public Domain Algorithms, Starlink Software
SciPy : Enthought, Inc.
SLATEC :
Sandia/LANL/AFWL Technical Exchange Committee
SNOPT :
Stanford Business Software
SOL :
Systems Optimization Lab, Stanford U.
SPARSPAK : U. Waterloo
SSI :
Scalable Software Infrastracture Project
Sundials : LLNL
TNT : Template Numerical Toolkit, NIST
TOMLAB : Tomlab Optimization
TOMS : ACM Transactions on Mathematical Software
Trilinos : Sandia National Laboratories
Scientific Computing Environments
Algae :
Scott Hunziker and Mike Brennan
ASCEND : Carnegie Mellon U.
Atlantis : Sigmasoft
Ch : SoftIntegration
DADiSP : DSP Development
Euler :
Rene Grothmann
FreeMat : Samit Basu
GAUSS : Aptech Systems
IDL : ITT
LabView : National Instruments
Mathcad : PTC
MATLAB :
MathWorks
MLAB : Civilized Software
Numerica : ILOG
Octave : John W. Eaton
O-Matrix : Harmonic Software
Ox : Timberlake Consultants
PV-WAVE : Visual Numerics
RLaB : Ian Searle/Marijan Kostrun
Scilab : INRIA
ScicosLab : ScicosLab.org
SCIRun : U. Utah
TeLa :
Finnish Meteorological Institute
Symbolic Computing Environments
Axiom : CUNY
CoCoA : U. Genoa
Eigenmath :
JACAL : MIT
Macsyma : Symbolics
Magma : U. Sydney
Maple : Maplesoft
Mathematica : Wolfram Research
Mathomatic : George Gesslein
Maxima : Richard Fateman
MuPAD : SciFace Software
PARI/GP : U. Bordeaux
Pythonica : Tildesoft
Reduce : Tony Hearn
Sage : U. Washington
Singular : U. Kaiserslautern
SYNAPS : INRIA
YACAS : Ayal Pinkus
Graphics, Plotting, and Visualization
AVS : Advanced Visual Systems
CoPlot : CoHort Software
Data Explorer : IBM
Dynagraph :
Rouben Rostamian
EnSight :
Computational Engineering International
Fieldview :
Intelligent Light
GLI :
FZ Julich
gnuplot : Dartmouth
Grace :
Weizmann Institute
gri : Dan Kelley and Peter Galbraith
Harvard Graphics : SPC Software
IGOR Pro :
WaveMetrics
IRIS Explorer : NAG
KaleidaGraph : Synergy Software
Khoros : Khoral Research
Matplotlib : John Hunter and others
Mesa : Brian Paul, mesa3d.org
NCAR Graphics :
National Center for Atmospheric Research
OpenGL : OpenGL.org
Origin : OriginLab
ParaView : ParaView.org
pgplot : Caltech
ploticus : Stephen C. Grubb
plotmtv : Kenny Toh, Intel
plotutils/libplot :
Free Software Foundation
PLplot : U. Texas
Prism : GraphPad Software
pro Fit : QuantumSoft
PSI-Plot :
Poly Software International
RenderMan : Pixar
Rocketeer : CSAR
Slicer Dicer : Visualogic
Tecplot :
Amtec Engineering
Vis5D :
U. Wisconsin-Madison
VisIt :
Lawrence Livermore National Laboratory
Visual3 : MIT
VOGLE : U. Melbourne
vtk :
Visualization Toolkit, Kitware, Inc.
XGKS : Unidata
XGobi :
Carnegie Mellon U.
Statistical Software
BMDP : Statistical Solutions
CoStat : CoHort Software
Data Desk : Data Description
GenStat : NAG
JMP : SAS Institute
Lisp-Stat :
U. Minnesota
mathStatica : Mathstatica Pty. Ltd.
Minitab : Minitab Inc.
Partek Pro : Partek Inc.
Prophet : NCRR / NIH
ProStat :
Poly Software
P-STAT : P-STAT, Inc.
R : R Foundation
S : Bell Labs
Spotfire : TIBCO
SAS : SAS Institute
SPSS : IBM
Stata : Stata
Statgraphics Plus : Manugistics
Statistica : StatSoft
StatLib : Carnegie Mellon U.
UNISTAT : UNISTAT Ltd.
XploRe : MD*Tech
Simulation Software
GPSS :
Simscript : Caci Products
Simula :
SLAM / AweSim :
Pritsker