GNU Octave  8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
sparse-lu.cc File Reference
#include "CSparse.h"
#include "PermMatrix.h"
#include "dSparse.h"
#include "lo-error.h"
#include "lo-mappers.h"
#include "oct-locbuf.h"
#include "oct-sparse.h"
#include "oct-spparms.h"
#include "sparse-lu.h"
Include dependency graph for sparse-lu.cc:

Go to the source code of this file.

Functions

template<typename T >
void umfpack_defaults (double *Control)
 
template<>
OCTAVE_API void umfpack_defaults< Complex > (double *Control)
 
template<>
OCTAVE_API void umfpack_defaults< double > (double *Control)
 
template<typename T >
void umfpack_free_numeric (void **Numeric)
 
template<>
OCTAVE_API void umfpack_free_numeric< Complex > (void **Numeric)
 
template<>
OCTAVE_API void umfpack_free_numeric< double > (void **Numeric)
 
template<typename T >
void umfpack_free_symbolic (void **Symbolic)
 
template<>
OCTAVE_API void umfpack_free_symbolic< Complex > (void **Symbolic)
 
template<>
OCTAVE_API void umfpack_free_symbolic< double > (void **Symbolic)
 
template<typename T >
octave_idx_type umfpack_get_lunz (octave_idx_type *lnz, octave_idx_type *unz, void *Numeric)
 
template<>
OCTAVE_API octave_idx_type umfpack_get_lunz< Complex > (octave_idx_type *lnz, octave_idx_type *unz, void *Numeric)
 
template<>
OCTAVE_API octave_idx_type umfpack_get_lunz< double > (octave_idx_type *lnz, octave_idx_type *unz, void *Numeric)
 
template<typename T >
octave_idx_type umfpack_get_numeric (octave_idx_type *Lp, octave_idx_type *Lj, T *Lx, octave_idx_type *Up, octave_idx_type *Ui, T *Ux, octave_idx_type *p, octave_idx_type *q, double *Dz_packed, octave_idx_type *do_recip, double *Rs, void *Numeric)
 
template<>
OCTAVE_API octave_idx_type umfpack_get_numeric< Complex > (octave_idx_type *Lp, octave_idx_type *Lj, Complex *Lz, octave_idx_type *Up, octave_idx_type *Ui, Complex *Uz, octave_idx_type *p, octave_idx_type *q, double *Dz, octave_idx_type *do_recip, double *Rs, void *Numeric)
 
template<>
OCTAVE_API octave_idx_type umfpack_get_numeric< double > (octave_idx_type *Lp, octave_idx_type *Lj, double *Lx, octave_idx_type *Up, octave_idx_type *Ui, double *Ux, octave_idx_type *p, octave_idx_type *q, double *Dx, octave_idx_type *do_recip, double *Rs, void *Numeric)
 
template<typename T >
octave_idx_type umfpack_numeric (const octave_idx_type *Ap, const octave_idx_type *Ai, const T *Ax, void *Symbolic, void **Numeric, const double *Control, double *Info)
 
template<>
OCTAVE_API octave_idx_type umfpack_numeric< Complex > (const octave_idx_type *Ap, const octave_idx_type *Ai, const Complex *Az, void *Symbolic, void **Numeric, const double *Control, double *Info)
 
template<>
OCTAVE_API octave_idx_type umfpack_numeric< double > (const octave_idx_type *Ap, const octave_idx_type *Ai, const double *Ax, void *Symbolic, void **Numeric, const double *Control, double *Info)
 
template<typename T >
octave_idx_type umfpack_qsymbolic (octave_idx_type n_row, octave_idx_type n_col, const octave_idx_type *Ap, const octave_idx_type *Ai, const T *Ax, const octave_idx_type *Qinit, void **Symbolic, const double *Control, double *Info)
 
template<>
OCTAVE_API octave_idx_type umfpack_qsymbolic< Complex > (octave_idx_type n_row, octave_idx_type n_col, const octave_idx_type *Ap, const octave_idx_type *Ai, const Complex *Az, const octave_idx_type *Qinit, void **Symbolic, const double *Control, double *Info)
 
template<>
OCTAVE_API octave_idx_type umfpack_qsymbolic< double > (octave_idx_type n_row, octave_idx_type n_col, const octave_idx_type *Ap, const octave_idx_type *Ai, const double *Ax, const octave_idx_type *Qinit, void **Symbolic, const double *Control, double *Info)
 
template<typename T >
void umfpack_report_control (const double *Control)
 
template<>
OCTAVE_API void umfpack_report_control< Complex > (const double *Control)
 
template<>
OCTAVE_API void umfpack_report_control< double > (const double *Control)
 
template<typename T >
void umfpack_report_info (const double *Control, const double *Info)
 
template<>
OCTAVE_API void umfpack_report_info< Complex > (const double *Control, const double *Info)
 
template<>
OCTAVE_API void umfpack_report_info< double > (const double *Control, const double *Info)
 
template<typename T >
void umfpack_report_matrix (octave_idx_type n_row, octave_idx_type n_col, const octave_idx_type *Ap, const octave_idx_type *Ai, const T *Ax, octave_idx_type col_form, const double *Control)
 
template<>
OCTAVE_API void umfpack_report_matrix< Complex > (octave_idx_type n_row, octave_idx_type n_col, const octave_idx_type *Ap, const octave_idx_type *Ai, const Complex *Az, octave_idx_type col_form, const double *Control)
 
template<>
OCTAVE_API void umfpack_report_matrix< double > (octave_idx_type n_row, octave_idx_type n_col, const octave_idx_type *Ap, const octave_idx_type *Ai, const double *Ax, octave_idx_type col_form, const double *Control)
 
template<typename T >
void umfpack_report_numeric (void *Numeric, const double *Control)
 
template<>
OCTAVE_API void umfpack_report_numeric< Complex > (void *Numeric, const double *Control)
 
template<>
OCTAVE_API void umfpack_report_numeric< double > (void *Numeric, const double *Control)
 
template<typename T >
void umfpack_report_perm (octave_idx_type np, const octave_idx_type *Perm, const double *Control)
 
template<>
OCTAVE_API void umfpack_report_perm< Complex > (octave_idx_type np, const octave_idx_type *Perm, const double *Control)
 
template<>
OCTAVE_API void umfpack_report_perm< double > (octave_idx_type np, const octave_idx_type *Perm, const double *Control)
 
template<typename T >
void umfpack_report_status (double *Control, octave_idx_type status)
 
template<>
OCTAVE_API void umfpack_report_status< Complex > (double *Control, octave_idx_type status)
 
template<>
OCTAVE_API void umfpack_report_status< double > (double *Control, octave_idx_type status)
 
template<typename T >
void umfpack_report_symbolic (void *Symbolic, const double *Control)
 
template<>
OCTAVE_API void umfpack_report_symbolic< Complex > (void *Symbolic, const double *Control)
 
template<>
OCTAVE_API void umfpack_report_symbolic< double > (void *Symbolic, const double *Control)
 

Variables

template class OCTAVE_API sparse_lu< SparseComplexMatrix >
 
template class OCTAVE_API sparse_lu< SparseMatrix >
 

Function Documentation

◆ umfpack_defaults()

template<typename T >
void umfpack_defaults ( double *  Control)

◆ umfpack_defaults< Complex >()

template<>
OCTAVE_API void umfpack_defaults< Complex > ( double *  Control)
inline

Definition at line 266 of file sparse-lu.cc.

References UMFPACK_ZNAME.

◆ umfpack_defaults< double >()

template<>
OCTAVE_API void umfpack_defaults< double > ( double *  Control)
inline

Definition at line 130 of file sparse-lu.cc.

References UMFPACK_DNAME.

◆ umfpack_free_numeric()

template<typename T >
void umfpack_free_numeric ( void **  Numeric)

◆ umfpack_free_numeric< Complex >()

template<>
OCTAVE_API void umfpack_free_numeric< Complex > ( void **  Numeric)
inline

Definition at line 273 of file sparse-lu.cc.

References UMFPACK_ZNAME.

◆ umfpack_free_numeric< double >()

template<>
OCTAVE_API void umfpack_free_numeric< double > ( void **  Numeric)
inline

Definition at line 137 of file sparse-lu.cc.

References UMFPACK_DNAME.

◆ umfpack_free_symbolic()

template<typename T >
void umfpack_free_symbolic ( void **  Symbolic)

◆ umfpack_free_symbolic< Complex >()

template<>
OCTAVE_API void umfpack_free_symbolic< Complex > ( void **  Symbolic)
inline

Definition at line 280 of file sparse-lu.cc.

References UMFPACK_ZNAME.

◆ umfpack_free_symbolic< double >()

template<>
OCTAVE_API void umfpack_free_symbolic< double > ( void **  Symbolic)
inline

Definition at line 144 of file sparse-lu.cc.

References UMFPACK_DNAME.

◆ umfpack_get_lunz()

template<typename T >
octave_idx_type umfpack_get_lunz ( octave_idx_type lnz,
octave_idx_type unz,
void *  Numeric 
)

◆ umfpack_get_lunz< Complex >()

template<>
OCTAVE_API octave_idx_type umfpack_get_lunz< Complex > ( octave_idx_type lnz,
octave_idx_type unz,
void *  Numeric 
)
inline

Definition at line 287 of file sparse-lu.cc.

References to_suitesparse_intptr(), and UMFPACK_ZNAME.

◆ umfpack_get_lunz< double >()

template<>
OCTAVE_API octave_idx_type umfpack_get_lunz< double > ( octave_idx_type lnz,
octave_idx_type unz,
void *  Numeric 
)
inline

Definition at line 151 of file sparse-lu.cc.

References to_suitesparse_intptr(), and UMFPACK_DNAME.

◆ umfpack_get_numeric()

template<typename T >
octave_idx_type umfpack_get_numeric ( octave_idx_type Lp,
octave_idx_type Lj,
T *  Lx,
octave_idx_type Up,
octave_idx_type Ui,
T *  Ux,
octave_idx_type p,
octave_idx_type q,
double *  Dz_packed,
octave_idx_type do_recip,
double *  Rs,
void *  Numeric 
)

◆ umfpack_get_numeric< Complex >()

template<>
OCTAVE_API octave_idx_type umfpack_get_numeric< Complex > ( octave_idx_type Lp,
octave_idx_type Lj,
Complex Lz,
octave_idx_type Up,
octave_idx_type Ui,
Complex Uz,
octave_idx_type p,
octave_idx_type q,
double *  Dz,
octave_idx_type do_recip,
double *  Rs,
void *  Numeric 
)
inline

Definition at line 299 of file sparse-lu.cc.

References to_suitesparse_intptr(), and UMFPACK_ZNAME.

◆ umfpack_get_numeric< double >()

template<>
OCTAVE_API octave_idx_type umfpack_get_numeric< double > ( octave_idx_type Lp,
octave_idx_type Lj,
double *  Lx,
octave_idx_type Up,
octave_idx_type Ui,
double *  Ux,
octave_idx_type p,
octave_idx_type q,
double *  Dx,
octave_idx_type do_recip,
double *  Rs,
void *  Numeric 
)
inline

Definition at line 163 of file sparse-lu.cc.

References to_suitesparse_intptr(), and UMFPACK_DNAME.

◆ umfpack_numeric()

template<typename T >
octave_idx_type umfpack_numeric ( const octave_idx_type Ap,
const octave_idx_type Ai,
const T *  Ax,
void *  Symbolic,
void **  Numeric,
const double *  Control,
double *  Info 
)

◆ umfpack_numeric< Complex >()

template<>
OCTAVE_API octave_idx_type umfpack_numeric< Complex > ( const octave_idx_type Ap,
const octave_idx_type Ai,
const Complex Az,
void *  Symbolic,
void **  Numeric,
const double *  Control,
double *  Info 
)
inline

Definition at line 320 of file sparse-lu.cc.

References to_suitesparse_intptr(), and UMFPACK_ZNAME.

◆ umfpack_numeric< double >()

template<>
OCTAVE_API octave_idx_type umfpack_numeric< double > ( const octave_idx_type Ap,
const octave_idx_type Ai,
const double *  Ax,
void *  Symbolic,
void **  Numeric,
const double *  Control,
double *  Info 
)
inline

Definition at line 181 of file sparse-lu.cc.

References to_suitesparse_intptr(), and UMFPACK_DNAME.

◆ umfpack_qsymbolic()

template<typename T >
octave_idx_type umfpack_qsymbolic ( octave_idx_type  n_row,
octave_idx_type  n_col,
const octave_idx_type Ap,
const octave_idx_type Ai,
const T *  Ax,
const octave_idx_type Qinit,
void **  Symbolic,
const double *  Control,
double *  Info 
)

◆ umfpack_qsymbolic< Complex >()

template<>
OCTAVE_API octave_idx_type umfpack_qsymbolic< Complex > ( octave_idx_type  n_row,
octave_idx_type  n_col,
const octave_idx_type Ap,
const octave_idx_type Ai,
const Complex Az,
const octave_idx_type Qinit,
void **  Symbolic,
const double *  Control,
double *  Info 
)
inline

Definition at line 333 of file sparse-lu.cc.

References to_suitesparse_intptr(), and UMFPACK_ZNAME.

◆ umfpack_qsymbolic< double >()

template<>
OCTAVE_API octave_idx_type umfpack_qsymbolic< double > ( octave_idx_type  n_row,
octave_idx_type  n_col,
const octave_idx_type Ap,
const octave_idx_type Ai,
const double *  Ax,
const octave_idx_type Qinit,
void **  Symbolic,
const double *  Control,
double *  Info 
)
inline

Definition at line 193 of file sparse-lu.cc.

References to_suitesparse_intptr(), and UMFPACK_DNAME.

◆ umfpack_report_control()

template<typename T >
void umfpack_report_control ( const double *  Control)

◆ umfpack_report_control< Complex >()

template<>
OCTAVE_API void umfpack_report_control< Complex > ( const double *  Control)
inline

Definition at line 349 of file sparse-lu.cc.

References UMFPACK_ZNAME.

◆ umfpack_report_control< double >()

template<>
OCTAVE_API void umfpack_report_control< double > ( const double *  Control)
inline

Definition at line 208 of file sparse-lu.cc.

References UMFPACK_DNAME.

◆ umfpack_report_info()

template<typename T >
void umfpack_report_info ( const double *  Control,
const double *  Info 
)

◆ umfpack_report_info< Complex >()

template<>
OCTAVE_API void umfpack_report_info< Complex > ( const double *  Control,
const double *  Info 
)
inline

Definition at line 356 of file sparse-lu.cc.

References UMFPACK_ZNAME.

◆ umfpack_report_info< double >()

template<>
OCTAVE_API void umfpack_report_info< double > ( const double *  Control,
const double *  Info 
)
inline

Definition at line 215 of file sparse-lu.cc.

References UMFPACK_DNAME.

◆ umfpack_report_matrix()

template<typename T >
void umfpack_report_matrix ( octave_idx_type  n_row,
octave_idx_type  n_col,
const octave_idx_type Ap,
const octave_idx_type Ai,
const T *  Ax,
octave_idx_type  col_form,
const double *  Control 
)

◆ umfpack_report_matrix< Complex >()

template<>
OCTAVE_API void umfpack_report_matrix< Complex > ( octave_idx_type  n_row,
octave_idx_type  n_col,
const octave_idx_type Ap,
const octave_idx_type Ai,
const Complex Az,
octave_idx_type  col_form,
const double *  Control 
)
inline

Definition at line 363 of file sparse-lu.cc.

References to_suitesparse_intptr(), and UMFPACK_ZNAME.

◆ umfpack_report_matrix< double >()

template<>
OCTAVE_API void umfpack_report_matrix< double > ( octave_idx_type  n_row,
octave_idx_type  n_col,
const octave_idx_type Ap,
const octave_idx_type Ai,
const double *  Ax,
octave_idx_type  col_form,
const double *  Control 
)
inline

Definition at line 222 of file sparse-lu.cc.

References to_suitesparse_intptr(), and UMFPACK_DNAME.

◆ umfpack_report_numeric()

template<typename T >
void umfpack_report_numeric ( void *  Numeric,
const double *  Control 
)

◆ umfpack_report_numeric< Complex >()

template<>
OCTAVE_API void umfpack_report_numeric< Complex > ( void *  Numeric,
const double *  Control 
)
inline

Definition at line 377 of file sparse-lu.cc.

References UMFPACK_ZNAME.

◆ umfpack_report_numeric< double >()

template<>
OCTAVE_API void umfpack_report_numeric< double > ( void *  Numeric,
const double *  Control 
)
inline

Definition at line 235 of file sparse-lu.cc.

References UMFPACK_DNAME.

◆ umfpack_report_perm()

template<typename T >
void umfpack_report_perm ( octave_idx_type  np,
const octave_idx_type Perm,
const double *  Control 
)

◆ umfpack_report_perm< Complex >()

template<>
OCTAVE_API void umfpack_report_perm< Complex > ( octave_idx_type  np,
const octave_idx_type Perm,
const double *  Control 
)
inline

Definition at line 384 of file sparse-lu.cc.

References to_suitesparse_intptr(), and UMFPACK_ZNAME.

◆ umfpack_report_perm< double >()

template<>
OCTAVE_API void umfpack_report_perm< double > ( octave_idx_type  np,
const octave_idx_type Perm,
const double *  Control 
)
inline

Definition at line 242 of file sparse-lu.cc.

References to_suitesparse_intptr(), and UMFPACK_DNAME.

◆ umfpack_report_status()

template<typename T >
void umfpack_report_status ( double *  Control,
octave_idx_type  status 
)

◆ umfpack_report_status< Complex >()

template<>
OCTAVE_API void umfpack_report_status< Complex > ( double *  Control,
octave_idx_type  status 
)
inline

Definition at line 392 of file sparse-lu.cc.

References UMFPACK_ZNAME.

◆ umfpack_report_status< double >()

template<>
OCTAVE_API void umfpack_report_status< double > ( double *  Control,
octave_idx_type  status 
)
inline

Definition at line 250 of file sparse-lu.cc.

References UMFPACK_DNAME.

◆ umfpack_report_symbolic()

template<typename T >
void umfpack_report_symbolic ( void *  Symbolic,
const double *  Control 
)

◆ umfpack_report_symbolic< Complex >()

template<>
OCTAVE_API void umfpack_report_symbolic< Complex > ( void *  Symbolic,
const double *  Control 
)
inline

Definition at line 399 of file sparse-lu.cc.

References UMFPACK_ZNAME.

◆ umfpack_report_symbolic< double >()

template<>
OCTAVE_API void umfpack_report_symbolic< double > ( void *  Symbolic,
const double *  Control 
)
inline

Definition at line 257 of file sparse-lu.cc.

References UMFPACK_DNAME.

Variable Documentation

◆ sparse_lu< SparseComplexMatrix >

Definition at line 986 of file sparse-lu.cc.

Referenced by Flu(), SparseComplexMatrix::inverse(), and LuAminusSigmaB().

◆ sparse_lu< SparseMatrix >

template class OCTAVE_API sparse_lu< SparseMatrix >

Definition at line 984 of file sparse-lu.cc.

Referenced by Flu(), SparseMatrix::inverse(), and LuAminusSigmaB().