CVS difference for 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
!status received 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