chetf2 man page on Scientific

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

CHETF2(1)		 LAPACK routine (version 3.2)		     CHETF2(1)

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

SYNOPSIS
       SUBROUTINE CHETF2( UPLO, N, A, LDA, IPIV, INFO )

	   CHARACTER	  UPLO

	   INTEGER	  INFO, LDA, N

	   INTEGER	  IPIV( * )

	   COMPLEX	  A( LDA, * )

PURPOSE
       CHETF2 computes the factorization of a complex Hermitian matrix A using
       the Bunch-Kaufman diagonal pivoting method:
	  A = U*D*U'  or  A = L*D*L'
       where  U (or L) is a product of permutation and unit upper (lower) tri‐
       angular matrices, U' is the conjugate transpose of U, and D is  Hermit‐
       ian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.  This is
       the unblocked version of the algorithm, calling Level 2 BLAS.

ARGUMENTS
       UPLO    (input) CHARACTER*1
	       Specifies whether the upper or lower  triangular	 part  of  the
	       Hermitian matrix A is stored:
	       = 'U':  Upper triangular
	       = 'L':  Lower triangular

       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 mul‐
	       tipliers used to obtain the factor U or L (see below  for  fur‐
	       ther details).

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

       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	inter‐
	       changed	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 diag‐
	       onal 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.

       INFO    (output) INTEGER
	       = 0: successful exit
	       < 0: if INFO = -k, the k-th argument had an illegal value
	       > 0: if INFO = k, D(k,k) 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
       09-29-06 - patch from
	 Bobby Cheng, MathWorks
	 Replace l.210 and l.392
	      IF( MAX( ABSAKK, COLMAX ).EQ.ZERO ) THEN
	 by
	      IF(  (MAX(  ABSAKK, COLMAX ).EQ.ZERO) .OR. SISNAN(ABSAKK) ) THEN
       01-01-96 - Based on modifications by
	 J. Lewis, Boeing Computer Services Company
	 A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA 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
	  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).

 LAPACK routine (version 3.2)	 November 2008			     CHETF2(1)
[top]

List of man pages available for Scientific

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