Overview
| Comment: | Uses LU decomposition - much faster than SVD when N>100 |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | origin/master | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
2ed682530667dc80e4ca54a09cc0671c |
| User & Date: | gawthrop@users.sourceforge.net on 1998-08-17 15:56:10.000 |
| Other Links: | branch diff | manifest | tags |
Context
|
1998-08-17
| ||
| 15:57:12 | Now uses LUD in place of SVD - faster for N>100 check-in: 735d80c692 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
| 15:56:10 | Uses LU decomposition - much faster than SVD when N>100 check-in: 2ed6825306 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
| 15:55:19 | added notice check-in: 395c649048 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
Changes
Modified mttroot/mtt/bin/trans/p/mtt_solve_lud.p
from [565d7f41a5]
to [25bf4234bb].
|
| | | > > > | | > | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
PROCEDURE mtt_solve_lud(VAR x : StateVector;
A : StateMatrix;
B : StateVector;
n : integer);
{
Linear equation solution via LU factorisation
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % Version control history
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % $Id$
% % $Log$
% % Revision 1.1 1998/08/17 12:52:16 peterg
% % Initial revision
% %
% % Revision 1.1 1998/08/17 12:41:37 peterg
% % Initial revision
% %
% % Revision 1.2 1998/08/14 12:09:13 peterg
% % A passed by value - its destroyed by SVDcm
% %
% % Revision 1.1 1998/08/13 08:51:57 peterg
% % Initial revision
% %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
}
VAR
i : integer;
d : real;
Index : StateVector;
(*$I mtt_ludcmp.p *)
(*$I mtt_lubksb.p *)
BEGIN{mtt_solve}
(* decompose matrix A using LU decomposition *)
mtt_ludcmp(A,n,Index,d);
(* backsubstitute for B *)
mtt_lubksb(A,n,Index,B);
(* x now lives in B *)
FOR i := 1 TO n DO
x[i] := B[i];
END{mtt_solve};
|
| ︙ | ︙ |