Google
 

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.