Defines | Enumerations | Functions | Variables

las2.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <math.h>
#include <fcntl.h>
#include "svdlib.h"
#include "svdutil.h"
Include dependency graph for las2.c:

Go to the source code of this file.

Defines

#define MAXLL   2
#define LMTNW   100000000

Enumerations

enum  storeVals { STORQ = 1, RETRQ, STORP, RETRP }

Functions

void purge (long n, long ll, double *r, double *q, double *ra, double *qa, double *wrk, double *eta, double *oldeta, long step, double *rnmp, double tol)
void ortbnd (double *alf, double *eta, double *oldeta, double *bet, long step, double rnm)
double startv (SMat A, double *wptr[], long step, long n)
void store (long, long, long, double *)
void imtql2 (long, long, double *, double *, double *)
void imtqlb (long n, double d[], double e[], double bnd[])
void write_header (long, long, double, double, long, double, long, long, long)
long check_parameters (SMat A, long dimensions, long iterations, double endl, double endr, long vectors)
int lanso (SMat A, long iterations, long dimensions, double endl, double endr, double *ritz, double *bnd, double *wptr[], long *neigp, long n)
long ritvec (long n, SMat A, SVDRec R, double kappa, double *ritz, double *bnd, double *alf, double *bet, double *w2, long steps, long neig)
long lanczos_step (SMat A, long first, long last, double *wptr[], double *alf, double *eta, double *oldeta, double *bet, long *ll, long *enough, double *rnmp, double *tolp, long n)
void stpone (SMat A, double *wrkptr[], double *rnmp, double *tolp, long n)
long error_bound (long *, double, double, double *, double *, long step, double tol)
void machar (long *ibeta, long *it, long *irnd, long *machep, long *negep)
SVDRec svdLAS2A (SMat A, long dimensions)
SVDRec svdLAS2 (SMat A, long dimensions, long iterations, double end[2], double kappa)
void rotateArray (double *a, int size, int x)
void imtql2 (long nm, long n, double d[], double e[], double z[])

Variables

static char * error_msg []
double ** LanStore
double * OPBTemp
double eps
double eps1
double reps
double eps34
long ierr

Define Documentation

#define LMTNW   100000000

Definition at line 22 of file las2.c.

#define MAXLL   2

Definition at line 20 of file las2.c.

Referenced by lanczos_step(), store(), and svdLAS2().


Enumeration Type Documentation

enum storeVals
Enumerator:
STORQ 
RETRQ 
STORP 
RETRP 

Definition at line 24 of file las2.c.


Function Documentation

long check_parameters ( SMat  A,
long  dimensions,
long  iterations,
double  endl,
double  endr,
long  vectors 
)

Definition at line 199 of file las2.c.

References smat::cols, error_msg, smat::rows, and svd_error().

Referenced by svdLAS2().

long error_bound ( long *  enough,
double  endl,
double  endr,
double *  ritz,
double *  bnd,
long  step,
double  tol 
)

Definition at line 1230 of file las2.c.

References eps, eps34, svd_dmin(), and svd_idamax().

Referenced by lanso().

void imtql2 ( long  ,
long  ,
double *  ,
double *  ,
double *   
)

Referenced by ritvec().

void imtql2 ( long  nm,
long  n,
double  d[],
double  e[],
double  z[] 
)

Definition at line 1471 of file las2.c.

References FALSE, ierr, svd_fsign(), svd_pythag(), and TRUE.

void imtqlb ( long  n,
double  d[],
double  e[],
double  bnd[] 
)

Definition at line 1315 of file las2.c.

References FALSE, ierr, svd_fsign(), svd_pythag(), and TRUE.

Referenced by lanso().

long lanczos_step ( SMat  A,
long  first,
long  last,
double *  wptr[],
double *  alf,
double *  eta,
double *  oldeta,
double *  bet,
long *  ll,
long *  enough,
double *  rnmp,
double *  tolp,
long  n 
)
int lanso ( SMat  A,
long  iterations,
long  dimensions,
double  endl,
double  endr,
double *  ritz,
double *  bnd,
double *  wptr[],
long *  neigp,
long  n 
)
void machar ( long *  ibeta,
long *  it,
long *  irnd,
long *  machep,
long *  negep 
)

Definition at line 1629 of file las2.c.

References eps.

Referenced by svdLAS2().

void ortbnd ( double *  alf,
double *  eta,
double *  oldeta,
double *  bet,
long  step,
double  rnm 
)

Definition at line 935 of file las2.c.

References eps1, and svd_dswap().

Referenced by lanczos_step().

void purge ( long  n,
long  ll,
double *  r,
double *  q,
double *  ra,
double *  qa,
double *  wrk,
double *  eta,
double *  oldeta,
long  step,
double *  rnmp,
double  tol 
)

Definition at line 998 of file las2.c.

References eps1, FALSE, reps, RETRQ, store(), svd_daxpy(), svd_dcopy(), svd_ddot(), svd_idamax(), and TRUE.

Referenced by lanczos_step().

long ritvec ( long  n,
SMat  A,
SVDRec  R,
double  kappa,
double *  ritz,
double *  bnd,
double *  alf,
double *  bet,
double *  w2,
long  steps,
long  neig 
)
void rotateArray ( double *  a,
int  size,
int  x 
)

Definition at line 533 of file las2.c.

Referenced by ritvec().

double startv ( SMat  A,
double *  wptr[],
long  step,
long  n 
)

Definition at line 1152 of file las2.c.

References eps, ierr, OPBTemp, RETRQ, store(), svd_daxpy(), svd_dcopy(), svd_ddot(), svd_opb(), and svd_random2().

Referenced by lanczos_step(), and stpone().

void store ( long  n,
long  isw,
long  j,
double *  s 
)
void stpone ( SMat  A,
double *  wrkptr[],
double *  rnmp,
double *  tolp,
long  n 
)

Definition at line 1086 of file las2.c.

References ierr, OPBTemp, reps, startv(), svd_datx(), svd_daxpy(), svd_dcopy(), svd_ddot(), svd_dscal(), and svd_opb().

Referenced by lanso().

SVDRec svdLAS2 ( SMat  A,
long  dimensions,
long  iterations,
double  end[2],
double  kappa 
)
SVDRec svdLAS2A ( SMat  A,
long  dimensions 
)

Definition at line 315 of file las2.c.

References svd_error(), and svdLAS2().

void write_header ( long  iterations,
long  dimensions,
double  endl,
double  endr,
long  vectors,
double  kappa,
long  nrow,
long  ncol,
long  vals 
)

Definition at line 223 of file las2.c.

Referenced by svdLAS2().


Variable Documentation

double eps

Definition at line 39 of file las2.c.

Referenced by error_bound(), machar(), multiclass_probability(), sigmoid_train(), startv(), and svdLAS2().

double eps1

Definition at line 39 of file las2.c.

Referenced by lanczos_step(), lanso(), ortbnd(), purge(), and svdLAS2().

double eps34

Definition at line 39 of file las2.c.

Referenced by error_bound(), and svdLAS2().

char* error_msg[] [static]
Initial value:
 {  
  NULL,
  "",
  "ENDL MUST BE LESS THAN ENDR",
  "REQUESTED DIMENSIONS CANNOT EXCEED NUM ITERATIONS",
  "ONE OF YOUR DIMENSIONS IS LESS THAN OR EQUAL TO ZERO",
  "NUM ITERATIONS (NUMBER OF LANCZOS STEPS) IS INVALID",
  "REQUESTED DIMENSIONS (NUMBER OF EIGENPAIRS DESIRED) IS INVALID",
  "6*N+4*ITERATIONS+1 + ITERATIONS*ITERATIONS CANNOT EXCEED NW",
  "6*N+4*ITERATIONS+1 CANNOT EXCEED NW", NULL}

Definition at line 26 of file las2.c.

Referenced by check_parameters(), and svmTrain().

long ierr

Definition at line 40 of file las2.c.

Referenced by imtql2(), imtqlb(), lanczos_step(), lanso(), ritvec(), startv(), and stpone().

double** LanStore

Definition at line 38 of file las2.c.

Referenced by store(), and svdLAS2().

double * OPBTemp

Definition at line 38 of file las2.c.

Referenced by lanczos_step(), ritvec(), startv(), stpone(), and svdLAS2().

double reps

Definition at line 39 of file las2.c.

Referenced by lanczos_step(), purge(), stpone(), and svdLAS2().