NAME
matrix utilities - miscellaneous matrix utilities
SYNOPSIS
#include "stock.h"
#include "perf.h"
int dpinv_solver(int m, int n, double *U,int ldu,
double *s,double *Vt,int ldv,
double *b, double *x,double rscv);
int model_space_null_project(double *Vt, int ldvt, int nsv, int n,
double *x, double *xp);
int model_space_range_project(double *Vt, int ldvt, int nsv, int n,
double *x, double *xp);
int data_space_null_project(double *U, int ldu, int nsv, int m,
double *x, double *xp);
SUPPORT
Contributed code: NO BRTT support.
THIS PIECE OF SOFTWARE WAS CONTRIBUTED BY THE ANTELOPE USER COMMUNITY. BRTT DISCLAIMS ALL OWNERSHIP, LIABILITY, AND SUPPORT FOR THIS PIECE OF SOFTWARE.
FOR HELP WITH THIS PIECE OF SOFTWARE, PLEASE CONTACT THE CONTRIBUTING AUTHOR.
DESCRIPTION
This is a collection of matrix routines intimately connected to the
LAPACK singular value decomposition routine called dgesvd(3). The
argument names above are identical to those in the current documentation
for lapack as implemented in sunperf. See man dgesvd(3), the Sun
Performance Library documentation, or books on LAPACK for more background.
Note that all matrices are stored in FORTRAN order which C treats as
vectors broken into blocks (columns) of length ldu, ldvt, etc. (Think
of the ld as standing for
"leading dimension of...".
dpinv_solver is a pseudoinverse solver using left singular values
stored in U and right singular vectors stored in Vt (assumes LAPACK
convention of dgesvd that this is the transpose of V). rsvc defines
the relative cutoff for singular values set as rsvc*max(s) where s
is the vector of singular values. This function returns the number of
singular values used in the solution based on this cutoff.
model_space_null_projector and
model_space_range_projector
are complementary projectors using nsv singular values and the right
singular vectors Vt.
data_space_null_projector is similar but is
constructed from the left singular vectors in the data space.
LIBRARY
$(STOCKLIBS) -lperf
AUTHOR
Gary L. Pavlis
Indiana Univesity
pavlis@indiana.edu
Antelope User Group Contributed Software