MB02UU

Solution of a system of linear equations using LU factorization with complete pivoting

[Specification] [Arguments] [Method] [References] [Comments] [Example]

Purpose

  To solve for x in A * x = scale * RHS, using the LU factorization
  of the N-by-N matrix A computed by SLICOT Library routine MB02UV.
  The factorization has the form A = P * L * U * Q, where P and Q
  are permutation matrices, L is unit lower triangular and U is
  upper triangular.

Specification
      SUBROUTINE MB02UU( N, A, LDA, RHS, IPIV, JPIV, SCALE )
C     .. Scalar Arguments ..
      INTEGER            LDA, N
      DOUBLE PRECISION   SCALE
C     .. Array Arguments ..
      INTEGER            IPIV( * ), JPIV( * )
      DOUBLE PRECISION   A( LDA, * ), RHS( * )

Arguments

Input/Output Parameters

  N       (input) INTEGER
          The order of the matrix A.

  A       (input) DOUBLE PRECISION array, dimension (LDA, N)
          The leading N-by-N part of this array must contain
          the LU part of the factorization of the matrix A computed
          by SLICOT Library routine MB02UV:  A = P * L * U * Q.

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

  RHS     (input/output) DOUBLE PRECISION array, dimension (N)
          On entry, this array must contain the right hand side
          of the system.
          On exit, this array contains the solution of the system.

  IPIV    (input) INTEGER array, dimension (N)
          The pivot indices; for 1 <= i <= N, row i of the
          matrix has been interchanged with row IPIV(i).

  JPIV    (input) INTEGER array, dimension (N)
          The pivot indices; for 1 <= j <= N, column j of the
          matrix has been interchanged with column JPIV(j).

  SCALE   (output) DOUBLE PRECISION
          The scale factor, chosen 0 < SCALE <= 1 to prevent
          overflow in the solution.

Further Comments
  In the interest of speed, this routine does not check the input
  for errors. It should only be used if the order of the matrix A
  is very small.

Example

Program Text

  None
Program Data
  None
Program Results
  None

Return to Supporting Routines index