Linear Algebraic Softwares
Linear Algebraic Softwares
Linear Algebraic Softwares
Gone are the days of solving mathematical equations manually, various computer algebra systems
have opened up a new plethora of undiscovered horizons in science. Ever since the advent of
electronic computation, analytical and numerical solutions via various softwares have become
mainstream in the scientific community.
Though there have been many software applications in use, the following have a wider user base
than the others.
Documents can be structured using a hierarchy of cells, which allow for outlining and
sectioning of a document and support automatic numbering index creation. Documents can
be presented in a slideshow environment for presentations. Notebooks and their contents
are represented as Mathematica expressions that can be created, modified or analyzed by
Mathematica programs or converted to other formats.
Presenter tools support the creation of slide-show style presentations that support
interactive elements and code execution during the presentation.
Wolfram Mathematica includes collections of curated data provided for use in computations.
Mathematica is also integrated with Wolfram Alpha, an online computational knowledge
answer engine which provides additional data, some of which is kept updated in real time.
Some of the data sets include astronomical, chemical, geopolitical, language, biomedical and
weather data, in addition to mathematical data (such as knots and polyhedra).
2. MATLAB- It is an acronym for MATrix LABoratory. It is a multi-paradigm numerical computing
environment and proprietary programming language developed by MathWorks. MATLAB
allows matrix manipulations, plotting of functions and data, implementation of algorithms,
creation of user interfaces, and interfacing with programs written in other languages,
including C, C++, C#, Java, Fortran and Python.
Although MATLAB is intended primarily for numerical computing, an optional toolbox uses
the MuPAD symbolic engine, allowing access to symbolic computing abilities. An additional
package, Simulink, adds graphical multi-domain simulation and model-based design for
dynamic and embedded systems.
As of 2018, MATLAB has more than 3 million users worldwide. MATLAB users come from
various backgrounds of engineering, science, and economics.
Cleve Moler, the chairman of the computer science department at the University of New
Mexico, started developing MATLAB in the late 1970s. He designed it to give his students
access to LINPACK and EISPACK without them having to learn Fortran. It soon spread to other
universities and found a strong audience within the applied mathematics community. Jack
Little, an engineer, was exposed to it during a visit Moler made to Stanford University in
1983. Recognizing its commercial potential, he joined with Moler and Steve Bangert. They
rewrote MATLAB in C and founded MathWorks in 1984 to continue its development. These
rewritten libraries were known as JACKPAC. In 2000, MATLAB was rewritten to use a newer
set of libraries for matrix manipulation, LAPACK.
MATLAB was first adopted by researchers and practitioners in control engineering, Little's
specialty, but quickly spread to many other domains. It is now also used in education, in
particular the teaching of linear algebra and numerical analysis, and is popular amongst
scientists involved in image processing.
The program is named after Octave Levenspiel, a former professor of the principal author.
Levenspiel was known for his ability to perform quick back-of-the-envelope calculations.
In addition to use on desktops for personal scientific computing, Octave is used in academia
and industry. For example, Octave was used on a massive parallel computer at Pittsburgh
Supercomputing Center to find vulnerabilities related to guessing social security numbers.
The Octave language is an interpreted programming language. It is a structured programming
language (similar to C) and supports many common C standard library functions, and also
certain UNIX system calls and functions. However, it does not support passing arguments by
reference.
Octave programs consist of a list of function calls or a script. The syntax is matrix-based and
provides various functions for matrix operations. It supports various data structures and
allows object-oriented programming.
Its syntax is very similar to MATLAB, and careful programming of a script will allow it to run
on both Octave and MATLAB.
Scilab was created in 1990 by researchers from INRIA and École nationale des ponts et
chaussées (ENPC). Scilab is a high-level, numerically oriented programming language. The
language provides an interpreted programming environment, with matrices as the main data
type. By using matrix-based computation, dynamic typing, and automatic memory
management, many numerical problems may be expressed in a reduced number of code
lines, as compared to similar solutions using traditional languages, such as Fortran, C, or C++.
This allows users to rapidly construct models for a range of mathematical problems. While
the language provides simple matrix operations such as multiplication, the Scilab package
also provides a library of high-level operations such as correlation and complex
multidimensional arithmetic. The software can be used for signal processing, statistical
analysis, image enhancement, fluid dynamics simulations, and numerical optimization.
Scilab also includes a free package called Xcos (a fork of Scicos based on Modelica language)
for modeling and simulation of explicit and implicit dynamical systems, including both
continuous and discrete sub-systems. Xcos is the open source equivalent to Simulink from
MathWorks.
As the syntax of Scilab is similar to MATLAB, Scilab includes a source code translator for
assisting the conversion of code from MATLAB to Scilab. Scilab is available free of cost under
an open source license. Due to the open source nature of the software, some user
contributions have been integrated into the main program.
5. LAPACK- LAPACK (Linear Algebra Package) is a standard software library for numerical linear
algebra. It provides routines for solving systems of linear equations and linear least squares,
eigenvalue problems, and singular value decomposition. It also includes routines to
implement the associated matrix factorizations such as LU, QR, Cholesky and Schur
decomposition. LAPACK was originally written in FORTRAN 77, but moved to Fortran 90 in
version 3.2 (2008). The routines handle both real and complex matrices in both single and
double precision.
LAPACK was designed as the successor to the linear equations and linear least-squares
routines of LINPACK and the eigenvalue routines of EISPACK. LINPACK, written in the 1970s
and 1980s, was designed to run on the then-modern vector computers with shared memory.
LAPACK, in contrast, was designed to effectively exploit the caches on modern cache-based
architectures, and thus can run orders of magnitude faster than LINPACK on such machines,
given a well-tuned BLAS implementation. LAPACK has also been extended to run on
distributed memory systems in later packages such as ScaLAPACK and PLAPACK.
LAPACK is licensed under a three-clause BSD style license, a permissive free software license
with few restrictions.