dtrsm man page on OpenIndiana

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

dtrsm(3P)		    Sun Performance Library		     dtrsm(3P)

NAME
       dtrsm  -	 solve	one  of the matrix equations   op( A )*X = alpha*B, or
       X*op( A ) = alpha*B

SYNOPSIS
       SUBROUTINE DTRSM(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B,
	     LDB)

       CHARACTER * 1 SIDE, UPLO, TRANSA, DIAG
       INTEGER M, N, LDA, LDB
       DOUBLE PRECISION ALPHA
       DOUBLE PRECISION A(LDA,*), B(LDB,*)

       SUBROUTINE DTRSM_64(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B,
	     LDB)

       CHARACTER * 1 SIDE, UPLO, TRANSA, DIAG
       INTEGER*8 M, N, LDA, LDB
       DOUBLE PRECISION ALPHA
       DOUBLE PRECISION A(LDA,*), B(LDB,*)

   F95 INTERFACE
       SUBROUTINE TRSM(SIDE, UPLO, [TRANSA], DIAG, [M], [N], ALPHA, A, [LDA],
	      B, [LDB])

       CHARACTER(LEN=1) :: SIDE, UPLO, TRANSA, DIAG
       INTEGER :: M, N, LDA, LDB
       REAL(8) :: ALPHA
       REAL(8), DIMENSION(:,:) :: A, B

       SUBROUTINE TRSM_64(SIDE, UPLO, [TRANSA], DIAG, [M], [N], ALPHA, A,
	      [LDA], B, [LDB])

       CHARACTER(LEN=1) :: SIDE, UPLO, TRANSA, DIAG
       INTEGER(8) :: M, N, LDA, LDB
       REAL(8) :: ALPHA
       REAL(8), DIMENSION(:,:) :: A, B

   C INTERFACE
       #include <sunperf.h>

       void dtrsm(char side, char uplo, char transa, char diag, int m, int  n,
		 double alpha, double *a, int lda, double *b, int ldb);

       void  dtrsm_64(char  side,  char	 uplo, char transa, char diag, long m,
		 long n, double alpha, double *a, long lda,  double  *b,  long
		 ldb);

PURPOSE
       dtrsm  solves one of the matrix equations op( A )*X = alpha*B, or X*op(
       A ) = alpha*B where alpha is a scalar, X and B are m by n  matrices,  A
       is a unit, or non-unit,	upper or lower triangular matrix  and  op( A )
       is one  of

	  op( A ) = A	or   op( A ) = A'.

       The matrix X is overwritten on B.

ARGUMENTS
       SIDE (input)
		 On entry, SIDE specifies whether op( A ) appears on the  left
		 or right of X as follows:

		 SIDE = 'L' or 'l'   op( A )*X = alpha*B.

		 SIDE = 'R' or 'r'   X*op( A ) = alpha*B.

		 Unchanged on exit.

       UPLO (input)
		 On  entry, UPLO specifies whether the matrix A is an upper or
		 lower triangular matrix as follows:

		 UPLO = 'U' or 'u'   A is an upper triangular matrix.

		 UPLO = 'L' or 'l'   A is a lower triangular matrix.

		 Unchanged on exit.

       TRANSA (input)
		 On entry, TRANSA specifies the form of op( A ) to be used  in
		 the matrix multiplication as follows:

		 TRANSA = 'N' or 'n'   op( A ) = A.

		 TRANSA = 'T' or 't'   op( A ) = A'.

		 TRANSA = 'C' or 'c'   op( A ) = A'.

		 Unchanged on exit.

		 TRANSA is defaulted to 'N' for F95 INTERFACE.

       DIAG (input)
		 On  entry, DIAG specifies whether or not A is unit triangular
		 as follows:

		 DIAG = 'U' or 'u'   A is assumed to be unit triangular.

		 DIAG = 'N' or 'n'   A is not assumed to be unit triangular.

		 Unchanged on exit.

       M (input)
		 On entry, M specifies the number  of  rows  of	 B.  M	>=  0.
		 Unchanged on exit.

       N (input)
		 On  entry,  N	specifies the number of columns of B.  N >= 0.
		 Unchanged on exit.

       ALPHA (input)
		 On entry,  ALPHA specifies the scalar	alpha. When  alpha  is
		 zero  then  A is not referenced and  B need not be set before
		 entry.	 Unchanged on exit.

       A (input)
		 DOUBLE PRECISION array of DIMENSION ( LDA, k ), where k is  m
		 when  SIDE = 'L' or 'l'  and is  n  when  SIDE = 'R' or 'r'.
		 Before	 entry	with  UPLO = 'U' or 'u',  the  leading	k by k
		 upper triangular part of the array  A must contain the	 upper
		 triangular  matrix  and the strictly lower triangular part of
		 A is not referenced.
		 Before entry  with  UPLO = 'L' or 'l',	 the  leading  k by  k
		 lower	triangular part of the array  A must contain the lower
		 triangular matrix  and the strictly upper triangular part  of
		 A is not referenced.
		 Note that when	 DIAG = 'U' or 'u', the diagonal elements of A
		 are not  referenced  either,  but  are	 assumed  to  be  one.
		 Unchanged on exit.

       LDA (input)
		 On  entry, LDA specifies the first dimension of A as declared
		 in the calling (sub) program.	When  SIDE = 'L' or 'l'	  then
		 LDA >= max( 1, m ),  when  SIDE = 'R' or 'r' then LDA >= max(
		 1, n ).  Unchanged on exit.

       B (input/output)
		 DOUBLE PRECISION array of  DIMENSION  (  LDB,	n  ).	Before
		 entry,	 the leading  m by n part of the array	B must contain
		 the  right-hand  side	matrix	B,  and	 on exit  is overwrit‐
		 ten by the solution matrix  X.

       LDB (input)
		 On  entry, LDB specifies the first dimension of B as declared
		 in  the  calling  (sub)   program.   LDB  >=  max(  1,	 m  ).
		 Unchanged on exit.

				  6 Mar 2009			     dtrsm(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