📄 noname01.txt
字号:
{
EBK&NVS Library for Turbo/Object Pascal: Linear Algebra
Authors:
Nikolai V. Shokhirev <nikolai@shokhirev.com> <nikolai@u.arizona.edu>
Eugene B. Krissinel <keb@ebi.ac.uk> <krissinel@fh.huji.ac.il>
Created: 1991-1994
Lastmod: 10.10.2002
This is a temporary publication (reduced variant), will be updated later
㎞ikolai V. Shokhirev, 2002
}
unit LinAlg;
interface
uses
MathTypes;
{ Householder (tridiagonal) reduction of a real, symmetric, n by n matrix a. }
procedure tred2(const a: Matrix; n: integer; vectors: boolean; var d, e: Vector);
{ QL diagonalization algorithm with implicit shifts for a real tridiaginal symmetric matrix. }
procedure tqli(var d, e: Vector; n: integer; vectors: boolean; const z: Matrix; var signal: integer);
{ Sorting of the eigenvalues E and eigenvectors C }
procedure Order(var E: Vector; n: integer; vectors, ascending: boolean; const C: Matrix );
{ combines calls of the three above routines }
procedure Diag(const a: Matrix; n: integer; vectors, ascending: boolean; var d, e: Vector; signal: integer);
{ Claccical Jacobi diagonalization of real symmetric square matrices }
procedure Jacobi(N: integer; const A, T: Matrix; var Eigen, Aik: Vector; var Signal: integer);
{ Jacobi diagonalization of Complex Hermitian square matrices }
procedure JacobiC(N: integer; const A, B, U, V: Matrix; var E: Vector; var Signal: integer);
{ Fast Inversion of the matrix A by the Gauss-Jordan elimination algorithm }
procedure FastInverse(N: integer; var A: Matrix; var J0: IVector; var Det: RealType; var Signal: integer);
{ Singular Value Decomposition }
procedure SVD(NA, M, N: integer; const A, U, V: Matrix; var W, RV1: Vector; MatU, MatV: boolean; RetCode: integer);
{ sorting }
procedure OrderSVD(M,N: integer; const U,V: Matrix; var W: Vector; MatU,MatV: boolean );
{ Perturbated Cholesky Decomposition }
procedure CholDecomp(N: integer; var HDiag: Vector; MaxOff,MachEps: RealType; const L: Matrix; var MaxAdd: RealType);
{ Cholesky L - Solution of L*Y = B (for given B) }
procedure LSolve(N: integer; const L: Matrix; var B,Y: Vector );
{ Cholesky LT - Solution of LT*X = Y (for given Y) }
procedure LTSolve(N: integer; const L: Matrix; var Y,X: Vector );
{ Solution of the equation L*LT*S = G by the Cholesky method }
procedure ChSolve(N: integer; const L: Matrix; var G,S: Vector );
{ Cholesky decomposition of the band matrix H[1..p+1,1..N].
procedure CholBandDec(N,p: integer; const H,L: Matrix);
{ Cholesky L - Solution of L*Y = B (for given B)
procedure LBandSolve(N,p: integer; const L: Matrix; var B,Y: Vector );
{ Cholesky LT - Solution of LT*X = Y (for given Y)
procedure LTBandSolve(N,p: integer; const L: Matrix; var Y,X: Vector );
{ Solution of the equation L*LT*S = G by the Cholesky method
procedure ChBandSolve(N,p: integer; const L: Matrix; var G,S: Vector );
{ QR Decomposition of the M }
procedure QRDecomp(N: integer; const M: Matrix; var M1,M2: Vector; var Sing: boolean);
{ This routine solves R*X = B for X ,
procedure RSolve(N: integer; const M: Matrix; var M2,B: Vector );
{ This routine solves the equation (QR)*X = B,
procedure QRSolve(N: integer; const M: Matrix; var M1,M2,B: Vector );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -