Trailing-Edge
-
PDP-10 Archives
-
decuslib20-02
-
decus/20-0026/dgels.doc
There are 2 other files named dgels.doc in the archive. Click here to see a list.
SUBROUTINE DGELS
PURPOSE
TO SOLVE A SYSTEM OF SIMULTANEOUS LINEAR EQUATIONS WITH
SYMMETRIC COEFFICIENT MATRIX UPPER TRIANGULAR PART OF WHICH
IS ASSUMED TO BE STORED COLUMNWISE.
USAGE
CALL DGELS(R,A,M,N,EPS,IER,AUX)
DESCRIPTION OF PARAMETERS
R - DOUBLE PRECISION M BY N RIGHT HAND SIDE MATRIX
(DESTROYED). ON RETURN R CONTAINS THE SOLUTION OF
THE EQUATIONS.
A - UPPER TRIANGULAR PART OF THE SYMMETRIC DOUBLE
PRECISION M BY M COEFFICIENT MATRIX. (DESTROYED)
M - THE NUMBER OF EQUATIONS IN THE SYSTEM.
N - THE NUMBER OF RIGHT HAND SIDE VECTORS.
EPS - SINGLE PRECISION INPUT CONSTANT WHICH IS USED AS
RELATIVE TOLERANCE FOR TEST ON LOSS OF
SIGNIFICANCE.
IER - RESULTING ERROR PARAMETER CODED AS FOLLOWS
IER=0 - NO ERROR,
IER=-1 - NO RESULT BECAUSE OF M LESS THAN 1 OR
PIVOT ELEMENT AT ANY ELIMINATION STEP
EQUAL TO 0,
IER=K - WARNING DUE TO POSSIBLE LOSS OF SIGNIFI-
CANCE INDICATED AT ELIMINATION STEP K+1,
WHERE PIVOT ELEMENT WAS LESS THAN OR
EQUAL TO THE INTERNAL TOLERANCE EPS TIMES
ABSOLUTELY GREATEST MAIN DIAGONAL
ELEMENT OF MATRIX A.
AUX - DOUBLE PRECISION AUXILIARY STORAGE ARRAY
WITH DIMENSION M-1.
REMARKS
UPPER TRIANGULAR PART OF MATRIX A IS ASSUMED TO BE STORED
COLUMNWISE IN M*(M+1)/2 SUCCESSIVE STORAGE LOCATIONS, RIGHT
HAND SIDE MATRIX R COLUMNWISE IN N*M SUCCESSIVE STORAGE
LOCATIONS. ON RETURN SOLUTION MATRIX R IS STORED COLUMNWISE
TOO.
THE PROCEDURE GIVES RESULTS IF THE NUMBER OF EQUATIONS M IS
GREATER THAN 0 AND PIVOT ELEMENTS AT ALL ELIMINATION STEPS
ARE DIFFERENT FROM 0. HOWEVER WARNING IER=K - IF GIVEN -
INDICATES POSSIBLE LOSS OF SIGNIFICANCE. IN CASE OF A WELL
SCALED MATRIX A AND APPROPRIATE TOLERANCE EPS, IER=K MAY BE
INTERPRETED THAT MATRIX A HAS THE RANK K. NO WARNING IS
GIVEN IN CASE M=1.
ERROR PARAMETER IER=-1 DOES NOT NECESSARILY MEAN THAT
MATRIX A IS SINGULAR, AS ONLY MAIN DIAGONAL ELEMENTS
ARE USED AS PIVOT ELEMENTS. POSSIBLY SUBROUTINE DGELG (WHICH
WORKS WITH TOTAL PIVOTING) WOULD BE ABLE TO FIND A SOLUTION.
SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
NONE
METHOD
SOLUTION IS DONE BY MEANS OF GAUSS-ELIMINATION WITH
PIVOTING IN MAIN DIAGONAL, IN ORDER TO PRESERVE
SYMMETRY IN REMAINING COEFFICIENT MATRICES.