## 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