dsysv man page on OpenIndiana

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

dsysv(3P)		    Sun Performance Library		     dsysv(3P)

NAME
       dsysv  - compute the solution to a real system of linear equations  A *
       X = B,

SYNOPSIS
       SUBROUTINE DSYSV(UPLO, N, NRHS, A, LDA, IPIVOT, B, LDB, WORK, LWORK,
	     INFO)

       CHARACTER * 1 UPLO
       INTEGER N, NRHS, LDA, LDB, LWORK, INFO
       INTEGER IPIVOT(*)
       DOUBLE PRECISION A(LDA,*), B(LDB,*), WORK(*)

       SUBROUTINE DSYSV_64(UPLO, N, NRHS, A, LDA, IPIVOT, B, LDB, WORK, LWORK,
	     INFO)

       CHARACTER * 1 UPLO
       INTEGER*8 N, NRHS, LDA, LDB, LWORK, INFO
       INTEGER*8 IPIVOT(*)
       DOUBLE PRECISION A(LDA,*), B(LDB,*), WORK(*)

   F95 INTERFACE
       SUBROUTINE SYSV(UPLO, [N], [NRHS], A, [LDA], IPIVOT, B, [LDB], [WORK],
	      [LWORK], [INFO])

       CHARACTER(LEN=1) :: UPLO
       INTEGER :: N, NRHS, LDA, LDB, LWORK, INFO
       INTEGER, DIMENSION(:) :: IPIVOT
       REAL(8), DIMENSION(:) :: WORK
       REAL(8), DIMENSION(:,:) :: A, B

       SUBROUTINE SYSV_64(UPLO, [N], [NRHS], A, [LDA], IPIVOT, B, [LDB], [WORK],
	      [LWORK], [INFO])

       CHARACTER(LEN=1) :: UPLO
       INTEGER(8) :: N, NRHS, LDA, LDB, LWORK, INFO
       INTEGER(8), DIMENSION(:) :: IPIVOT
       REAL(8), DIMENSION(:) :: WORK
       REAL(8), DIMENSION(:,:) :: A, B

   C INTERFACE
       #include <sunperf.h>

       void dsysv(char uplo, int n, int nrhs, double *a, int lda, int *ipivot,
		 double *b, int ldb, int *info);

       void  dsysv_64(char  uplo, long n, long nrhs, double *a, long lda, long
		 *ipivot, double *b, long ldb, long *info);

PURPOSE
       dsysv computes the solution to a real system of linear equations
	  A * X = B, where A is an N-by-N symmetric matrix and X and B are  N-
       by-NRHS matrices.

       The diagonal pivoting method is used to factor A as
	  A = U * D * U**T,  if UPLO = 'U', or
	  A = L * D * L**T,  if UPLO = 'L',
       where  U (or L) is a product of permutation and unit upper (lower) tri‐
       angular matrices, and D is symmetric and block diagonal with 1-by-1 and
       2-by-2  diagonal	 blocks.  The factored form of A is then used to solve
       the system of equations A * X = B.

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

       N (input) The number of linear equations, i.e., the order of the matrix
		 A.  N >= 0.

       NRHS (input)
		 The  number  of right hand sides, i.e., the number of columns
		 of the matrix B.  NRHS >= 0.

       A (input/output)
		 On entry, the symmetric matrix A.  If UPLO = 'U', the leading
		 N-by-N upper triangular part of A contains the upper triangu‐
		 lar 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, if INFO = 0, the block diagonal  matrix  D  and  the
		 multipliers used to obtain the factor U or L from the factor‐
		 ization A = U*D*U**T or A = L*D*L**T as computed by DSYTRF.

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

       IPIVOT (output)
		 Details of the interchanges and the block structure of D,  as
		 determined  by	 DSYTRF.  If IPIVOT(k) > 0, then rows and col‐
		 umns k and IPIVOT(k)  were  interchanged,  and	 D(k,k)	 is  a
		 1-by-1	 diagonal  block.   If	UPLO  =	 'U'  and  IPIVOT(k) =
		 IPIVOT(k-1) < 0, then rows and	 columns  k-1  and  -IPIVOT(k)
		 were  interchanged  and  D(k-1:k,k-1:k)  is a 2-by-2 diagonal
		 block.	 If UPLO = 'L' and IPIVOT(k) = IPIVOT(k+1) <  0,  then
		 rows  and  columns  k+1  and -IPIVOT(k) were interchanged and
		 D(k:k+1,k:k+1) is a 2-by-2 diagonal block.

       B (input/output)
		 On entry, the N-by-NRHS right hand side matrix B.   On	 exit,
		 if INFO = 0, the N-by-NRHS solution matrix X.

       LDB (input)
		 The leading dimension of the array B.	LDB >= max(1,N).

       WORK (workspace)
		 On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

       LWORK (input)
		 The  length  of  WORK.	  LWORK >= 1, and for best performance
		 LWORK >= N*NB, where NB is the optimal blocksize for DSYTRF.

		 If LWORK = -1, then a workspace query is assumed; the routine
		 only  calculates  the optimal size of the WORK array, returns
		 this value as the first entry of the WORK array, and no error
		 message related to LWORK is issued by XERBLA.

       INFO (output)
		 = 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, so the solution could not be computed.

				  6 Mar 2009			     dsysv(3P)
[top]

List of man pages available for OpenIndiana

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