chetrf man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



CHETRF(3F)							    CHETRF(3F)

NAME
     CHETRF - compute the factorization of a complex Hermitian matrix A using
     the Bunch-Kaufman diagonal pivoting method

SYNOPSIS
     SUBROUTINE CHETRF( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )

	 CHARACTER	UPLO

	 INTEGER	INFO, LDA, LWORK, N

	 INTEGER	IPIV( * )

	 COMPLEX	A( LDA, * ), WORK( LWORK )

PURPOSE
     CHETRF computes the factorization of a complex Hermitian matrix A using
     the Bunch-Kaufman diagonal pivoting method.  The form of the
     factorization is

	A = U*D*U**H  or  A = L*D*L**H

     where U (or L) is a product of permutation and unit upper (lower)
     triangular matrices, and D is Hermitian and block diagonal with 1-by-1
     and 2-by-2 diagonal blocks.

     This is the blocked version of the algorithm, calling Level 3 BLAS.

ARGUMENTS
     UPLO    (input) CHARACTER*1
	     = 'U':  Upper triangle of A is stored;
	     = 'L':  Lower triangle of A is stored.

     N	     (input) INTEGER
	     The order of the matrix A.	 N >= 0.

     A	     (input/output) 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, the block diagonal matrix D and the multipliers used to
	     obtain the factor U or L (see below for further details).

     LDA     (input) INTEGER
	     The leading dimension of the array A.  LDA >= max(1,N).

									Page 1

CHETRF(3F)							    CHETRF(3F)

     IPIV    (output) INTEGER array, dimension (N)
	     Details of the interchanges and the block structure of D.	If
	     IPIV(k) > 0, then rows and columns k and IPIV(k) were
	     interchanged and D(k,k) is a 1-by-1 diagonal block.  If UPLO =
	     'U' and IPIV(k) = IPIV(k-1) < 0, then rows and columns k-1 and
	     -IPIV(k) were interchanged and D(k-1:k,k-1:k) is a 2-by-2
	     diagonal block.  If UPLO = 'L' and IPIV(k) = IPIV(k+1) < 0, then
	     rows and columns k+1 and -IPIV(k) were interchanged and
	     D(k:k+1,k:k+1) is a 2-by-2 diagonal block.

     WORK    (workspace/output) COMPLEX array, dimension (LWORK)
	     On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

     LWORK   (input) INTEGER
	     The length of WORK.  LWORK >=1.  For best performance LWORK >=
	     N*NB, where NB is the block size returned by ILAENV.

     INFO    (output) INTEGER
	     = 0:  successful exit
	     < 0:  if INFO = -i, the i-th argument had an illegal value
	     > 0:  if INFO = i, D(i,i) is exactly zero.	 The factorization has
	     been completed, but the block diagonal matrix D is exactly
	     singular, and division by zero will occur if it is used to solve
	     a system of equations.

FURTHER DETAILS
     If UPLO = 'U', then A = U*D*U', where
	U = P(n)*U(n)* ... *P(k)U(k)* ...,
     i.e., U is a product of terms P(k)*U(k), where k decreases from n to 1 in
     steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 and 2-by-2
     diagonal blocks D(k).  P(k) is a permutation matrix as defined by
     IPIV(k), and U(k) is a unit upper triangular matrix, such that if the
     diagonal block D(k) is of order s (s = 1 or 2), then

		(   I	 v    0	  )   k-s
	U(k) =	(   0	 I    0	  )   s
		(   0	 0    I	  )   n-k
		   k-s	 s   n-k

     If s = 1, D(k) overwrites A(k,k), and v overwrites A(1:k-1,k).  If s = 2,
     the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), and A(k,k),
     and v overwrites A(1:k-2,k-1:k).

     If UPLO = 'L', then A = L*D*L', where
	L = P(1)*L(1)* ... *P(k)*L(k)* ...,
     i.e., L is a product of terms P(k)*L(k), where k increases from 1 to n in
     steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 and 2-by-2
     diagonal blocks D(k).  P(k) is a permutation matrix as defined by
     IPIV(k), and L(k) is a unit lower triangular matrix, such that if the
     diagonal block D(k) is of order s (s = 1 or 2), then

		(   I	 0     0   )  k-1

									Page 2

CHETRF(3F)							    CHETRF(3F)

	L(k) =	(   0	 I     0   )  s
		(   0	 v     I   )  n-k-s+1
		   k-1	 s  n-k-s+1

     If s = 1, D(k) overwrites A(k,k), and v overwrites A(k+1:n,k).  If s = 2,
     the lower triangle of D(k) overwrites A(k,k), A(k+1,k), and A(k+1,k+1),
     and v overwrites A(k+2:n,k:k+1).

									Page 3

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net