las.h
上传用户:hkdiguang
上传日期:2013-05-12
资源大小:105k
文件大小:2k
- // File: las.h -*- c++ -*-
- // Author: Suvrit Sra
- // Date: 14 Nov, 2003
- #ifndef _S_LAS_BASE_H
- #define _S_LAS_BASE_H
- #include "svdpack.h"
- namespace ssvd {
- class las : public svdpack {
- protected:
- char * error[10];
- // Common variables for the actual run procedures....
- void machar(long *, long *, long *, long *, long *);
-
- long check_parameters(long, long, long, double, double, long, long);
- void write_data(FILE*, long, long, double, double, bool, double,
- char *,char *, long, long, long);
- public:
- las() : svdpack() {
- xv1 = xv2 = a = NULL;
- error[0] = "";
- error[1] = " SORRY, YOUR MATRIX IS TOO BIG ";
- error[2] = " ***** ENDL MUST BE LESS THAN ENDR *****";
- error[3] = " ***** MAXPRS CANNOT EXCEED LANMAX *****";
- error[4] = " ***** N = NROW + NCOL MUST BE GREATER THAN ZERO *****";
- error[5] = " ***** LANMAX (NUMBER OF LANCZOS STEPS) IS INVALID *****";
- error[6] = " ***** MAXPRS (NUMBER OF IEGENPAIRS DESIRED) IS INVALID *****";
- error[7] = " ***** 6*N+4*LANMAX+1 + LANMAX*LANMAX CANNOT EXCEED NW *****";
- error[8] = " ***** 6*N+4*LANMAX+1 CANNOT EXCEED NW *****";
- error[9] = "";
- }
- las(long nm, long nz, long sd) : svdpack(nm, nz, sd)
- {
- xv1 = xv2 = a = NULL;
- error[0] = "";
- error[1] = " SORRY, YOUR MATRIX IS TOO BIG ";
- error[2] = " ***** ENDL MUST BE LESS THAN ENDR *****";
- error[3] = " ***** MAXPRS CANNOT EXCEED LANMAX *****";
- error[4] = " ***** N = NROW + NCOL MUST BE GREATER THAN ZERO *****";
- error[5] = " ***** LANMAX (NUMBER OF LANCZOS STEPS) IS INVALID *****";
- error[6] = " ***** MAXPRS (NUMBER OF IEGENPAIRS DESIRED) IS INVALID *****";
- error[7] = " ***** 6*N+4*LANMAX+1 + LANMAX*LANMAX CANNOT EXCEED NW *****";
- error[8] = " ***** 6*N+4*LANMAX+1 CANNOT EXCEED NW *****";
- error[9] = "";
- }
- };
- }
- #endif