help-gsl
[Top][All Lists]

## [Help-gsl] gsl_blas_dtrsm

 From: Remi Vieux Subject: [Help-gsl] gsl_blas_dtrsm Date: Sun, 28 May 2006 12:48:01 +0200

Hi all,

Im trying to code in C a MatLab program. In the MatLab code, there is
the instruction A\B, which is "left division" and equivalent to
inv(A)*B. So I'm trying to compute this lattest instruction with GSL
using the function gsl_blas_dtrsm, but I'm not quite sure how to do it.
-------------------
Extract from the manual:
Function: int gsl_blas_dtrsm (CBLAS_SIDE_t Side, CBLAS_UPLO_t Uplo,
CBLAS_TRANSPOSE_t TransA, CBLAS_DIAG_t Diag, double alpha, const
gsl_matrix * A, gsl_matrix * B)
These functions compute the inverse-matrix matrix product B = \alpha
op(inv(A))B for Side is CblasLeft and B = \alpha B op(inv(A)) for Side
is CblasRight. The matrix A is triangular and op(A) = A, A^T, A^H for
TransA = CblasNoTrans, CblasTrans, CblasConjTrans When Uplo is
CblasUpper then the upper triangle of A is used, and when Uplo is
CblasLower then the lower triangle of A is used. If Diag is CblasNonUnit
then the diagonal of A is used, but if Diag is CblasUnit then the
diagonal elements of the matrix A are taken as unity and are not
referenced.
------------------
Does the matrix A has to be triangular to use this function? What
exactly is TransA for? Same question for the parameter Diag: what do you
mean by "the diagonal of A is used or taken as unity"?

Best Regards,

Remi Vieux.

___________________________________________________________________________
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son
interface révolutionnaire.
http://fr.mail.yahoo.com