lit
    JINRLIB

DSINV, DSEQN, DSFACT, DSFEQN, DSFINV -

F012

: H.Lipps :

opopaa DSINV poo pa cpo ooo
opo ap A.
opopaa DSEQN pa cc pa:

  A * X = B, (1)

apa oo A - cpa ooo opa.
p det(A) o c opopao DSFACT, ocao .
Ec coo cc pa a (1) ap A, o c pa apa , o o cpo popo o cpa c oop oo opoa DSEQN, o opopa DSEQN ( DSFACT, pc c p), a o opopa DSFEQN ooo oco pa.
oc p oc cc pa (1), c o ooo, o ca opaa aa A-1 c oo opopa DSFINV.
opopa DSEQN DSFACT a poo ap L p poo ap U ,.. L*U = A.
LU ooaac a lu(A).
p aao lu(A) oopo ap B opopaa DSFEQN p X pa (1) B, lu(A).
Coa, opopaa DSFEQN o ac oopao c pa .
p aao lu(A) opopaa DSFINV a lu(A) opao ap A-1.

:

: - SUBROUTINE
: - DSFACT DSEQN DSFEQN
DSINV DSFINV
: - TMPRNT(F011)

:

CALL DSINV (N,A,IDIMN,IFAIL)
CALL DSEQN (N,A,IDIMN,IFAIL,K,B)
CALL DSFACT (N,A,IDIMN,IFAIL,DET,JFAIL)
CALL DSFEQN (N,A,IDIMN,K,B)
CALL DSFINV (N,A,IDIMN), :

N - (INTEGER) opo ap A;
A - (REAL*8) p acc, pa papoc oopoo a IDIMN;
IDIMN - (INTEGER) pa papoc acca A ( acca B, c K>1);
IFAIL - (INTEGER) a o IFAIL=0, c apa A ooo pa, IFAIL=-1;
DET - (REAL*8) a o DET a det(A), a c ca, oa JFAIL pao ;
JFAIL - (INTEGER) a o JFAIL=0, c det(A) o pao .
poo a JFAIL p c a:
-2, c apa A - ooo opa,
-1, c det(A) ooo co a,
+1, c det(A) ooo co ;
K - (INTEGER) co coo ap B X;
B - (REAL*8) o a p acc,
pa apoc oopoo a IDIMN.
B o oop, c K=1.
DSEQN ocpa a ap, c K=0.

Copo acco A B a o o :

DSINV a o apa A oa pac acc A.
a o acc A copa ap, opa ap A, c IFAIL=0, poo ca p.
DSEQN a o, apa A pac acc A, a apa B - acc B.
a o ac A cop lu(A), acc B - X , c IFAIL=0.
poo a acc A - op, acc B - .
DSFACT a o apa A pac acc A.
a o acc A cop lu(A), c IFAIL=0, op.
DET a det(A), c JFAIL=0,
a 0, c JFAIL=-1, - op.
DSFEQN a o lu(A) pac acc A, apa B - acc B.
a o acc A cac , a acc B X.
DSFINV a o lu(A) pac acc A.
Ha o acc A copa ap, pa ap A.

:

opoa o aopa o Xoo ( c apa op) [1].

:

c N<1, IDIMN<N, K<0 ( DSEQN), K<1 ( DSFEQN), aac coo o o, ppaac popa .

:

oo aij coo ap A oac a o DSINV, DSEQN DSFACT, oop i≥ j.

:

  1. ..co, .a. pao aopo a o.
    a apa. oca, "aocpo", 1976.
:
    poo,  o apa A papoc 10*10  apa  papoc
    10*3 aoc cooco  acca A  B popa,
    copa apa opaop:
 
       IMPLICIT REAL*8
       DIMENSION R(25), A(25,30), B(25,10)
 
    Toa,  p cc pa c p pa ac,
    oc p  papoc 10*3   acc   , c A 
    ooo opa,  pa  pa a  100, o
     o  opaop:
 
       CALL DSEQN(10,A,25,IFAIL,3,B)
       IF (IFAIL. NE. 0) GO TO 100


home up e-mail