|
|
|
|
||
|
DEFINITION MODULE LgMatCalc; (******************************************************************* Module LgMatCalc (Version 1.0) Copyright (c) 1998-2006 by Dimitrios Gyalistras and ETH Zurich. Purpose Basic calculations for double precision matrices and vectors (large matrices, more than 4k x 4k elements). Remarks This module is part of the package LgMatrices. Programming o Design Dimitrios Gyalistras 20/07/1998 o Implementation Dimitrios Gyalistras 20/07/1998 ETH Zurich Systems Ecology CHN E 35.1 Universitaetstrasse 16 8092 Zurich SWITZERLAND URLs: <mailto:RAMSES@env.ethz.ch> <http://www.sysecol.ethz.ch> <http://www.sysecol.ethz.ch/SimSoftware/RAMSES> Last revision of definition: 24/05/2002 AF *******************************************************************) FROM LgMatrices IMPORT LMatrix, LVector; (******************************************************************) (* Note: the dimensions of all LVector and LMatrix objects used below are determined automatically via procedures LMatrices.NElems, LMatrices.NRows and LMatrices.NCols. *) PROCEDURE SetToIdentityMatrix( mat: LMatrix ); PROCEDURE IsIdentityMatrix( mat : LMatrix; tol : LONGREAL ): BOOLEAN; PROCEDURE ScaleMatrix( mat : LMatrix; fact : LONGREAL ); PROCEDURE MatrixProduct( mat1 : LMatrix; mat2 : LMatrix; res : LMatrix ); PROCEDURE MatrixSum( mat1 : LMatrix; mat2 : LMatrix; res : LMatrix ); PROCEDURE MatVecProduct( mat : LMatrix; vec : LVector; res : LVector ); PROCEDURE GetColMuSig( data : LMatrix; col : INTEGER; VAR nn : INTEGER; VAR mu : LONGREAL; VAR sig : LONGREAL ); PROCEDURE GetRowMuSig( data : LMatrix; row : INTEGER; VAR nn : INTEGER; VAR mu : LONGREAL; VAR sig : LONGREAL ); PROCEDURE GetColsCov( data : LMatrix; col1 : INTEGER; col2 : INTEGER; lag : INTEGER; VAR nn : INTEGER; VAR mu1 : LONGREAL; VAR mu2 : LONGREAL; VAR cov : LONGREAL ); (* Computes covariance between columns col1 and col2 of matrix data, with col2 lagged lag time steps in relation to col1. *) PROCEDURE GetRowsCov( data : LMatrix; row1 : INTEGER; row2 : INTEGER; lag : INTEGER; VAR nn : INTEGER; VAR mu1 : LONGREAL; VAR mu2 : LONGREAL; VAR cov : LONGREAL ); END LgMatCalc.
|
||
|
|
|