📄 s_las2.h
字号:
// File: s_las2.h -*- c++ -*-// Author: Suvrit Sra// Date: 12 Nov, 2003// (c) Suvrit Sra 2004 All Rights Reserved#ifndef _S_LAS2_H_#define _S_LAS2_H_#include "las.h"namespace ssvd {/************************************************************** * Sparse svd via eigensystem of A'A matrix * * The equivalent symmetric eigenvalue problem: * * * * B x = lambda x, where x' = (u',v'), lambda = sigma**2, * * * * B = A'A, and A is m (nrow) by n (ncol) (nrow >> ncol), * * * * so that {u, sqrt(lambda), v} is a singular triplet of A. * * (A' = transpose of A) * * * * global variables and common areas used by las2 and its * * procedures. * **************************************************************/class s_las2 : public las { void store (long, long, long, double *); void lanso(long, long, long, double, double, double *, double *, double *[]); void ritvec(long, FILE*, bool, long n, double kappa, double *ritz, double *bnd, double *alf, double *bet, double *w1, double *w2); void stpone (long n, double *wrkptr[] ); double startv (long, double *[]); void imtqlb (long, double*, double*, double* ); void lanczos_step(long, long, long, double *[], double *, double *, double *, double *, long *, long *); void error_bound(long *, double, double, double *, double *); void ortbnd(double *alf, double *eta, double *oldeta, double *bet); void purge(long n, long ll, double *r, double *q, double *ra, double *qa, double *wrk, double *eta, double *oldeta); long idamax(long, double *, long);protected: void mopb(long n, double *x, double *y); void mopa(double *x, double *y);public: // Taken from las2.c long landr(long, FILE*, bool, long, long, long, long, double, double, bool, double, double *, double *, double *); virtual int runIt() = 0;};}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -