chptrf man page on Scientific

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

CHPTRF(1)		 LAPACK routine (version 3.2)		     CHPTRF(1)

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

SYNOPSIS
       SUBROUTINE CHPTRF( UPLO, N, AP, IPIV, INFO )

	   CHARACTER	  UPLO

	   INTEGER	  INFO, N

	   INTEGER	  IPIV( * )

	   COMPLEX	  AP( * )

PURPOSE
       CHPTRF computes the factorization of a complex Hermitian packed	matrix
       A using the Bunch-Kaufman diagonal pivoting method:
	  A = U*D*U**H	or  A = L*D*L**H
       where  U (or L) is a product of permutation and unit upper (lower) tri‐
       angular matrices, and D is Hermitian and block diagonal with 1-by-1 and
       2-by-2 diagonal blocks.

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.

       AP      (input/output) COMPLEX array, dimension (N*(N+1)/2)
	       On  entry,  the upper or lower triangle of the Hermitian matrix
	       A, packed columnwise in a linear array.	The j-th column	 of  A
	       is  stored  in  the  array AP as follows: if UPLO = 'U', AP(i +
	       (j-1)*j/2) =  A(i,j)  for  1<=i<=j;  if	UPLO  =	 'L',  AP(i  +
	       (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.  On exit, the block diag‐
	       onal matrix D and the multipliers used to obtain the  factor  U
	       or  L,  stored as a packed triangular matrix overwriting A (see
	       below for further details).

       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 = -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
       5-96 - Based on modifications by J. Lewis, Boeing Computer Services
	      Company
       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			     CHPTRF(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