-- generic_complex_eigenvalues.ads -- The procedure EIGEN computes both the eigenvalues and eigenvectors -- of arbitrary complex matricies. The generic formal parameter REAL -- determines the type of each component of the type COMPLEX. -- This is an Ada version of the NAG Fortran library subroutine -- Some Fortran labels have been preserved for traceability with Ada.Numerics.Generic_Complex_Types; with Array_Exceptions; with Integer_Arrays; use Integer_Arrays; with Generic_Real_Arrays; with Generic_Complex_Arrays; generic type REAL is digits <> ; with package Real_Arrays is new Generic_Real_Arrays(REAL); with package Complex_Types is new Ada.Numerics.Generic_Complex_Types(REAL); with package Complex_Arrays is new Generic_Complex_Arrays(REAL, Complex_Types, Real_Arrays); package GENERIC_COMPLEX_EIGENVALUES is use Real_Arrays; use Complex_Types; use Complex_Arrays; procedure EIGEN ( A : in out COMPLEX_MATRIX ; VALUES : in out COMPLEX_VECTOR ; VECTORS : in out COMPLEX_MATRIX ; FAIL : in out BOOLEAN ) ; function HESS ( A : COMPLEX_MATRIX ) return COMPLEX_MATRIX; ARRAY_INDEX_ERROR : exception renames ARRAY_EXCEPTIONS.ARRAY_INDEX_ERROR; end GENERIC_COMPLEX_EIGENVALUES ;