# CVS difference for ai05s/ai05-0047-1.txt

Differences between 1.5 and version 1.6
Log of other versions for file ai05s/ai05-0047-1.txt

```--- ai05s/ai05-0047-1.txt	2008/01/18 05:34:29	1.5
+++ ai05s/ai05-0047-1.txt	2008/03/07 06:15:19	1.6
@@ -1,6 +1,11 @@
-!standard G.3.1                              08-01-17    AI05-0047-1/04
-!standard G.3.2
+!standard G.3.1(78/2)                           08-02-26    AI05-0047-1/05
+!standard G.3.1(90/2)
+!standard G.3.1(16/2)
+!standard G.3.2(75/2)
+!standard G.3.2(146/2)
+!standard G.3.2(160/2)
!class binding interpretation 07-04-04
+!status ARG Approved  7-0-2  08-02-09
!status work item 07-04-04
!priority Medium
@@ -148,8 +153,13 @@
AARM NOTE
J. H. Wilkinson is the acknowledged expert in this area. See for example
Wilkinson, J. H., and Reinsch, C. , Linear Algebra , vol II of Handbook
-  for Automatic Computation, Springer-Verlag.
+  for Automatic Computation, Springer-Verlag, or Wilkinson, J. H., The
+  Algebraic Eigenvalue Problem, Oxford University Press.
+

+Modify G.3.2(16/2) and G.3.2(75/2) as follows
+
+function "abs" (Right : Complex_Vector) return [Complex]{Real'Base};

Insert after G.3.2(56/2)

@@ -159,10 +169,6 @@
is required then this has to be stated explicitly by writing for
example X * Conjugate(Y). This mimics the usual mathematical notation.

-Modify G.3.2(75/2) as follows
-
-function "abs" (Right : Complex_Vector) return [Complex]{Real'Base};
-
Modify G.3.2(146/2) as follows

... Constraint_Error is raised if A'Length(1) is not equal to A'Length(2)
@@ -320,6 +326,93 @@
orthonormal vectors in the 2-space concerned might be returned. It seems
that the unpleasantness mentioned by the implementor is inherent in the
problem.
+
+!corrigendum G.3.1(78/2)
+
+@drepl
+@xindent<This procedure computes both the eigenvalues and
+eigenvectors of the symmetric matrix A. The out parameter Values is the same as
+that obtained by calling the function Eigenvalues. The out parameter Vectors is
+a matrix whose columns are the eigenvectors of the matrix A. The order of the
+columns corresponds to the order of the eigenvalues. The eigenvectors are
+normalized and mutually orthogonal (they are orthonormal), including when there
+are repeated eigenvalues. Constraint_Error is raised if A'Length(1) is not
+equal to A'Length(2). The index ranges of the parameter Vectors are those of A.
+Argument_Error is raised if the matrix A is not symmetric.>
+@dby
+@xindent<This procedure computes both the eigenvalues and
+eigenvectors of the symmetric matrix A. The out parameter Values is the same as
+that obtained by calling the function Eigenvalues. The out parameter Vectors is
+a matrix whose columns are the eigenvectors of the matrix A. The order of the
+columns corresponds to the order of the eigenvalues. The eigenvectors are
+normalized and mutually orthogonal (they are orthonormal), including when there
+are repeated eigenvalues. Constraint_Error is raised if A'Length(1) is not
+equal to A'Length(2), or if Values'Range is not equal to A'Range(1), or if the
+index ranges of the parameter Vectors are not equal to those of A.
+Argument_Error is raised if the matrix A is not symmetric.
+Constraint_Error is also raised in implementation-defined circumstances
+if the algorithm used does not converge quickly enough.>
+
+!corrigendum G.3.1(90/2)
+
+@dinsa
+The test that a matrix is symmetric should be performed by using the equality
+operator to compare the relevant components.
+@dinst
+An implementation should minimize the circumstances under which the
+algorithm used for Eigenvalues and Eigensystem fails to converge.
+
+!corrigendum G.3.2(16/2)
+
+@drepl
+@xcode<@b<function> "@b<abs>" (Right : Complex_Vector) @b<return> Complex;>
+@dby
+@xcode<@b<function> "@b<abs>" (Right : Complex_Vector) @b<return> Real'Base;>
+
+!corrigendum G.3.2(75/2)
+
+@drepl
+@xcode<@b<function> "@b<abs>" (Right : Complex_Vector) @b<return> Complex;>
+@dby
+@xcode<@b<function> "@b<abs>" (Right : Complex_Vector) @b<return> Real'Base;>
+
+!corrigendum G.3.2(146/2)
+
+@drepl
+@xindent<This procedure computes both the eigenvalues and
+eigenvectors of the Hermitian matrix A. The out parameter Values is the same as
+that obtained by calling the function Eigenvalues. The out parameter Vectors is
+a matrix whose columns are the eigenvectors of the matrix A. The order of the
+columns corresponds to the order of the eigenvalues. The eigenvectors are
+normalized and mutually orthogonal (they are orthonormal), including when there
+are repeated eigenvalues. Constraint_Error is raised if A'Length(1) is not
+equal to A'Length(2). The index ranges of the parameter Vectors are those of A.
+Argument_Error is raised if the matrix A is not Hermitian.>
+@dby
+@xindent<This procedure computes both the eigenvalues and
+eigenvectors of the Hermitian matrix A. The out parameter Values is the same as
+that obtained by calling the function Eigenvalues. The out parameter Vectors is
+a matrix whose columns are the eigenvectors of the matrix A. The order of the
+columns corresponds to the order of the eigenvalues. The eigenvectors are
+normalized and mutually orthogonal (they are orthonormal), including when there
+are repeated eigenvalues. Constraint_Error is raised if A'Length(1) is not
+equal to A'Length(2), or if Values'Range is not equal to A'Range(1), or if the
+index ranges of the parameter Vectors are not equal to those of A.
+Argument_Error is raised if the matrix A is not Hermitian.
+Constraint_Error is also raised in implementation-defined circumstances
+if the algorithm used does not converge quickly enough.>
+
+
+!corrigendum G.3.2(160/2)
+
+@dinsa
+The test that a matrix is Hermitian should use the equality operator to
+compare the real components and negation followed by equality to compare
+the imaginary components (see G.2.1).
+@dinst
+An implementation should minimize the circumstances under which the
+algorithm used for Eigenvalues and Eigensystem fails to converge.
+

!ACATS test

```

Questions? Ask the ACAA Technical Agent