Numérotation des lignes :

C DGESV     SOURCE    BP208322  20/09/18    21:15:52     10718          *> \brief &lt;b> DGESV computes the solution to system of linear equations A * X = B for GE matrices&lt;/b> (simple driver)**  =========== DOCUMENTATION ===========** Online html documentation available at*            http://www.netlib.org/lapack/explore-html/**> \htmlonly*> Download SGESV + dependencies*> &lt;a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dgesv.f">*> [TGZ]&lt;/a>*> &lt;a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dgesv.f">*> [ZIP]&lt;/a>*> &lt;a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgesv.f">*> [TXT]&lt;/a>*> \endhtmlonly**  Definition:*  ===========**       SUBROUTINE DGESV( N, NRHS, A, LDA, IPIV, B, LDB, INFO )**       .. Scalar Arguments ..*       INTEGER            INFO, LDA, LDB, N, NRHS*       ..*       .. Array Arguments ..*       INTEGER            IPIV( * )*       REAL               A( LDA, * ), B( LDB, * )*       ..***> \par Purpose:*  =============*>*> \verbatim*>*> DGESV computes the solution to a real system of linear equations*>    A * X = B,*> where A is an N-by-N matrix and X and B are N-by-NRHS matrices.*>*> The LU decomposition with partial pivoting and row interchanges is*> used to factor A as*>    A = P * L * U,*> where P is a permutation matrix, L is unit lower triangular, and U is*> upper triangular.  The factored form of A is then used to solve the*> system of equations A * X = B.*> \endverbatim**  Arguments:*  ==========**> \param[in] N*> \verbatim*>          N is INTEGER*>          The number of linear equations, i.e., the order of the*>          matrix A.  N >= 0.*> \endverbatim*>*> \param[in] NRHS*> \verbatim*>          NRHS is INTEGER*>          The number of right hand sides, i.e., the number of columns*>          of the matrix B.  NRHS >= 0.*> \endverbatim*>*> \param[in,out] A*> \verbatim*>          A is REAL array, dimension (LDA,N)*>          On entry, the N-by-N coefficient matrix A.*>          On exit, the factors L and U from the factorization*>          A = P*L*U; the unit diagonal elements of L are not stored.*> \endverbatim*>*> \param[in] LDA*> \verbatim*>          LDA is INTEGER*>          The leading dimension of the array A.  LDA >= max(1,N).*> \endverbatim*>*> \param[out] IPIV*> \verbatim*>          IPIV is INTEGER array, dimension (N)*>          The pivot indices that define the permutation matrix P;*>          row i of the matrix was interchanged with row IPIV(i).*> \endverbatim*>*> \param[in,out] B*> \verbatim*>          B is REAL array, dimension (LDB,NRHS)*>          On entry, the N-by-NRHS matrix of right hand side matrix B.*>          On exit, if INFO = 0, the N-by-NRHS solution matrix X.*> \endverbatim*>*> \param[in] LDB*> \verbatim*>          LDB is INTEGER*>          The leading dimension of the array B.  LDB >= max(1,N).*> \endverbatim*>*> \param[out] INFO*> \verbatim*>          INFO is INTEGER*>          = 0:  successful exit*>          &lt; 0:  if INFO = -i, the i-th argument had an illegal value*>          > 0:  if INFO = i, U(i,i) is exactly zero.  The factorization*>                has been completed, but the factor U is exactly*>                singular, so the solution could not be computed.*> \endverbatim**  Authors:*  ========**> \author Univ. of Tennessee*> \author Univ. of California Berkeley*> \author Univ. of Colorado Denver*> \author NAG Ltd.**> \date December 2016**> \ingroup realGEsolve**  =====================================================================      SUBROUTINE DGESV(N,NRHS,A,LDA,IPIV,B,LDB,INFO)**  -- LAPACK driver routine (version 3.7.0) --*  -- LAPACK is a software package provided by Univ. of Tennessee,    --*  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--*     December 2016       IMPLICIT INTEGER(I-N)      IMPLICIT REAL*8(A-H,O-Z)**     .. Scalar Arguments ..      INTEGER          INFO, LDA, LDB, N, NRHS,I*     ..*     .. Array Arguments ..      INTEGER          IPIV(*)      REAL*8           A(LDA,*), B(LDB,*)*      INFO = 0*            IF ( N.LT.0 ) THEN         INFO = -1      ELSE IF ( NRHS.LT.0 ) THEN         INFO = -2      ELSE IF ( LDA.LT.MAX( 1, N ) ) THEN         INFO = -4      ELSE IF ( LDB.LT.MAX( 1, N ) ) THEN         INFO = -7      END IF      IF ( INFO.NE.0 ) THEN         CALL XERBLA( 'DGESV ', -INFO )         RETURN      END IF     *     Compute the LU factorization of A.      CALL DGETRF( N, N, A, LDA, IPIV, INFO )  c       write(*,*) 'DGESV: LU factorization ok ?',INFO,'A='c       do iou=1,Nc       write(*,111)'A_',iou,(A(iou,jou),jou=1,N)c       enddoc  111  FORMAT(A,I2,'=',11(1X,E10.4))       IF ( INFO.EQ.0 ) THEN**        Solve the system A*X = B, overwriting B with X.*         CALL DGETRS( 'No transpose', N, NRHS, A, LDA, IPIV, B, LDB,     &                INFO )      END IF      RETURN**     End of SGESV*      END

© Cast3M 2003 - Tous droits réservés.
Mentions légales