⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 noname01.txt

📁 Delphi math processing compononets and sources. Release.
💻 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 + -