Functions | |
| subroutine | cheswapr (uplo, n, a, lda, i1, i2) |
| CHESWAPR applies an elementary permutation on the rows and columns of a Hermitian matrix. | |
| real function | clanhe (norm, uplo, n, a, lda, work) |
| CLANHE returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex Hermitian matrix. | |
| subroutine | claqhe (uplo, n, a, lda, s, scond, amax, equed) |
| CLAQHE scales a Hermitian matrix. | |
This is the group of complex auxiliary functions for HE matrices
| subroutine cheswapr | ( | character | uplo, |
| integer | n, | ||
| complex, dimension( lda, n ) | a, | ||
| integer | lda, | ||
| integer | i1, | ||
| integer | i2 ) |
CHESWAPR applies an elementary permutation on the rows and columns of a Hermitian matrix.
Download CHESWAPR + dependencies [TGZ] [ZIP] [TXT]
!> !> CHESWAPR applies an elementary permutation on the rows and the columns of !> a hermitian matrix. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the details of the factorization are stored !> as an upper or lower triangular matrix. !> = 'U': Upper triangular, form is A = U*D*U**T; !> = 'L': Lower triangular, form is A = L*D*L**T. !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in,out] | A | !> A is COMPLEX array, dimension (LDA,N) !> On entry, the NB diagonal matrix D and the multipliers !> used to obtain the factor U or L as computed by CSYTRF. !> !> On exit, if INFO = 0, the (symmetric) inverse of the original !> matrix. If UPLO = 'U', the upper triangular part of the !> inverse is formed and the part of A below the diagonal is not !> referenced; if UPLO = 'L' the lower triangular part of the !> inverse is formed and the part of A above the diagonal is !> not referenced. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
| [in] | I1 | !> I1 is INTEGER !> Index of the first row to swap !> |
| [in] | I2 | !> I2 is INTEGER !> Index of the second row to swap !> |
Definition at line 101 of file cheswapr.f.
| real function clanhe | ( | character | norm, |
| character | uplo, | ||
| integer | n, | ||
| complex, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| real, dimension( * ) | work ) |
CLANHE returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex Hermitian matrix.
Download CLANHE + dependencies [TGZ] [ZIP] [TXT]
!> !> CLANHE returns the value of the one norm, or the Frobenius norm, or !> the infinity norm, or the element of largest absolute value of a !> complex hermitian matrix A. !>
!> !> CLANHE = ( max(abs(A(i,j))), NORM = 'M' or 'm' !> ( !> ( norm1(A), NORM = '1', 'O' or 'o' !> ( !> ( normI(A), NORM = 'I' or 'i' !> ( !> ( normF(A), NORM = 'F', 'f', 'E' or 'e' !> !> where norm1 denotes the one norm of a matrix (maximum column sum), !> normI denotes the infinity norm of a matrix (maximum row sum) and !> normF denotes the Frobenius norm of a matrix (square root of sum of !> squares). Note that max(abs(A(i,j))) is not a consistent matrix norm. !>
| [in] | NORM | !> NORM is CHARACTER*1 !> Specifies the value to be returned in CLANHE as described !> above. !> |
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> hermitian matrix A is to be referenced. !> = 'U': Upper triangular part of A is referenced !> = 'L': Lower triangular part of A is referenced !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. When N = 0, CLANHE is !> set to zero. !> |
| [in] | A | !> A is COMPLEX array, dimension (LDA,N) !> The hermitian matrix A. If UPLO = 'U', the leading n by n !> upper triangular part of A contains the upper triangular part !> of the matrix A, and the strictly lower triangular part of A !> is not referenced. If UPLO = 'L', the leading n by n lower !> triangular part of A contains the lower triangular part of !> the matrix A, and the strictly upper triangular part of A is !> not referenced. Note that the imaginary parts of the diagonal !> elements need not be set and are assumed to be zero. !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(N,1). !> |
| [out] | WORK | !> WORK is REAL array, dimension (MAX(1,LWORK)), !> where LWORK >= N when NORM = 'I' or '1' or 'O'; otherwise, !> WORK is not referenced. !> |
Definition at line 123 of file clanhe.f.
| subroutine claqhe | ( | character | uplo, |
| integer | n, | ||
| complex, dimension( lda, * ) | a, | ||
| integer | lda, | ||
| real, dimension( * ) | s, | ||
| real | scond, | ||
| real | amax, | ||
| character | equed ) |
CLAQHE scales a Hermitian matrix.
Download CLAQHE + dependencies [TGZ] [ZIP] [TXT]
!> !> CLAQHE equilibrates a Hermitian matrix A using the scaling factors !> in the vector S. !>
| [in] | UPLO | !> UPLO is CHARACTER*1 !> Specifies whether the upper or lower triangular part of the !> Hermitian matrix A is stored. !> = 'U': Upper triangular !> = 'L': Lower triangular !> |
| [in] | N | !> N is INTEGER !> The order of the matrix A. N >= 0. !> |
| [in,out] | A | !> A is COMPLEX array, dimension (LDA,N) !> On entry, the Hermitian matrix A. If UPLO = 'U', the leading !> n by n upper triangular part of A contains the upper !> triangular part of the matrix A, and the strictly lower !> triangular part of A is not referenced. If UPLO = 'L', the !> leading n by n lower triangular part of A contains the lower !> triangular part of the matrix A, and the strictly upper !> triangular part of A is not referenced. !> !> On exit, if EQUED = 'Y', the equilibrated matrix: !> diag(S) * A * diag(S). !> |
| [in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(N,1). !> |
| [in] | S | !> S is REAL array, dimension (N) !> The scale factors for A. !> |
| [in] | SCOND | !> SCOND is REAL !> Ratio of the smallest S(i) to the largest S(i). !> |
| [in] | AMAX | !> AMAX is REAL !> Absolute value of largest matrix entry. !> |
| [out] | EQUED | !> EQUED is CHARACTER*1 !> Specifies whether or not equilibration was done. !> = 'N': No equilibration. !> = 'Y': Equilibration was done, i.e., A has been replaced by !> diag(S) * A * diag(S). !> |
!> THRESH is a threshold value used to decide if scaling should be done !> based on the ratio of the scaling factors. If SCOND < THRESH, !> scaling is done. !> !> LARGE and SMALL are threshold values used to decide if scaling should !> be done based on the absolute size of the largest matrix element. !> If AMAX > LARGE or AMAX < SMALL, scaling is done. !>
Definition at line 133 of file claqhe.f.