MATRIX (kmatrix) library


LIBRARY NAME

kmatrix - (no short description specified)

DESCRIPTION

The kmatrix library (libkmatrix.a) contains matrix operators that are based on the LAPACK library. Function operations include extracting rows, columns, and diagonals, computing eigenvectors and eigenvalues, computing the inverse matrix, computing the least-squares solution to a set of linear equations, LU decomposition, computing the matrix product, and singular value decomposition. All kmatrix functions are written to operate on width-height planes of the polymorphic data model. If the depth, time, or elements dimensions of data object are greater than one, the operation is repeated for each width-height plane. These functions operate only on the value segment, and do not check for any other data segments. The kmatrix operators are implemented using the polymorphic data services, which is a part of the Khoros 2.0 kappserv library.

LAPACK Libraries & Fortran Dependency The kmatrix library depends on the LAPACK libraries lzlapack, ldlapack, and lblas, which are included in the Matrix toolbox.

This section is incomplete and will be completed as we learn more about Fortran dependency and portability issues.

Side Effects The function calls in kmatrix should have no side effects on the source objects passed into them, and should only affect those segments and attributes of the destination object that the operation needs to modify. For example, if a destination object is passed in that already has value, mask, and geometry data, and a multiplication operation is performed on the source value data, the destination mask and geometry data will not be modified, and will remain intact.

Each function call frees all memory that has been allocated within the call, and closes all temporary objects that were opened within the call. The function call will not free memory or close objects that were passed into it.

DISCLAIMER \(em WARNING The kmatrix library is in its first prototype stage, therefore, the behavior and API of these functions may change in the future.

ALL programs that utilize these function calls MUST include the statement:

#include <matrix.h>

LIST OF LIBRARY FUNCTIONS

lmcovar
compute the covariance matrix for a given set of data vectors
lmeigen
compute eigenvectors and eigenvalues
lmexchg
exchange rows and/or columns of a matrix
lmextract_diag
extract row, column, or diagonal from a matrix
lmgdiag
generate a diagonal matrix
lminvert
compute inverse of matrix
lmlse
compute least-squares solution to a set of linear equations
lmlud
compute LU decomposition
lmmul
form matrix product C=AB
lmpow
compute positive integral power of a matrix
lmrcsum
compute row and column sums for a matrix
lmreplicate
replicate a given matrix as submatrices of a larger matrix
lmsvd
compute singular value decomposition (SVD)
lmtransform
transform all E vectors in a data object by a single matrix

ADDITIONAL INFORMATION

LOCATION OF SOURCE FILES

$MATRIX/objects/library/kmatrix/src

LOCATION OF PUBLIC INCLUDE FILE

$MATRIX/include/kmatrix/kmatrix.h

YOU MUST INCLUDE

#include <matrix.h>

SEE ALSO

SEE MANUAL

COPYRIGHT

Copyright (C) 1993 - 1997, Khoral Research, Inc. ("KRI") All rights reserved.