las.h
Upload User: hkdiguang
Upload Date: 2013-05-12
Package Size: 105k
Code Size: 2k
Development Platform:

Unix_Linux

  1. // File: las.h -*- c++ -*-
  2. // Author: Suvrit Sra
  3. // Date: 14 Nov, 2003
  4. #ifndef _S_LAS_BASE_H
  5. #define _S_LAS_BASE_H
  6. #include "svdpack.h"
  7. namespace ssvd {
  8. class las : public svdpack {
  9. protected:
  10.   char * error[10];
  11.   // Common variables for the actual run procedures....
  12.   void   machar(long *, long *, long *, long *, long *);
  13.   
  14.   long   check_parameters(long, long, long, double, double, long, long);
  15.   void   write_data(FILE*, long, long, double, double, bool, double,
  16.   char *,char *, long, long, long);
  17. public:
  18.   las() : svdpack()  {
  19.     xv1 = xv2 = a = NULL;
  20.     error[0] = "";
  21.     error[1] = " SORRY, YOUR MATRIX IS TOO BIG ";
  22.     error[2] = " ***** ENDL MUST BE LESS THAN ENDR *****";
  23.     error[3] = " ***** MAXPRS CANNOT EXCEED LANMAX *****";
  24.     error[4] = " ***** N = NROW + NCOL MUST BE GREATER THAN ZERO *****";
  25.     error[5] = " ***** LANMAX (NUMBER OF LANCZOS STEPS) IS INVALID *****";
  26.     error[6] = " ***** MAXPRS (NUMBER OF IEGENPAIRS DESIRED) IS INVALID *****";
  27.     error[7] = " ***** 6*N+4*LANMAX+1 + LANMAX*LANMAX CANNOT EXCEED NW *****";
  28.     error[8] = " ***** 6*N+4*LANMAX+1 CANNOT EXCEED NW *****";
  29.     error[9] = "";
  30.   }
  31.   las(long nm, long nz, long sd) : svdpack(nm, nz, sd)
  32.   { 
  33.     xv1 = xv2 = a = NULL;
  34.     error[0] = "";
  35.     error[1] = " SORRY, YOUR MATRIX IS TOO BIG ";
  36.     error[2] = " ***** ENDL MUST BE LESS THAN ENDR *****";
  37.     error[3] = " ***** MAXPRS CANNOT EXCEED LANMAX *****";
  38.     error[4] = " ***** N = NROW + NCOL MUST BE GREATER THAN ZERO *****";
  39.     error[5] = " ***** LANMAX (NUMBER OF LANCZOS STEPS) IS INVALID *****";
  40.     error[6] = " ***** MAXPRS (NUMBER OF IEGENPAIRS DESIRED) IS INVALID *****";
  41.     error[7] = " ***** 6*N+4*LANMAX+1 + LANMAX*LANMAX CANNOT EXCEED NW *****";
  42.     error[8] = " ***** 6*N+4*LANMAX+1 CANNOT EXCEED NW *****";
  43.     error[9] = "";
  44.   }
  45. };
  46. }
  47. #endif