MATALG
Matrix Calculations
MATALG
is a FORTRAN90 program which
carries out computations interactively.
MATALG allows the user to define
scalar, vector, and matrix variables, define and evaluate formulas
involving those variables, and apply some simple linear algebra
methods to data.
Among others, MATALG recognizes matrix quantities such as:
-
A*B: the product of A and B;
-
Det(A): the determinant of A;
-
Eval(A): the eigenvalues of A;
-
Evec(A): the eigenvectors of A;
-
Hilbert(N): the Hilbert matrix of order N.
-
House(V): the Householder matrix for vector V;
-
Inv(A): the inverse of A.
-
Rcond(A): the LINPACK reciprocal condition number of A.
Other commands allow the user to compute the characteristic polynomial,
LU, QR or SVD factorizations, and so on.
Languages:
MATALG is available in
a FORTRAN90 version.
Source Code:
Examples and Tests:
List of Routines:
-
MAIN is the main program for MATALG.
-
BALANC balances a real matrix before eigenvalue calculations.
-
BALBAK back transforms eigenvectors to undo the effect of BALANC.
-
CDIV carries out complex division.
-
CH_CAP capitalizes a single character.
-
CH_EQI is a case insensitive comparison of two characters for equality.
-
CH_IS_ALPHA returns TRUE if C is an alphabetic character.
-
CH_TO_DIGIT returns the integer value of a base 10 digit.
-
CHRINP checks for more input from the buffer, or prints a prompt.
-
CHRREA controls the process of getting input from the user.
-
COMRPN can translate formulas you type in and evaluate them.
-
DIGIT_TO_CH returns the character representation of a decimal digit.
-
EIGEN computes the eigenvalues and eigenvectors for a matrix A.
-
ELMHES reduces all, or a portion of a matrix, to upper Hessenberg form.
-
ELTRAN accumulates transformations used by ELMHES.
-
ENTER allows a user to enter a new variable, and assign it a value.
-
FACTOR computes the PLU, QR or USV factorization of a matrix.
-
FUNSCL evaluates a scalar function of one or more scalar arguments.
-
FUNVAL evaluates a scalar, vector or matrix valued function.
-
HELLO prints out an introductory message for MATALG.
-
HELP prints the help menu.
-
HOUSE constructs the Householder elementary reflector for the vector U.
-
HQR finds the eigenvalues of a real upper Hessenberg matrix by the QR method.
-
HQR2 finds the eigenvalues and eigenvectors of a real upper Hessenberg matrix by the QR method.
-
I4_GCD finds the greatest common divisor of I and J.
-
I4_LCM computes the least common multiple of two integers.
-
I4_TO_S_ZERO converts an integer to a string, with zero padding.
-
INFORM accepts a formula, compiles, evaluates, and displays the value.
-
INICOM initializes data for COMRPN.
-
INTREA gets an integer from the user.
-
KRYLOV computes Krylov vectors for a given matrix A and vector X.
-
MATRIX_DET computes the determinant of a real square matrix.
-
MATRIX_INVERSE computes the inverse of a real square matrix.
-
PART supervises the partitioning of a matrix.
-
POLY computes a polynomial from its roots, or the characteristic polynomial of a matrix.
-
PYTHAG finds SQRT(A**2+B**2) without overflow or destructive underflow.
-
QRFACT computes the QR factorization of a matrix.
-
R4_SWAP switches two R4's.
-
R4COL_SWAP swaps columns I and J of an R4COL.
-
RELREA extracts a real number from a string of input.
-
RG finds the eigenvalues and eigenvectors of a real general matrix.
-
R4MAT_IDENTITY sets the square matrix A to the identity.
-
R4MAT_NORM2 computes the two-norm of a square matrix A.
-
R4MAT_NORME returns the EISPACK norm of an M by N matrix.
-
R4MAT_NORMF returns the Frobenius norm of an M by N matrix.
-
R4MAT_POLY_CHAR computes the characteristic polynomial of a matrix.
-
R4MAT_POLY_VAL evaluates a polynomial with a square matrix as its argument.
-
R4MAT_POWER computes A**NPOW, the nonnegative power of a real square matrix.
-
R4MAT_PRINT prints out a scalar, vector or array.
-
R4MAT_TRACE computes the trace of a real matrix.
-
ROOTS_TO_POLY converts polynomial roots to polynomial coefficients.
-
ROUND rounds the entries of the rectangular array A.
-
RPNCHK examines an RPN formula, looking for a complete RPN expression.
-
RPNSET converts the infix formula into an RPN formula.
-
RPNVAL evaluates the symbolic functions in an RPN formula.
-
R4POLY_PRINT prints out a polynomial.
-
R4ROW_SWAP swaps two rows of an R4ROW.
-
S_BLANK_DELETE removes blanks from a string, left justifying the remainder.
-
S_BLANKS_DELETE replaces consecutive blanks by one blank.
-
S_CHOP "chops out" a portion of a string, and closes up the hole.
-
S_EQI is a case insensitive comparison of two strings for equality.
-
S_INDEXI is a case-insensitive INDEX function.
-
S_IS_ALPHA returns .TRUE. if the string contains only alphabetic characters.
-
S_PAREN_CHECK checks the parentheses in a string.
-
S_TO_I4 reads an I4 from a string.
-
S_TO_R4 reads an R4 from a string.
-
SCOPY copies a vector, X, to a vector, Y.
-
SGE_CHECK checks the dimensions of a general matrix.
-
SGE_CO factors a real matrix and estimates its condition number.
-
SGE_FA factors a general matrix.
-
SGE_INV computes the inverse of a matrix factored by SGE_FA.
-
SGE_PLU produces the PLU factors of a real rectangular matrix.
-
SGE_SL solves a system factored by SGE_FA.
-
SVD determines the singular value decomposition of a matrix.
-
SYMBOL_ADD adds a symbol name to the list of symbolic names.
-
SYMBOL_VALUE sets, evaluates, or deletes a variable.
-
SYMBOL_LIST prints out information about a variable.
-
TABLE prints a table of a formula for regularly spaced argument values.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
-
TOKENS parses a character string into recognized symbols and constants.
You can go up one level to
the FORTRAN90 source codes.
Last revised on 12 November 2006.