MATALG - Matrix Calculations
MATALG is an interactive program that 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.
Files you may copy include:
The list of routines includes:
-
MATALG is the main program for an interactive matrix algebra program.
-
BALANC balances a real matrix before eigenvalue calculations.
-
BALBAK back transforms eigenvectors to undo the effect of BALANC.
-
CH_CAP capitalizes a single character.
-
C_EQI is a case insensitive comparison of two characters for equality.
-
C_IS_ALPHA returns TRUE if C is an alphabetic character.
-
CH_TO_DIGIT returns the integer value of a base 10 digit.
-
CDIV carries out complex division.
-
CHRINP checks for more input from the buffer, or prints a prompt.
-
CHRINT writes an integer into a 6 character string.
-
CHRREA controls the process of getting input from the user.
-
CHRREL writes a real into a 20 character string.
-
CHRWRT writes a character string to one or more output units.
-
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.
-
I_GCD finds the greatest common divisor of I and J.
-
I_LCM computes the least common multiple of two integers.
-
I_TO_S_ZERO converts an integer to a string, with zero padding.
-
INDATA stores and retrieves data.
-
INFILE sets the name of the input file.
-
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.
-
MATDET computes the determinant of a matrix.
-
MATINV computes the inverse of a matrix.
-
RMAT_POWER computes A**NPOW, the nonnegative power of a real square matrix.
-
RMAT_PRINT prints out a scalar, vector or array.
-
NPAGE determines whether it's time to pause before printing more lines.
-
PART supervises the partitioning of a matrix.
-
POLY computes a polynomial from its roots, or the characteristic polynomial of a matrix.
-
POLY_PRINT prints out a polynomial.
-
PYTHAG finds SQRT(A**2+B**2) without overflow or destructive underflow.
-
QRFACT computes the QR factorization of a matrix.
-
R_SWAP switches two real values.
-
RCOL_SWAP swaps columns I and J of a real array of column data.
-
RMAT_IDENTITY sets the square matrix A to the identity.
-
RROW_SWAP swaps two rows of a table.
-
RELREA extracts a real number from a string of input.
-
RG finds the eigenvalues and eigenvectors of a real general matrix.
-
RMAT_NORM2 computes the two-norm of a square matrix A.
-
RMAT_NORME returns the EISPACK norm of an M by N matrix.
-
RMAT_NORMF returns the Frobenius norm of an M by N matrix.
-
RMAT_POLY_CHAR computes the characteristic polynomial of a matrix.
-
RMAT_POLY_VAL evaluates a polynomial with a square matrix as its argument.
-
RMAT_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.
-
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_I reads an integer value from a string.
-
S_TO_R reads a real number from a string.
-
SCOPY copies a vector, X, to a vector, Y.
-
SGE_CHECK checks the dimensions of a general matrix.
-
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.
-
SGECO factors a real matrix and estimates its condition number.
-
SGE_SL solves a system factored by SGE_FA.
-
SVD determines the singular value decomposition of a matrix.
-
SYMADD adds a symbol name to the list of symbolic names.
-
SYMLST prints out information about a variable.
-
SYMBOL_VALUE sets, evaluates, or deletes a variable.
-
TABLE prints a table of a formula for regularly spaced argument values.
-
TOKENS parses a character string into recognized symbols and constants.
Back to the FORTRAN software page.
Last revised on 27 March 2001.