KPG1_LUDCx

Performs an LU decomposition of a square matrix

Description:

This routine performs a decomposition of a square matrix into lower and upper triangular matrices using Crout s method with partial pivoting. Implicit pivoting is also used to select the pivots.

Invocation

CALL KPG1_LUDCx( N, EL, ARRAY, PINDEX, SCALE, EVEN, STATUS )

Arguments

N = INTEGER (Given)
The number of rows and columns in the matrix to be decomposed.
EL = INTEGER (Given)
The size of the first dimension of the array as declared in the calling routine. This should be at least equal to N.
ARRAY( EL, N ) = ? (Given and Returned)
On input this is the array to be decomposed into LU form. On exit it is the LU decomposed form of the rowwise-permuted input ARRAY, with the diagonals being part of the upper triangular matrix. The permutation is given by PINDEX.
SCALE( N ) = ? (Returned)
Workspace to store the implicit scaling used to normalise the rows during implicit pivoting.
PINDEX( N ) = INTEGER (Returned)
An index of the row permutations caused by the partial pivoting.
EVEN = LOGICAL (Returned)
If EVEN is .TRUE., there was an even number of row interchanges during the decomposition. If EVEN is .FALSE., there was an odd number.
STATUS = INTEGER (Given and Returned)
The global status.

Notes: