Паскаль
Предлагаю вашему вниманию самописные модули и программы на Free Pascal для решения системы линейных уравнений. Далее привожу интерфейсные части модулей:
Unit _Mathem
Functions: Sum (a,b: Real): Real; Diff (a,b: Real): Real; Prod (a,b: Real): Real; Quot (a,b: Real): Real; Power (a,b: Real): Real; Factorial(n : Byte): LongInt; Tan (x : Real): Real; ArcSin (x : Real): Real; ArcCos (x : Real): Real;
Procedures: SysToDec (SysNumber: String ; Sys: Byte; var DecNumber: LongInt); DecToSys (DecNumber: LongInt; Sys: Byte; var SysNumber: String );
Unit _Matrixs
Procedures: ZeroMat (var Mat ; m,n : Byte); ReadMat (var Mat ; m,n : Byte); WriteMat (var Mat ; m,n : Byte);
Procedures: RowSwap (var Mat ; m,n : Byte; n1,n2: Byte); ColSwap (var Mat ; m,n : Byte; n1,n2: Byte); RowAdd (var Mat ; m,n : Byte; n1,n2: Byte); ColAdd (var Mat ; m,n : Byte; n1,n2: Byte); MultRow (var Mat ; m,n : Byte; Row: Byte; Number: Real); MultCol (var Mat ; m,n : Byte; Col: Byte; Number: Real); MultMat (var Mat ; m,n : Byte; Number: Real);
Procedures: GetMatSum (var Mat1; m,n : Byte; var Mat2; var ResMat); GetMatProd (var Mat1; m,n : Byte; var Mat2; p: Byte; var ResMat);
Functions: Determinant (var Mat; n : Byte): Real; AddMinor (var Mat; n,i,j: Byte): Real; AlgAdd (var Mat; n,i,j: Byte): Real;
Procedures: GetMinor (var Mat; m,n : Byte; var Mnr ; i1,i2,j1,j2: Byte); GetAddMinor (var Mat; m,n : Byte; var AddMnr; i1,i2,j1,j2: Byte); GetInvMat (var Mat; n : Byte; var InvMat); Simplification(var Mat; m,n : Byte);
Скачать можно здесь.