·  Home
+   man pages
 -> Linux -> FreeBSD -> OpenBSD -> NetBSD -> Tru64 Unix -> HP-UX 11i -> IRIX
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

man pages->IRIX man pages -> complib/dlasyf (3)
 Title
 Content
 Arch
 Section All Sections 1 - General Commands 2 - System Calls 3 - Subroutines 4 - Special Files 5 - File Formats 6 - Games 7 - Macros and Conventions 8 - Maintenance Commands 9 - Kernel Interface n - New Commands

Contents

```
DLASYF(3F)							    DLASYF(3F)

```

NAME[Toc][Back]

```     DLASYF - compute a	partial	factorization of a real	symmetric matrix A
using the Bunch-Kaufman diagonal pivoting method
```

SYNOPSIS[Toc][Back]

```     SUBROUTINE	DLASYF(	UPLO, N, NB, KB, A, LDA, IPIV, W, LDW, INFO )

CHARACTER	UPLO

INTEGER	INFO, KB, LDA, LDW, N, NB

INTEGER	IPIV( *	)

DOUBLE		PRECISION A( LDA, * ), W( LDW, * )
```

PURPOSE[Toc][Back]

```     DLASYF computes a partial factorization of	a real symmetric matrix	A
using the Bunch-Kaufman diagonal pivoting method. The partial
factorization has the form:

A	=  ( I	U12 ) (	A11  0	) (  I	  0   )	 if UPLO = 'U',	or:
( 0	U22 ) (	 0   D	) ( U12' U22' )

A	=  ( L11  0 ) (	 D   0	) ( L11' L21' )	 if UPLO = 'L'
( L21  I ) (	 0  A22	) (  0	  I   )

where the order of	D is at	most NB. The actual order is returned in the
argument KB, and is either	NB or NB-1, or N if N <= NB.

DLASYF is an auxiliary routine called by DSYTRF. It uses blocked code
(calling Level 3 BLAS) to update the submatrix A11	(if UPLO = 'U')	or A22
(if UPLO =	'L').

```

ARGUMENTS[Toc][Back]

```     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.

NB	     (input) INTEGER
The maximum number	of columns of the matrix A that	should be
factored.	NB should be at	least 2	to allow for 2-by-2 pivot
blocks.

KB	     (output) INTEGER
The number	of columns of A	that were actually factored.  KB is
either NB-1 or NB,	or N if	N <= NB.

Page 1

DLASYF(3F)							    DLASYF(3F)

A	     (input/output) DOUBLE PRECISION array, dimension (LDA,N)
On	entry, the symmetric matrix A.	If UPLO	= 'U', the leading nby-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, A contains details of the partial
factorization.

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
UPLO = 'U', only the last KB elements of IPIV are set; if UPLO =
'L', only the first KB elements are set.

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.

W	     (workspace) DOUBLE	PRECISION array, dimension (LDW,NB)

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

INFO    (output) INTEGER
= 0: successful exit
> 0: if INFO = k, D(k,k) is exactly zero.	The factorization has
been completed, but the block diagonal matrix D is	exactly
singular.
DLASYF(3F)							    DLASYF(3F)

```

NAME[Toc][Back]

```     DLASYF - compute a	partial	factorization of a real	symmetric matrix A
using the Bunch-Kaufman diagonal pivoting method
```

SYNOPSIS[Toc][Back]

```     SUBROUTINE	DLASYF(	UPLO, N, NB, KB, A, LDA, IPIV, W, LDW, INFO )

CHARACTER	UPLO

INTEGER	INFO, KB, LDA, LDW, N, NB

INTEGER	IPIV( *	)

DOUBLE		PRECISION A( LDA, * ), W( LDW, * )
```

PURPOSE[Toc][Back]

```     DLASYF computes a partial factorization of	a real symmetric matrix	A
using the Bunch-Kaufman diagonal pivoting method. The partial
factorization has the form:

A	=  ( I	U12 ) (	A11  0	) (  I	  0   )	 if UPLO = 'U',	or:
( 0	U22 ) (	 0   D	) ( U12' U22' )

A	=  ( L11  0 ) (	 D   0	) ( L11' L21' )	 if UPLO = 'L'
( L21  I ) (	 0  A22	) (  0	  I   )

where the order of	D is at	most NB. The actual order is returned in the
argument KB, and is either	NB or NB-1, or N if N <= NB.

DLASYF is an auxiliary routine called by DSYTRF. It uses blocked code
(calling Level 3 BLAS) to update the submatrix A11	(if UPLO = 'U')	or A22
(if UPLO =	'L').

```

ARGUMENTS[Toc][Back]

```     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.

NB	     (input) INTEGER
The maximum number	of columns of the matrix A that	should be
factored.	NB should be at	least 2	to allow for 2-by-2 pivot
blocks.

KB	     (output) INTEGER
The number	of columns of A	that were actually factored.  KB is
either NB-1 or NB,	or N if	N <= NB.

Page 1

DLASYF(3F)							    DLASYF(3F)

A	     (input/output) DOUBLE PRECISION array, dimension (LDA,N)
On	entry, the symmetric matrix A.	If UPLO	= 'U', the leading nby-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, A contains details of the partial
factorization.

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
UPLO = 'U', only the last KB elements of IPIV are set; if UPLO =
'L', only the first KB elements are set.

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.

W	     (workspace) DOUBLE	PRECISION array, dimension (LDW,NB)

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

INFO    (output) INTEGER
= 0: successful exit
> 0: if INFO = k, D(k,k) is exactly zero.	The factorization has
been completed, but the block diagonal matrix D is	exactly
singular.

PPPPaaaaggggeeee 2222```
[ Back ]
Similar pages
 Name OS Title zhetf2 IRIX the Bunch-Kaufman diagonal pivoting method csytf2 IRIX the Bunch-Kaufman diagonal pivoting method chetf2 IRIX the Bunch-Kaufman diagonal pivoting method ssytrf IRIX Bunch-Kaufman diagonal pivoting method chetrf IRIX the Bunch-Kaufman diagonal pivoting method dsytf2 IRIX Bunch-Kaufman diagonal pivoting method dsytrf IRIX Bunch-Kaufman diagonal pivoting method ssytf2 IRIX Bunch-Kaufman diagonal pivoting method zsytf2 IRIX the Bunch-Kaufman diagonal pivoting method zhetrf IRIX the Bunch-Kaufman diagonal pivoting method