What is MathWorks

1.2 History [8]

Linear algebra, especially matrix algebra, is of great importance in scientific computing because the solution of many problems is made up of basic tasks from this area. These are essentially matrix operations, solving systems of linear equations and eigenvalue problems.

This fact was recognized early and work was therefore carried out on a program library for linear algebra as early as the 1960s. At that time, only the two programming languages ‚Äč‚ÄčALGOL 60 and FORTRAN existed for scientific computing. A series of `` Handbook for Automatic Computation '' was started by Springer-Verlag with the aim of one day containing a complete library of computer programs. They agreed on ALGOL as the documentation language, because

Indeed, a correct ALGOL program is the abstract of a computing process for which the necessary analyzes have already been performed.1.1

Volume 1 of the manual consists of two parts: in Part A, H. Rutishauser describes the reference language under the title `` Description of ALGOL 60 '' [17], in Part B `` Translation of ALGOL 60 '' the three authors give gray, Hill and Langmaack [9] a guide to building a compiler.

The second volume of the manual, edited by Wilkinson and Reinsch, appeared in 1971. It contains various procedures for solving systems of linear equations and eigenvalue problems under the title `` Linear Algebra '' [21].

Unfortunately, the series of manuals was no longer continued because the rapid development and expansion of computer science made further coordination impossible.

Because of the language separation between Europe and the USA:

The code itself has to be in FORTRAN, which is the language for scientific programming in the United States.1.2
the LINPACK project was carried out at the Argonne National Laboratory at the end of the 1970s. LINPACK contains programs for solving fully populated linear equation systems. They are based on the procedures in the manual, but are new and systematically programmed in FORTRAN. This is expressed in uniform conventions for naming, portability and machine independence (e.g. termination criteria), use of elementary operations by calling the BLAS (Basic linear Algebra Subprograms). The LINPACK Users' Guide was published in 1979 [2]. LINPACK also stands for the name of a benchmark for measuring the performance of a computer in the field of floating point operations. In the past, this benchmark consisted of two parts: On the one hand, a given FORTRAN program had to be used to solve a full one linear system of equations had to be compiled and executed, on the other hand, a System of equations can be solved as quickly as possible (with any adapted program). This benchmark is used today in a modified form to determine the 500 most powerful computers in the world, which are included in the list, which is updated every six months, see.

The eigenvalue procedures from [21] have also been translated into FORTRAN and are available under the name EISPACK [20,6]. EISPACK and LINPACK were replaced by LAPACK [1] a few years ago. LINPACK, EISPACK and LAPACK procedures (and many more) can be obtained electronically from the on-line software library NETLIB [22], see.

At the end of the seventies, Cleve Moler developed the interactive program MATLAB (MATrix LABoratory), initially only with the intention of using it as a convenient calculation aid in lectures and exercises. The basis for this were programs from LINPACK and EISPACK. Because efficiency considerations were not in the foreground, only eight procedures from LINPACK and five from EISPACK were used for calculations with full matrices. M.ATLAB has not only established itself as a very good aid in teaching, but is also used today, contrary to the original intention, in industry and research. The original public domain M written in FortranATLAB [13] has been completely revised, expanded and made into an efficient engineering tool by MathWorks [14]. It is now written in C.

This philosophy in developing MATLAB has led to the fact that new function packages (so-called toolboxes) are constantly being written for different areas of application. A small part of these packages are public (available via netlib) for the most part they are, but The MathWorks itself offers various so-called toolboxes. The latest information can always be found on the The MathWorks website [23]. Of course, every user can also use MATLAB expand with your own functions according to your requirements.

Compare MATLAB with other similar systems one finds e.g. with Higham [10] or with Simon and Wilson [19].

Alternatives to MATLAB in the public domain are Scilab (| www.scilab.org |), which is quite close to MATLAB leans on. There is also Octave (| www.octave.org |), which apparently is not being further developed. In the statistics area there is the environment R, see.

Peter Arbenz 2008-09-24