csysv man page on OpenIndiana

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

csysv(3P)		    Sun Performance Library		     csysv(3P)

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

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

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

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

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

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

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

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

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

   C INTERFACE
       #include <sunperf.h>

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

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

PURPOSE
       csysv computes the solution to a complex 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 CSYTRF.

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

		 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			     csysv(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