dsytf2 man page on Scientific

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

DSYTF2(1)		 LAPACK routine (version 3.2)		     DSYTF2(1)

NAME
       DSYTF2  - computes the factorization of a real symmetric matrix A using
       the Bunch-Kaufman diagonal pivoting method

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

	   CHARACTER	  UPLO

	   INTEGER	  INFO, LDA, N

	   INTEGER	  IPIV( * )

	   DOUBLE	  PRECISION A( LDA, * )

PURPOSE
       DSYTF2 computes the factorization of a real symmetric  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 transpose of U,  and	 D  is	symmetric  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
	       symmetric matrix A is stored:
	       = 'U':  Upper triangular
	       = 'L':  Lower triangular

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

       A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
	       On entry, the symmetric 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.204 and l.372
	      IF( MAX( ABSAKK, COLMAX ).EQ.ZERO ) THEN
	 by
	      IF( (MAX( ABSAKK, COLMAX ).EQ.ZERO) .OR. DISNAN(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
       1-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			     DSYTF2(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