|
NA Software Packages on the NetPackages generally include an NA library and an interpretive language for a front end. Also see Symbolic Algebra , for free symbolic algebra packages.OctaveOctave is considered the closest-to-Matlab of the Matlab clones.Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically. Octave can do arithmetic for real and complex scalars and matrices, solve sets of nonlinear algebraic equations, integrate functions over finite and infinite intervals, and integrate systems of ordinary differential and differential-algebraic equations. The Octave distribution includes a 200+ page Texinfo manual. Two and three dimensional plotting is fully supported using gnuplot.
The underlying numerical solvers are currently standard
Fortran ones like Lapack, Linpack, Odepack, the Blas,
etc., packaged in a library of C++ classes.
Rlab is not a clone of languages such as those used by tools like
Matlab or Matrix_X/Xmath. However, as Rlab focuses on creating a good
experimental environment (or laboratory) in which to do matrix math,
it can be called "MATLAB-like" since the programming language
possesses similar operators and concepts.
Scilab is a matrix-based scientific software package resembling Matlab-Simulink and Xmath-SystemBuild. Scilab contains hundreds of built-in mathematical functions, a rich set of data structures which includes polynomials, rationals, linear systems, lists, sparse matrices and comes with a number of specific toolboxes for control, signal processing, ... It features: Elaborate data structures (polynomial, rational and string matrices, lists, multivariable linear systems,...). Sophisticated interpreter and programming language with Matlab-like syntax. Hundreds of built-in math functions (new primitives can easily be added). Stunning graphics (2d, 3d, animation). Open structure (easy interfacing with Fortran and C via online dynamic link). Many built-in libraries: TelaTela is a general NA package with graphics, linear algebra, FFT, etc. Is this another Matlab clone?
It is mainly targeted for prototyping large-scale
numerical simulations and doing pre- and postprocessing for them, and
it replaces a compiled language like C++ or Fortran in this respect.
The feature set is therefore biased to operations needed in partial
differential equation solvers.
The Unix version is free, the OS/2 version free for educational use, and the Windows version cheap shareware. These features make EULER an ideal tool for the tasks such as YorickYorick is an interpreted language. It has:Because Yorick can read either text or binary files, it can be used "out of the box" as a pre- and post-processor for most existing physics simulation programs. As a pre-processor, you can write a Yorick program that produces complicated input files for a simulation. These might be based on output from other programs, or might require evaluation of complicated functions or involve a lot of repetition.
As a post-processor, Yorick allows you to compare the results of
several simulations or to analyze results of a single simulation in
ways you did not foresee when you ran it.
PETSc is a set of parallel software libraries for the implicit solution of PDEs and related problems. New features include: The Blitz++ Numerical Library ProjectBlitz++ is a C++ template class library for scientific computing. It offers a high level of abstraction, but performance which appears to be rivalling that of Fortran. The current alpha version supports arrays and vectors. Matrices are only partially implemented and undocumented; use at your own peril.AscendASCEND IV is a free, large-scale, equation-based, environment featuring a strongly-typed, object-oriented model-description language. ASCEND is designed to reduce the time needed for creating, debugging, and solving mathematical models by orders of magnitude in comparison with C++-like and FORTRAN-like languages.ASCEND includes interactive support tools for modeling, debugging, and solving systems with tens of thousands of nonlinear algebraic or differential equations. Including: Algae, formerly called AlkiAlgae is a high-level interpreted language for numerical analysis. Algae borrows from languages like MATLAB and APL, but it was developed because we needed a free, efficient, and versatile language capable of handling large problems.Algae is fast. It's generally faster than MATLAB, RLaB, and Octave, often by a significant margin. Of course, words like "generally" and "often" (and benchmarks themselves, for that matter) don't mean much when it comes time to run your particular problem, and I'm sure that you can find cases where Algae gets beat. Still, Algae is fast. Algae's arrays may be stored in sparse form; only the non-zero elements and their locations are stored. This type of storage is required for practical analysis in many fields. In my own field (structural dynamics), a matrix with 20,000 rows and columns is not considered large.
|