GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
eigs-base.cc File Reference
#include <cfloat>
#include <cmath>
#include <vector>
#include <iostream>
#include "CSparse.h"
#include "lu.h"
#include "MatrixType.h"
#include "chol.h"
#include "dSparse.h"
#include "eigs-base.h"
#include "f77-fcn.h"
#include "lo-arpack-proto.h"
#include "lo-blas-proto.h"
#include "mx-ops.h"
#include "oct-locbuf.h"
#include "oct-rand.h"
#include "quit.h"
#include "sparse-chol.h"
#include "sparse-lu.h"
Include dependency graph for eigs-base.cc:

Go to the source code of this file.

Functions

octave_idx_type EigsComplexNonSymmetricFunc (EigsComplexFunc fun, octave_idx_type n, const std::string &_typ, Complex sigma, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, ComplexColumnVector &cresid, std::ostream &os, double tol, bool rvec, bool, int disp, int maxit)
 
template<typename M >
octave_idx_type EigsComplexNonSymmetricMatrix (const M &m, const std::string typ, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, const M &_b, ColumnVector &permB, ComplexColumnVector &cresid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template octave_idx_type EigsComplexNonSymmetricMatrix< ComplexMatrix > (const ComplexMatrix &m, const std::string typ, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, const ComplexMatrix &_b, ColumnVector &permB, ComplexColumnVector &cresid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template octave_idx_type EigsComplexNonSymmetricMatrix< SparseComplexMatrix > (const SparseComplexMatrix &m, const std::string typ, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, const SparseComplexMatrix &_b, ColumnVector &permB, ComplexColumnVector &cresid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template<typename M >
octave_idx_type EigsComplexNonSymmetricMatrixShift (const M &m, Complex sigma, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, const M &_b, ColumnVector &permB, ComplexColumnVector &cresid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template octave_idx_type EigsComplexNonSymmetricMatrixShift< ComplexMatrix > (const ComplexMatrix &m, Complex sigma, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, const ComplexMatrix &_b, ColumnVector &permB, ComplexColumnVector &cresid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template octave_idx_type EigsComplexNonSymmetricMatrixShift< SparseComplexMatrix > (const SparseComplexMatrix &m, Complex sigma, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, const SparseComplexMatrix &_b, ColumnVector &permB, ComplexColumnVector &cresid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
octave_idx_type EigsRealNonSymmetricFunc (EigsFunc fun, octave_idx_type n, const std::string &_typ, double sigmar, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool, int disp, int maxit)
 
template<typename M >
octave_idx_type EigsRealNonSymmetricMatrix (const M &m, const std::string typ, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, const M &_b, ColumnVector &permB, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template octave_idx_type EigsRealNonSymmetricMatrix< Matrix > (const Matrix &m, const std::string typ, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, const Matrix &_b, ColumnVector &permB, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template octave_idx_type EigsRealNonSymmetricMatrix< SparseMatrix > (const SparseMatrix &m, const std::string typ, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, const SparseMatrix &_b, ColumnVector &permB, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template<typename M >
octave_idx_type EigsRealNonSymmetricMatrixShift (const M &m, double sigmar, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, const M &_b, ColumnVector &permB, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template octave_idx_type EigsRealNonSymmetricMatrixShift< Matrix > (const Matrix &m, double sigmar, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, const Matrix &_b, ColumnVector &permB, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template octave_idx_type EigsRealNonSymmetricMatrixShift< SparseMatrix > (const SparseMatrix &m, double sigmar, octave_idx_type k, octave_idx_type p, octave_idx_type &info, ComplexMatrix &eig_vec, ComplexColumnVector &eig_val, const SparseMatrix &_b, ColumnVector &permB, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
octave_idx_type EigsRealSymmetricFunc (EigsFunc fun, octave_idx_type n, const std::string &_typ, double sigma, octave_idx_type k, octave_idx_type p, octave_idx_type &info, Matrix &eig_vec, ColumnVector &eig_val, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool, int disp, int maxit)
 
template<typename M >
octave_idx_type EigsRealSymmetricMatrix (const M &m, const std::string typ, octave_idx_type k, octave_idx_type p, octave_idx_type &info, Matrix &eig_vec, ColumnVector &eig_val, const M &_b, ColumnVector &permB, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template octave_idx_type EigsRealSymmetricMatrix< Matrix > (const Matrix &m, const std::string typ, octave_idx_type k, octave_idx_type p, octave_idx_type &info, Matrix &eig_vec, ColumnVector &eig_val, const Matrix &_b, ColumnVector &permB, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template octave_idx_type EigsRealSymmetricMatrix< SparseMatrix > (const SparseMatrix &m, const std::string typ, octave_idx_type k, octave_idx_type p, octave_idx_type &info, Matrix &eig_vec, ColumnVector &eig_val, const SparseMatrix &_b, ColumnVector &permB, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template<typename M >
octave_idx_type EigsRealSymmetricMatrixShift (const M &m, double sigma, octave_idx_type k, octave_idx_type p, octave_idx_type &info, Matrix &eig_vec, ColumnVector &eig_val, const M &_b, ColumnVector &permB, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template octave_idx_type EigsRealSymmetricMatrixShift< Matrix > (const Matrix &m, double sigma, octave_idx_type k, octave_idx_type p, octave_idx_type &info, Matrix &eig_vec, ColumnVector &eig_val, const Matrix &_b, ColumnVector &permB, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template octave_idx_type EigsRealSymmetricMatrixShift< SparseMatrix > (const SparseMatrix &m, double sigma, octave_idx_type k, octave_idx_type p, octave_idx_type &info, Matrix &eig_vec, ColumnVector &eig_val, const SparseMatrix &_b, ColumnVector &permB, ColumnVector &resid, std::ostream &os, double tol, bool rvec, bool cholB, int disp, int maxit)
 
template<typename SM , typename M >
static M ltsolve (const SM &L, const ColumnVector &Q, const M &m)
 
static bool LuAminusSigmaB (const SparseMatrix &m, const SparseMatrix &b, bool cholB, const ColumnVector &permB, double sigma, SparseMatrix &L, SparseMatrix &U, octave_idx_type *P, octave_idx_type *Q)
 
static bool LuAminusSigmaB (const Matrix &m, const Matrix &b, bool cholB, const ColumnVector &permB, double sigma, Matrix &L, Matrix &U, octave_idx_type *P, octave_idx_type *Q)
 
static bool LuAminusSigmaB (const SparseComplexMatrix &m, const SparseComplexMatrix &b, bool cholB, const ColumnVector &permB, Complex sigma, SparseComplexMatrix &L, SparseComplexMatrix &U, octave_idx_type *P, octave_idx_type *Q)
 
static bool LuAminusSigmaB (const ComplexMatrix &m, const ComplexMatrix &b, bool cholB, const ColumnVector &permB, Complex sigma, ComplexMatrix &L, ComplexMatrix &U, octave_idx_type *P, octave_idx_type *Q)
 
template<typename M , typename SM >
static octave_idx_type lusolve (const SM &L, const SM &U, M &m)
 
static bool make_cholb (Matrix &b, Matrix &bt, ColumnVector &permB)
 
static bool make_cholb (SparseMatrix &b, SparseMatrix &bt, ColumnVector &permB)
 
static bool make_cholb (ComplexMatrix &b, ComplexMatrix &bt, ColumnVector &permB)
 
static bool make_cholb (SparseComplexMatrix &b, SparseComplexMatrix &bt, ColumnVector &permB)
 
template<typename SM , typename M >
static M utsolve (const SM &U, const ColumnVector &Q, const M &m)
 
static bool vector_product (const SparseMatrix &m, const double *x, double *y)
 
static bool vector_product (const Matrix &m, const double *x, double *y)
 
static bool vector_product (const SparseComplexMatrix &m, const Complex *x, Complex *y)
 
static bool vector_product (const ComplexMatrix &m, const Complex *x, Complex *y)
 
static void warn_convergence (void)
 

Function Documentation

octave_idx_type EigsComplexNonSymmetricFunc ( EigsComplexFunc  fun,
octave_idx_type  n,
const std::string _typ,
Complex  sigma,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
ComplexColumnVector cresid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  ,
int  disp,
int  maxit 
)
template<typename M >
octave_idx_type EigsComplexNonSymmetricMatrix ( const M m,
const std::string  typ,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
const M _b,
ColumnVector permB,
ComplexColumnVector cresid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template octave_idx_type EigsComplexNonSymmetricMatrix< ComplexMatrix > ( const ComplexMatrix m,
const std::string  typ,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
const ComplexMatrix _b,
ColumnVector permB,
ComplexColumnVector cresid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template octave_idx_type EigsComplexNonSymmetricMatrix< SparseComplexMatrix > ( const SparseComplexMatrix m,
const std::string  typ,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
const SparseComplexMatrix _b,
ColumnVector permB,
ComplexColumnVector cresid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template<typename M >
octave_idx_type EigsComplexNonSymmetricMatrixShift ( const M m,
Complex  sigma,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
const M _b,
ColumnVector permB,
ComplexColumnVector cresid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template octave_idx_type EigsComplexNonSymmetricMatrixShift< ComplexMatrix > ( const ComplexMatrix m,
Complex  sigma,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
const ComplexMatrix _b,
ColumnVector permB,
ComplexColumnVector cresid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template octave_idx_type EigsComplexNonSymmetricMatrixShift< SparseComplexMatrix > ( const SparseComplexMatrix m,
Complex  sigma,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
const SparseComplexMatrix _b,
ColumnVector permB,
ComplexColumnVector cresid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
octave_idx_type EigsRealNonSymmetricFunc ( EigsFunc  fun,
octave_idx_type  n,
const std::string _typ,
double  sigmar,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  ,
int  disp,
int  maxit 
)
template<typename M >
octave_idx_type EigsRealNonSymmetricMatrix ( const M m,
const std::string  typ,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
const M _b,
ColumnVector permB,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template octave_idx_type EigsRealNonSymmetricMatrix< Matrix > ( const Matrix m,
const std::string  typ,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
const Matrix _b,
ColumnVector permB,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template octave_idx_type EigsRealNonSymmetricMatrix< SparseMatrix > ( const SparseMatrix m,
const std::string  typ,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
const SparseMatrix _b,
ColumnVector permB,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template<typename M >
octave_idx_type EigsRealNonSymmetricMatrixShift ( const M m,
double  sigmar,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
const M _b,
ColumnVector permB,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template octave_idx_type EigsRealNonSymmetricMatrixShift< Matrix > ( const Matrix m,
double  sigmar,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
const Matrix _b,
ColumnVector permB,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template octave_idx_type EigsRealNonSymmetricMatrixShift< SparseMatrix > ( const SparseMatrix m,
double  sigmar,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
ComplexMatrix eig_vec,
ComplexColumnVector eig_val,
const SparseMatrix _b,
ColumnVector permB,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
octave_idx_type EigsRealSymmetricFunc ( EigsFunc  fun,
octave_idx_type  n,
const std::string _typ,
double  sigma,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
Matrix eig_vec,
ColumnVector eig_val,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  ,
int  disp,
int  maxit 
)
template<typename M >
octave_idx_type EigsRealSymmetricMatrix ( const M m,
const std::string  typ,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
Matrix eig_vec,
ColumnVector eig_val,
const M _b,
ColumnVector permB,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template octave_idx_type EigsRealSymmetricMatrix< Matrix > ( const Matrix m,
const std::string  typ,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
Matrix eig_vec,
ColumnVector eig_val,
const Matrix _b,
ColumnVector permB,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template octave_idx_type EigsRealSymmetricMatrix< SparseMatrix > ( const SparseMatrix m,
const std::string  typ,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
Matrix eig_vec,
ColumnVector eig_val,
const SparseMatrix _b,
ColumnVector permB,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template<typename M >
octave_idx_type EigsRealSymmetricMatrixShift ( const M m,
double  sigma,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
Matrix eig_vec,
ColumnVector eig_val,
const M _b,
ColumnVector permB,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template octave_idx_type EigsRealSymmetricMatrixShift< Matrix > ( const Matrix m,
double  sigma,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
Matrix eig_vec,
ColumnVector eig_val,
const Matrix _b,
ColumnVector permB,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template octave_idx_type EigsRealSymmetricMatrixShift< SparseMatrix > ( const SparseMatrix m,
double  sigma,
octave_idx_type  k,
octave_idx_type  p,
octave_idx_type info,
Matrix eig_vec,
ColumnVector eig_val,
const SparseMatrix _b,
ColumnVector permB,
ColumnVector resid,
std::ostream &  os,
double  tol,
bool  rvec,
bool  cholB,
int  disp,
int  maxit 
)
template<typename SM , typename M >
static M ltsolve ( const SM &  L,
const ColumnVector Q,
const M m 
)
static
static bool LuAminusSigmaB ( const SparseMatrix m,
const SparseMatrix b,
bool  cholB,
const ColumnVector permB,
double  sigma,
SparseMatrix L,
SparseMatrix U,
octave_idx_type P,
octave_idx_type Q 
)
static
static bool LuAminusSigmaB ( const Matrix m,
const Matrix b,
bool  cholB,
const ColumnVector permB,
double  sigma,
Matrix L,
Matrix U,
octave_idx_type P,
octave_idx_type Q 
)
static
static bool LuAminusSigmaB ( const SparseComplexMatrix m,
const SparseComplexMatrix b,
bool  cholB,
const ColumnVector permB,
Complex  sigma,
SparseComplexMatrix L,
SparseComplexMatrix U,
octave_idx_type P,
octave_idx_type Q 
)
static
static bool LuAminusSigmaB ( const ComplexMatrix m,
const ComplexMatrix b,
bool  cholB,
const ColumnVector permB,
Complex  sigma,
ComplexMatrix L,
ComplexMatrix U,
octave_idx_type P,
octave_idx_type Q 
)
static
template<typename M , typename SM >
static octave_idx_type lusolve ( const SM &  L,
const SM &  U,
M m 
)
static
static bool make_cholb ( Matrix b,
Matrix bt,
ColumnVector permB 
)
static
static bool make_cholb ( SparseMatrix b,
SparseMatrix bt,
ColumnVector permB 
)
static
static bool make_cholb ( ComplexMatrix b,
ComplexMatrix bt,
ColumnVector permB 
)
static
static bool make_cholb ( SparseComplexMatrix b,
SparseComplexMatrix bt,
ColumnVector permB 
)
static
template<typename SM , typename M >
static M utsolve ( const SM &  U,
const ColumnVector Q,
const M m 
)
static
static bool vector_product ( const SparseMatrix m,
const double x,
double y 
)
static
static bool vector_product ( const Matrix m,
const double x,
double y 
)
static
static bool vector_product ( const SparseComplexMatrix m,
const Complex x,
Complex y 
)
static
static bool vector_product ( const ComplexMatrix m,
const Complex x,
Complex y 
)
static
static void warn_convergence ( void  )
static

Definition at line 51 of file eigs-base.cc.

Referenced by LuAminusSigmaB().