# G.3 Vector and Matrix Manipulation

1/2

{

*AI95-00296-01*}

Types and operations for the manipulation of real
vectors and matrices are provided in Generic_Real_Arrays, which is defined
in G.3.1. Types and operations for the manipulation
of complex vectors and matrices are provided in Generic_Complex_Arrays,
which is defined in G.3.2. Both of these
library units are generic children of the predefined package Numerics
(see A.5). Nongeneric equivalents of these
packages for each of the predefined floating point types are also provided
as children of Numerics.
1.a/2

**Discussion: **Vector
and matrix manipulation is defined in the Numerics Annex, rather than
in the core, because it is considered to be a specialized need of (some)
numeric applications.

1.b/2

These packages provide
facilities that are similar to and replace those found in ISO/IEC 13813:1998
*Information technology — Programming languages — Generic
packages of real and complex type declarations and basic operations for
Ada (including vector and matrix types)*. (The other facilities provided
by that Standard were already provided in Ada 95.) In addition to the
main facilities of that Standard, these packages also include subprograms
for the solution of linear equations, matrix inversion, determinants,
and the determination of the eigenvalues and eigenvectors of real symmetric
matrices and Hermitian matrices.

#### Extensions to Ada 95

1.c/2

{

*AI95-00296-01*}

{*extensions to Ada 95*} This
clause is new. It just provides an introduction to the following subclauses.