Jump to content

NAG Numerical Library: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
JPRBW (talk | contribs)
Update of introduction
JPRBW (talk | contribs)
Removed mark 3 contents, added mark 23 contents
Line 1: Line 1:
The '''NAG Numerical Library''' is a software product developed and sold by [[The Numerical Algorithms Group Ltd|The Numerical Algorithms Group]]. It is a [[library (computer science)|software library]] of [[numerical analysis]] routines, containing more than 1600 mathematical and statistical algorithms. Areas covered by the library include [[linear equations|linear algebra]], [[Optimization problem|optimization]], [[quadrature]], the solution of [[ordinary differential equation|ordinary]] and [[partial differential equations]], [[regression analysis]], and [[time series analysis]].
The '''NAG Numerical Library''' is a software product developed and sold by [[The Numerical Algorithms Group Ltd|The Numerical Algorithms Group]]. It is a [[library (computer science)|software library]] of [[numerical analysis]] routines, containing more than 1,700 mathematical and statistical algorithms. Areas covered by the library include [[linear equations|linear algebra]], [[Optimization problem|optimization]], [[quadrature]], the solution of [[ordinary differential equation|ordinary]] and [[partial differential equations]], [[regression analysis]], and [[time series analysis]].


Users of the NAG Library call its routines from within their applications in order to incorporate its mathematical or statistical functionality and to solve numerical problems - for example, [[Optimization problem|finding the minimum or maximum of a function]], [[Curve_fitting|fitting a curve or surface to data]], or [[ordinary differential equation|solving a differential equation]]. The Library is currently available in the form of the NAG C Library <ref>[http://www.nag.co.uk/numeric/CL/CLdescription.asp NAG C Library]</ref>, the NAG Fortran Library <ref>[http://www.nag.co.uk/numeric/fl/FLdescription.asp NAG Fortran Library]</ref>, and the NAG Library for .NET <ref>[http://www.nag.co.uk/netdevelopers.asp NAG Library for .NET]</ref>. The Library is accessible from several computing environments, including standard languages such as [[C (programming language)|C]], [[C++]], [[Fortran]], [[Visual Basic]], [[Java]] and [[C#]], as well as packages such as [[MATLAB]], [[R (programming language)|R]], [[LabVIEW]] and [[Excel]]. Supported operating systems include the 32 bit and 64 bit versions of [[Microsoft Windows|Windows]], [[Linux]] and [[Mac OS X]], as well as [[Solaris Operating System|Solaris]], [[AIX operating system|AIX]] and [[HP-UX]].
Users of the NAG Library call its routines from within their applications in order to incorporate its mathematical or statistical functionality and to solve numerical problems - for example, [[Optimization problem|finding the minimum or maximum of a function]], [[Curve_fitting|fitting a curve or surface to data]], or [[ordinary differential equation|solving a differential equation]]. The Library is currently available in the form of the NAG C Library <ref>[http://www.nag.co.uk/numeric/CL/CLdescription.asp NAG C Library]</ref>, the NAG Fortran Library <ref>[http://www.nag.co.uk/numeric/fl/FLdescription.asp NAG Fortran Library]</ref>, and the NAG Library for .NET <ref>[http://www.nag.co.uk/netdevelopers.asp NAG Library for .NET]</ref>. The Library is accessible from several computing environments, including standard languages such as [[C (programming language)|C]], [[C++]], [[Fortran]], [[Visual Basic]], [[Java]] and [[C#]], as well as packages such as [[MATLAB]], [[R (programming language)|R]], [[LabVIEW]] and [[Excel]]. Supported operating systems include the 32 bit and 64 bit versions of [[Microsoft Windows|Windows]], [[Linux]] and [[Mac OS X]], as well as [[Solaris Operating System|Solaris]], [[AIX operating system|AIX]] and [[HP-UX]].


== Time line of Software Releases ==
== Time line of Software Releases ==
{{See also|The Numerical Algorithms Group Ltd#Origins}}
=== 1971: Fortran Mark 1 ===
=== 1971: Mark 1 ===
The NAG Numerical Libraries are the oldest and best known product of NAG. NAG [[Algol 60]] and [[Fortran]] Libraries, Mark 1, were released in October 1971, for specific [[ICL]] [[Mainframe computer|mainframe]] series.
The original version of the NAG Library was written in [[Algol 60]] and [[Fortran]]. It contained 98 user-callable routines, and was released for the [[ICL]] [[ICT 1900 series#The 1900 A series|1906A]] and [[ICT 1900 series#The 1900 S series|1906S]] machines on October 1, 1971.
=== 1982: Algol 68 Mark 3 ===
=== 1982: Mark 3 ===
The chapters in the [[Algol 68]] Mark 3 Library:
Mark 3 of the Library was written in [[Algol 68]] and [[Fortran]]. Algol 68 Platforms supported [[CDC 7600]]/[[CDC Cyber|CYBER]] ([[CDC ALGOL 68]]), [[IBM 360]]/370/AMDAHL ([[FLACC]] [[ALGOL 68]]), [[ICT 1900 series|ICL 1900]] ([[ALGOL 68R]]), ICL 1906A/S ([[ALGOL 68R]]), ICL 2900(8) ([[ALGOL 68RS]]) and [[Telefunken]] [[TR440]] ([[ALGOL 68C]])
=== 1983: Vectorized Fortran ===
The first partially [[Vector processor|vectorized]] implementation of the NAG Fortran Library ([[Cray-1]]) was released in 1983.
=== 1990: C Mark 1 ===
A [[C programming language|C]] version was launched in 1990, ''The NAG C Library, Mark 1''.
=== 2005: Fortran Mark 22 and C Mark 8 ===
Mark 22 of the Fortran Library was released in March 2009 and Mark 8 of the C Library released in November 2005<ref>[http://www.nag.co.uk/Market/articles/prcl08.asp NAG announces new release of its numerical library for C and C++] NAG Press Release</ref>
=== 2009: C Mark 9 ===
Mark 9 being due for release in 2009.
=== 2011: Mark 23 ===
Mark 23, the latest release of the NAG Fortran Library was announced in July 2011. Its contents include:
* A02: [[Complex number|Complex Arithmetic]]
* A02: [[Complex number|Complex Arithmetic]]
* C02: [[Polynomial function theorems for zeros|Zeros of Polynomials]]
* A04: [[Arbitrary-precision arithmetic|Extended Arithmetic]]
* C02: [[Polynomial function theorems for zeros|Zeros of a Polynomial]]
* C05: [[Root of a function|Roots]] of One or More [[Transcendental function|Transcendental Equations]]
* C05: [[Root of a function|Roots]] of One or More [[Transcendental function|Transcendental Equations]]
* C06: [[Summation]] of [[Series (mathematics)|Series]]
* C06: [[Summation]] of [[Series (mathematics)|Series]]
* C09: [[Wavelet transforms|Wavelet Transforms]]
* D01: [[Numerical integration|Quadrature]]
* D01: [[Numerical integration|Quadrature]]
* D02: [[Ordinary Differential Equations]]
* D02: [[Ordinary Differential Equations]]
* D03: [[Partial Differential Equations]]
* D04: [[Numerical differentiation|Numerical Differentiation]]
* D04: [[Numerical differentiation|Numerical Differentiation]]
* D05: [[Integral equation|Integral Equations]]
* D05: [[Integral equation|Integral Equations]]
Line 20: Line 32:
* E02: [[Curve fitting|Curve and Surface Fitting]]
* E02: [[Curve fitting|Curve and Surface Fitting]]
* E04: [[Optimization (mathematics)|Minimising or Maximising a Function]]
* E04: [[Optimization (mathematics)|Minimising or Maximising a Function]]
* E05: [[Global optimization]] of a function
* F01: [[Interpolation]]
* F01: [[Matrix]] Operations, including [[Matrix inversion|Inversion]]
* F02: [[Eigenvalues]] and [[Eigenvectors]]
* F02: [[Eigenvalues]] and [[Eigenvectors]]
* F03: [[Determinant]]s
* F03: [[Determinant]]s
* F04: [[System of linear equations|Simultaneous Linear Equations]]
* F04: [[System of linear equations|Simultaneous Linear Equations]]
* F05: [[Orthogonalization]]
* F05: [[Orthogonalization]]
* F07: [[Linear equations|Linear Equations]] ([[LAPACK]])
* G01: Simple Calculations and Statistical Data
* F08: [[Least squares|Least Squares]] and [[Eigenvalue]] Problems ([[LAPACK]])
* F11: [[System_of_linear_equations#Other_methods|Large Scale Linear Systems]]
* F12: [[Eigenproblem#Calculation|Large Scale Eigenproblems]]
* G01: Simple Calculations on Statistical Data
* G02: [[Correlation]]s and [[Regression Analysis]]
* G02: [[Correlation]]s and [[Regression Analysis]]
* G03: [[Multivariate statistics|Multivariate]] Methods
* G04: [[Analysis of Variance]]
* G05: [[Random Number Generators]]
* G05: [[Random Number Generators]]
* G07: [[Univariate]] [[Estimation]]
* G08: [[Nonparametric statistics|Nonparametric Statistics]]
* G10: [[Smoothing]] in Statistics
* G11: [[Contingency table|Contingency Table]] Analysis
* G12: [[Survival Analysis]]
* G13: [[Time Series Analysis]]
* H: [[Operations Research]]
* H: [[Operations Research]]
* M01: [[Sorting]]
* M01: [[Sorting]] and Searching
* P01: [[Exception handling|Error Trapping]]
* P01: [[Exception handling|Error Trapping]]
* S: [[Approximation algorithm|Approximations]] of [[Special functions|Special Functions]]
* S: [[Approximation algorithm|Approximations]] of [[Special functions|Special Functions]]
Line 35: Line 60:
* X02: [[Machine epsilon|Machine Constants]]
* X02: [[Machine epsilon|Machine Constants]]
* X03: [[Inner products|Inner Products]]
* X03: [[Inner products|Inner Products]]

Algol 68 Platforms supported [[CDC 7600]]/[[CDC Cyber|CYBER]] ([[CDC ALGOL 68]]), [[IBM 360]]/370/AMDAHL ([[FLACC]] [[ALGOL 68]]), [[ICT 1900 series|ICL 1900]] ([[ALGOL 68R]]), ICL 1906A/S ([[ALGOL 68R]]), ICL 2900(8) ([[ALGOL 68RS]]) and [[Telefunken]] [[TR440]] ([[ALGOL 68C]])

=== 1983: Vectorized Fortran ===
The first partially [[Vector processor|vectorized]] implementation of the NAG Fortran Library ([[Cray-1]]) was released in 1983.
=== 1990: C Mark 1 ===
A [[C programming language|C]] version was launched in 1990, ''The NAG C Library, Mark 1''.
=== 2005: Fortran Mark 22 and C Mark 8 ===
Mark 22 of the Fortran Library was released in March 2009 and Mark 8 of the C Library released in November 2005<ref>[http://www.nag.co.uk/Market/articles/prcl08.asp NAG announces new release of its numerical library for C and C++] NAG Press Release</ref>
=== 2009: C Mark 9 ===
Mark 9 being due for release in 2009.


== See also ==
== See also ==

Revision as of 18:03, 8 December 2011

The NAG Numerical Library is a software product developed and sold by The Numerical Algorithms Group. It is a software library of numerical analysis routines, containing more than 1,700 mathematical and statistical algorithms. Areas covered by the library include linear algebra, optimization, quadrature, the solution of ordinary and partial differential equations, regression analysis, and time series analysis.

Users of the NAG Library call its routines from within their applications in order to incorporate its mathematical or statistical functionality and to solve numerical problems - for example, finding the minimum or maximum of a function, fitting a curve or surface to data, or solving a differential equation. The Library is currently available in the form of the NAG C Library [1], the NAG Fortran Library [2], and the NAG Library for .NET [3]. The Library is accessible from several computing environments, including standard languages such as C, C++, Fortran, Visual Basic, Java and C#, as well as packages such as MATLAB, R, LabVIEW and Excel. Supported operating systems include the 32 bit and 64 bit versions of Windows, Linux and Mac OS X, as well as Solaris, AIX and HP-UX.

Time line of Software Releases

1971: Mark 1

The original version of the NAG Library was written in Algol 60 and Fortran. It contained 98 user-callable routines, and was released for the ICL 1906A and 1906S machines on October 1, 1971.

1982: Mark 3

Mark 3 of the Library was written in Algol 68 and Fortran. Algol 68 Platforms supported CDC 7600/CYBER (CDC ALGOL 68), IBM 360/370/AMDAHL (FLACC ALGOL 68), ICL 1900 (ALGOL 68R), ICL 1906A/S (ALGOL 68R), ICL 2900(8) (ALGOL 68RS) and Telefunken TR440 (ALGOL 68C)

1983: Vectorized Fortran

The first partially vectorized implementation of the NAG Fortran Library (Cray-1) was released in 1983.

1990: C Mark 1

A C version was launched in 1990, The NAG C Library, Mark 1.

2005: Fortran Mark 22 and C Mark 8

Mark 22 of the Fortran Library was released in March 2009 and Mark 8 of the C Library released in November 2005[4]

2009: C Mark 9

Mark 9 being due for release in 2009.

2011: Mark 23

Mark 23, the latest release of the NAG Fortran Library was announced in July 2011. Its contents include:

See also