NAG Numerical Libraries
Encyclopedia
NAG Numerical Libraries is a software product sold by The Numerical Algorithms Group Ltd (a non-profit company). The product is a software library
Library (computer science)
In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications....

 of numerical analysis
Numerical analysis
Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis ....

 routines. It comprises a collection of 1500 mathematical and statistical algorithms. Areas covered include linear algebra, optimization, quadrature, differential equations, regression analysis, and time series analysis. The code has been contributed by many people.

The software cannot be used stand-alone and must be embeded into other software applications. NAG is currently available in Fortran
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

 and the C (gcc) programming languages. Supported operating systems include Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 (including 64-bit), Solaris
Solaris Operating System
Solaris is a Unix operating system originally developed by Sun Microsystems. It superseded their earlier SunOS in 1993. Oracle Solaris, as it is now known, has been owned by Oracle Corporation since Oracle's acquisition of Sun in January 2010....

, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, AIX
AIX operating system
AIX AIX AIX (Advanced Interactive eXecutive, pronounced "a i ex" is a series of proprietary Unix operating systems developed and sold by IBM for several of its computer platforms...

, HP-UX
HP-UX
HP-UX is Hewlett-Packard's proprietary implementation of the Unix operating system, based on UNIX System V and first released in 1984...

, IRIX
IRIX
IRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers. It was based on UNIX System V with BSD extensions. IRIX was the first operating system to include the XFS file system.The last major version...

 and Tru64.

The routines normally use hardware arithmetic. Arbitrary-precision arithmetic
Arbitrary-precision arithmetic
In computer science, arbitrary-precision arithmetic indicates that calculations are performed on numbers whose digits of precision are limited only by the available memory of the host system. This contrasts with the faster fixed-precision arithmetic found in most ALU hardware, which typically...

 can be used instead, for routines called within Maple.

1971: Fortran Mark 1

The NAG Numerical Libraries are the oldest and best known product of NAG. NAG Algol 60
ALGOL 60
ALGOL 60 is a member of the ALGOL family of computer programming languages. It gave rise to many other programming languages, including BCPL, B, Pascal, Simula, C, and many others. ALGOL 58 introduced code blocks and the begin and end pairs for delimiting them...

 and Fortran
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

 Libraries, Mark 1, were released in October 1971, for specific ICL
ICL
-Companies and organizations:* ICL, the ICAO airline code for CAL Cargo Air Lines* International Computers Limited, a British computer hardware and services company, now known as Fujitsu Services...

 mainframe
Mainframe computer
Mainframes are powerful computers used primarily by corporate and governmental organizations for critical applications, bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.The term originally referred to the...

 series.

1982: Algol 68 Mark 3

The chapters in the Algol 68
ALGOL 68
ALGOL 68 isan imperative computerprogramming language that was conceived as a successor to theALGOL 60 programming language, designed with the goal of a...

 Mark 3 Library:
  • A02: Complex Arithmetic
    Complex number
    A complex number is a number consisting of a real part and an imaginary part. Complex numbers extend the idea of the one-dimensional number line to the two-dimensional complex plane by using the number line for the real part and adding a vertical axis to plot the imaginary part...

  • A04: Extended Arithmetic
    Arbitrary-precision arithmetic
    In computer science, arbitrary-precision arithmetic indicates that calculations are performed on numbers whose digits of precision are limited only by the available memory of the host system. This contrasts with the faster fixed-precision arithmetic found in most ALU hardware, which typically...

  • C02: Zeros of a Polynomial
    Polynomial function theorems for zeros
    Polynomial function theorems for zeros are a set of theorems aiming to find of the complex zeros of a polynomial function.Found in most precalculus textbooks, these theorems include:* Remainder theorem* Factor theorem...

  • C05: Roots of One or More Transcendental Equations
    Transcendental function
    A transcendental function is a function that does not satisfy a polynomial equation whose coefficients are themselves polynomials, in contrast to an algebraic function, which does satisfy such an equation...

  • C06: Summation
    Summation
    Summation is the operation of adding a sequence of numbers; the result is their sum or total. If numbers are added sequentially from left to right, any intermediate result is a partial sum, prefix sum, or running total of the summation. The numbers to be summed may be integers, rational numbers,...

     of Series
    Series (mathematics)
    A series is the sum of the terms of a sequence. Finite sequences and series have defined first and last terms, whereas infinite sequences and series continue indefinitely....

  • D01: Quadrature
    Numerical integration
    In numerical analysis, numerical integration constitutes a broad family of algorithms for calculating the numerical value of a definite integral, and by extension, the term is also sometimes used to describe the numerical solution of differential equations. This article focuses on calculation of...

  • D02: Ordinary Differential Equations
  • D04: Numerical Differentiation
    Numerical differentiation
    In numerical analysis, numerical differentiation describes algorithms for estimating the derivative of a mathematical function or function subroutine using values of the function and perhaps other knowledge about the function.-Finite difference formulae:...

  • D05: Integral Equations
    Integral equation
    In mathematics, an integral equation is an equation in which an unknown function appears under an integral sign. There is a close connection between differential and integral equations, and some problems may be formulated either way...

  • E01: Interpolation
    Interpolation
    In the mathematical field of numerical analysis, interpolation is a method of constructing new data points within the range of a discrete set of known data points....

  • E02: Curve and Surface Fitting
    Curve fitting
    Curve fitting is the process of constructing a curve, or mathematical function, that has the best fit to a series of data points, possibly subject to constraints. Curve fitting can involve either interpolation, where an exact fit to the data is required, or smoothing, in which a "smooth" function...

  • E04: Minimising or Maximising a Function
    Optimization (mathematics)
    In mathematics, computational science, or management science, mathematical optimization refers to the selection of a best element from some set of available alternatives....

  • F01: Interpolation
    Interpolation
    In the mathematical field of numerical analysis, interpolation is a method of constructing new data points within the range of a discrete set of known data points....

  • F02: Eigenvalues and Eigenvectors
  • F03: Determinant
    Determinant
    In linear algebra, the determinant is a value associated with a square matrix. It can be computed from the entries of the matrix by a specific arithmetic expression, while other ways to determine its value exist as well...

    s
  • F04: Simultaneous Linear Equations
  • F05: Orthogonalization
  • G01: Simple Calculations and Statistical Data
  • G02: Correlation
    Correlation
    In statistics, dependence refers to any statistical relationship between two random variables or two sets of data. Correlation refers to any of a broad class of statistical relationships involving dependence....

    s and Regression Analysis
    Regression analysis
    In statistics, regression analysis includes many techniques for modeling and analyzing several variables, when the focus is on the relationship between a dependent variable and one or more independent variables...

  • G05: Random Number Generators
  • H: Operations Research
    Operations research
    Operations research is an interdisciplinary mathematical science that focuses on the effective use of technology by organizations...

  • M01: Sorting
    Sorting
    Sorting is any process of arranging items in some sequence and/or in different sets, and accordingly, it has two common, yet distinct meanings:# ordering: arranging items of the same kind, class, nature, etc...

  • P01: Error Trapping
    Exception handling
    Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions, special conditions that change the normal flow of program execution....

  • S: Approximations
    Approximation algorithm
    In computer science and operations research, approximation algorithms are algorithms used to find approximate solutions to optimization problems. Approximation algorithms are often associated with NP-hard problems; since it is unlikely that there can ever be efficient polynomial time exact...

     of Special Functions
    Special functions
    Special functions are particular mathematical functions which have more or less established names and notations due to their importance in mathematical analysis, functional analysis, physics, or other applications....

  • T01: Vector and Matrix Operations
    Matrix multiplication
    In mathematics, matrix multiplication is a binary operation that takes a pair of matrices, and produces another matrix. If A is an n-by-m matrix and B is an m-by-p matrix, the result AB of their multiplication is an n-by-p matrix defined only if the number of columns m of the left matrix A is the...

  • X02: Machine Constants
    Machine epsilon
    Machine epsilon gives an upper bound on the relative error due to rounding in floating point arithmetic. This value characterizes computer arithmetic in the field of numerical analysis, and by extension in the subject of computational science...

  • X03: Inner Products


Algol 68 Platforms supported CDC 7600
CDC 7600
The CDC 7600 was the Seymour Cray-designed successor to the CDC 6600, extending Control Data's dominance of the supercomputer field into the 1970s. The 7600 ran at 36.4 MHz and had a 65 Kword primary memory using core and variable-size secondary memory...

/CYBER
CDC Cyber
The CDC Cyber range of mainframe-class supercomputers were the primary products of Control Data Corporation during the 1970s and 1980s. In their day, they were the computer architecture of choice for scientific and mathematically intensive computing...

 (CDC ALGOL 68), IBM 360/370/AMDAHL (FLACC
FLACC
FLACC is an implementation of the ALGOL 68 programming language.Chris Thomson and Colin Broughton founded Chion Corporation which developed and marketed FLACC . This compiler and run-time system conformed exactly to the Revised Report, ran on IBM 370 and compatible mainframes, and included...

 ALGOL 68
ALGOL 68
ALGOL 68 isan imperative computerprogramming language that was conceived as a successor to theALGOL 60 programming language, designed with the goal of a...

), ICL 1900
ICT 1900 series
ICT 1900 was the name given to a series of mainframe computers released by International Computers and Tabulators and later International Computers Limited during the 1960s and '70s...

 (ALGOL 68R
ALGOL 68R
ALGOL 68-R was the first implementation of the Algorithmic language ALGOL 68.In December 1968 the report on the Algorithmic language ALGOL 68 was published. On 20–24 July 1970 a working conference was arranged by the IFIP to discuss the problems of implementation of the language, a small team from...

), ICL 1906A/S (ALGOL 68R
ALGOL 68R
ALGOL 68-R was the first implementation of the Algorithmic language ALGOL 68.In December 1968 the report on the Algorithmic language ALGOL 68 was published. On 20–24 July 1970 a working conference was arranged by the IFIP to discuss the problems of implementation of the language, a small team from...

), ICL 2900(8) (ALGOL 68RS
ALGOL 68RS
An extension of ALGOL 68 supporting function closures by the Royal Signals and Radar Establishment . It has been ported to Multics and VAX/VMS....

) and Telefunken
Telefunken
Telefunken is a German radio and television apparatus company, founded in Berlin in 1903, as a joint venture of Siemens & Halske and the Allgemeine Elektricitäts-Gesellschaft...

 TR440 (ALGOL 68C
ALGOL 68C
The ALGOL68C computer programming language compiler was developed for the CHAOS OS for the CAP capability computer at Cambridge University in 1971 by Stephen Bourne and Michael Guy as a dialect of ALGOL 68. Other early contributors were Andrew D. Birrell and Ian Walker.The initial compiler was...

)

1983: Vectorized Fortran

The first partially vectorized
Vector processor
A vector processor, or array processor, is a central processing unit that implements an instruction set containing instructions that operate on one-dimensional arrays of data called vectors. This is in contrast to a scalar processor, whose instructions operate on single data items...

 implementation of the NAG Fortran Library (Cray-1
Cray-1
The Cray-1 was a supercomputer designed, manufactured, and marketed by Cray Research. The first Cray-1 system was installed at Los Alamos National Laboratory in 1976, and it went on to become one of the best known and most successful supercomputers in history...

) 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

See also



External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK