GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
CSparse.cc File Reference
#include <complex>
#include <iostream>
#include "quit.h"
#include "lo-ieee.h"
#include "lo-mappers.h"
#include "f77-fcn.h"
#include "dRowVector.h"
#include "lo-lapack-proto.h"
#include "mx-m-cs.h"
#include "mx-cs-m.h"
#include "mx-cm-s.h"
#include "mx-fcm-fs.h"
#include "mx-s-cm.h"
#include "mx-fs-fcm.h"
#include "oct-locbuf.h"
#include "dDiagMatrix.h"
#include "CDiagMatrix.h"
#include "CSparse.h"
#include "boolSparse.h"
#include "dSparse.h"
#include "functor.h"
#include "oct-spparms.h"
#include "sparse-lu.h"
#include "oct-sparse.h"
#include "sparse-util.h"
#include "sparse-chol.h"
#include "sparse-qr.h"
#include "Sparse-op-defs.h"
#include "Sparse-diag-op-defs.h"
#include "Sparse-perm-op-defs.h"
#include "sparse-dmsolve.h"
Include dependency graph for CSparse.cc:

Go to the source code of this file.

Macros

#define COL_EXPR
 
#define EMPTY_RETURN_CHECK(T)
 
#define ROW_EXPR
 

Functions

static const Complex Complex_NaN_result (octave::numeric_limits< double >::NaN(), octave::numeric_limits< double >::NaN())
 
SparseComplexMatrix conj (const SparseComplexMatrix &a)
 
ComplexMatrix herm_mul (const SparseComplexMatrix &m, const ComplexMatrix &a)
 
SparseComplexMatrix max (const Complex &c, const SparseComplexMatrix &m)
 
SparseComplexMatrix max (const SparseComplexMatrix &m, const Complex &c)
 
SparseComplexMatrix max (const SparseComplexMatrix &a, const SparseComplexMatrix &b)
 
SparseComplexMatrix min (const Complex &c, const SparseComplexMatrix &m)
 
SparseComplexMatrix min (const SparseComplexMatrix &m, const Complex &c)
 
SparseComplexMatrix min (const SparseComplexMatrix &a, const SparseComplexMatrix &b)
 
ComplexMatrix mul_herm (const ComplexMatrix &m, const SparseComplexMatrix &a)
 
ComplexMatrix mul_trans (const ComplexMatrix &m, const SparseComplexMatrix &a)
 
SparseBoolMatrix mx_el_and (const SparseComplexMatrix &m, const Complex &s)
 
SparseBoolMatrix mx_el_and (const Complex &s, const SparseComplexMatrix &m)
 
SparseBoolMatrix mx_el_and (const SparseComplexMatrix &m1, const SparseComplexMatrix &m2)
 
SparseBoolMatrix mx_el_eq (const SparseComplexMatrix &m, const Complex &s)
 
SparseBoolMatrix mx_el_eq (const Complex &s, const SparseComplexMatrix &m)
 
SparseBoolMatrix mx_el_eq (const SparseComplexMatrix &m1, const SparseComplexMatrix &m2)
 
SparseBoolMatrix mx_el_ge (const SparseComplexMatrix &m, const Complex &s)
 
SparseBoolMatrix mx_el_ge (const Complex &s, const SparseComplexMatrix &m)
 
SparseBoolMatrix mx_el_ge (const SparseComplexMatrix &m1, const SparseComplexMatrix &m2)
 
SparseBoolMatrix mx_el_gt (const SparseComplexMatrix &m, const Complex &s)
 
SparseBoolMatrix mx_el_gt (const Complex &s, const SparseComplexMatrix &m)
 
SparseBoolMatrix mx_el_gt (const SparseComplexMatrix &m1, const SparseComplexMatrix &m2)
 
SparseBoolMatrix mx_el_le (const SparseComplexMatrix &m, const Complex &s)
 
SparseBoolMatrix mx_el_le (const Complex &s, const SparseComplexMatrix &m)
 
SparseBoolMatrix mx_el_le (const SparseComplexMatrix &m1, const SparseComplexMatrix &m2)
 
SparseBoolMatrix mx_el_lt (const SparseComplexMatrix &m, const Complex &s)
 
SparseBoolMatrix mx_el_lt (const Complex &s, const SparseComplexMatrix &m)
 
SparseBoolMatrix mx_el_lt (const SparseComplexMatrix &m1, const SparseComplexMatrix &m2)
 
SparseBoolMatrix mx_el_ne (const SparseComplexMatrix &m, const Complex &s)
 
SparseBoolMatrix mx_el_ne (const Complex &s, const SparseComplexMatrix &m)
 
SparseBoolMatrix mx_el_ne (const SparseComplexMatrix &m1, const SparseComplexMatrix &m2)
 
SparseBoolMatrix mx_el_or (const SparseComplexMatrix &m, const Complex &s)
 
SparseBoolMatrix mx_el_or (const Complex &s, const SparseComplexMatrix &m)
 
SparseBoolMatrix mx_el_or (const SparseComplexMatrix &m1, const SparseComplexMatrix &m2)
 
SparseComplexMatrix operator* (const SparseComplexMatrix &m, const SparseMatrix &a)
 
SparseComplexMatrix operator* (const SparseMatrix &m, const SparseComplexMatrix &a)
 
SparseComplexMatrix operator* (const SparseComplexMatrix &m, const SparseComplexMatrix &a)
 
ComplexMatrix operator* (const ComplexMatrix &m, const SparseMatrix &a)
 
ComplexMatrix operator* (const Matrix &m, const SparseComplexMatrix &a)
 
ComplexMatrix operator* (const ComplexMatrix &m, const SparseComplexMatrix &a)
 
ComplexMatrix operator* (const SparseComplexMatrix &m, const Matrix &a)
 
ComplexMatrix operator* (const SparseMatrix &m, const ComplexMatrix &a)
 
ComplexMatrix operator* (const SparseComplexMatrix &m, const ComplexMatrix &a)
 
SparseComplexMatrix operator* (const DiagMatrix &d, const SparseComplexMatrix &a)
 
SparseComplexMatrix operator* (const SparseComplexMatrix &a, const DiagMatrix &d)
 
SparseComplexMatrix operator* (const ComplexDiagMatrix &d, const SparseMatrix &a)
 
SparseComplexMatrix operator* (const SparseMatrix &a, const ComplexDiagMatrix &d)
 
SparseComplexMatrix operator* (const ComplexDiagMatrix &d, const SparseComplexMatrix &a)
 
SparseComplexMatrix operator* (const SparseComplexMatrix &a, const ComplexDiagMatrix &d)
 
SparseComplexMatrix operator* (const PermMatrix &p, const SparseComplexMatrix &a)
 
SparseComplexMatrix operator* (const SparseComplexMatrix &a, const PermMatrix &p)
 
SparseComplexMatrix operator+ (const ComplexDiagMatrix &d, const SparseMatrix &a)
 
SparseComplexMatrix operator+ (const DiagMatrix &d, const SparseComplexMatrix &a)
 
SparseComplexMatrix operator+ (const ComplexDiagMatrix &d, const SparseComplexMatrix &a)
 
SparseComplexMatrix operator+ (const SparseMatrix &a, const ComplexDiagMatrix &d)
 
SparseComplexMatrix operator+ (const SparseComplexMatrix &a, const DiagMatrix &d)
 
SparseComplexMatrix operator+ (const SparseComplexMatrix &a, const ComplexDiagMatrix &d)
 
SparseComplexMatrix operator- (const ComplexDiagMatrix &d, const SparseMatrix &a)
 
SparseComplexMatrix operator- (const DiagMatrix &d, const SparseComplexMatrix &a)
 
SparseComplexMatrix operator- (const ComplexDiagMatrix &d, const SparseComplexMatrix &a)
 
SparseComplexMatrix operator- (const SparseMatrix &a, const ComplexDiagMatrix &d)
 
SparseComplexMatrix operator- (const SparseComplexMatrix &a, const DiagMatrix &d)
 
SparseComplexMatrix operator- (const SparseComplexMatrix &a, const ComplexDiagMatrix &d)
 
std::ostream & operator<< (std::ostream &os, const SparseComplexMatrix &a)
 
std::istream & operator>> (std::istream &is, SparseComplexMatrix &a)
 
ComplexMatrix trans_mul (const SparseComplexMatrix &m, const ComplexMatrix &a)
 

Macro Definition Documentation

◆ COL_EXPR

#define COL_EXPR
Value:
Complex d = data (i); \
tmp[j] += d * conj (d)
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
SparseComplexMatrix conj(const SparseComplexMatrix &a)
Definition: CSparse.cc:639
for i
Definition: data.cc:5264
std::complex< double > Complex
Definition: oct-cmplx.h:31

Referenced by SparseComplexMatrix::sumsq().

◆ EMPTY_RETURN_CHECK

#define EMPTY_RETURN_CHECK (   T)
Value:
if (nr == 0 || nc == 0) \
return T (nr, nc);

Definition at line 7697 of file CSparse.cc.

Referenced by max(), and min().

◆ ROW_EXPR

#define ROW_EXPR
Value:
Complex d = data (i); \
tmp[ridx (i)] += d * conj (d)
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
SparseComplexMatrix conj(const SparseComplexMatrix &a)
Definition: CSparse.cc:639
for i
Definition: data.cc:5264
std::complex< double > Complex
Definition: oct-cmplx.h:31

Referenced by SparseComplexMatrix::sumsq().

Function Documentation

◆ Complex_NaN_result()

static const Complex Complex_NaN_result ( octave::numeric_limits< double ::NaN(),
octave::numeric_limits< double ::NaN() 
)
static

◆ conj()

Definition at line 639 of file CSparse.cc.

References a, i, and retval.

Referenced by herm_mul(), and mul_herm().

◆ herm_mul()

ComplexMatrix herm_mul ( const SparseComplexMatrix m,
const ComplexMatrix a 
)

Definition at line 7580 of file CSparse.cc.

References conj(), and SPARSE_FULL_TRANS_MUL.

Referenced by install_cm_cm_ops(), install_fcm_fcm_ops(), and install_scm_cm_ops().

◆ max() [1/3]

◆ max() [2/3]

SparseComplexMatrix max ( const SparseComplexMatrix m,
const Complex c 
)

Definition at line 7843 of file CSparse.cc.

References c, and max().

◆ max() [3/3]

◆ min() [1/3]

◆ min() [2/3]

SparseComplexMatrix min ( const SparseComplexMatrix m,
const Complex c 
)

Definition at line 7726 of file CSparse.cc.

References c, and min().

◆ min() [3/3]

◆ mul_herm()

ComplexMatrix mul_herm ( const ComplexMatrix m,
const SparseComplexMatrix a 
)

Definition at line 7550 of file CSparse.cc.

References conj(), and FULL_SPARSE_MUL_TRANS.

Referenced by install_cm_cm_ops(), install_cm_scm_ops(), and install_fcm_fcm_ops().

◆ mul_trans()

◆ mx_el_and() [1/3]

SparseBoolMatrix mx_el_and ( const SparseComplexMatrix m,
const Complex s 
)

Definition at line 7937 of file CSparse.cc.

◆ mx_el_and() [2/3]

SparseBoolMatrix mx_el_and ( const Complex s,
const SparseComplexMatrix m 
)

Definition at line 7941 of file CSparse.cc.

◆ mx_el_and() [3/3]

SparseBoolMatrix mx_el_and ( const SparseComplexMatrix m1,
const SparseComplexMatrix m2 
)

Definition at line 7945 of file CSparse.cc.

◆ mx_el_eq() [1/3]

SparseBoolMatrix mx_el_eq ( const SparseComplexMatrix m,
const Complex s 
)

Definition at line 7936 of file CSparse.cc.

◆ mx_el_eq() [2/3]

SparseBoolMatrix mx_el_eq ( const Complex s,
const SparseComplexMatrix m 
)

Definition at line 7940 of file CSparse.cc.

◆ mx_el_eq() [3/3]

SparseBoolMatrix mx_el_eq ( const SparseComplexMatrix m1,
const SparseComplexMatrix m2 
)

Definition at line 7944 of file CSparse.cc.

◆ mx_el_ge() [1/3]

SparseBoolMatrix mx_el_ge ( const SparseComplexMatrix m,
const Complex s 
)

Definition at line 7936 of file CSparse.cc.

◆ mx_el_ge() [2/3]

SparseBoolMatrix mx_el_ge ( const Complex s,
const SparseComplexMatrix m 
)

Definition at line 7940 of file CSparse.cc.

◆ mx_el_ge() [3/3]

SparseBoolMatrix mx_el_ge ( const SparseComplexMatrix m1,
const SparseComplexMatrix m2 
)

Definition at line 7944 of file CSparse.cc.

◆ mx_el_gt() [1/3]

SparseBoolMatrix mx_el_gt ( const SparseComplexMatrix m,
const Complex s 
)

Definition at line 7936 of file CSparse.cc.

◆ mx_el_gt() [2/3]

SparseBoolMatrix mx_el_gt ( const Complex s,
const SparseComplexMatrix m 
)

Definition at line 7940 of file CSparse.cc.

◆ mx_el_gt() [3/3]

SparseBoolMatrix mx_el_gt ( const SparseComplexMatrix m1,
const SparseComplexMatrix m2 
)

Definition at line 7944 of file CSparse.cc.

◆ mx_el_le() [1/3]

SparseBoolMatrix mx_el_le ( const SparseComplexMatrix m,
const Complex s 
)

Definition at line 7936 of file CSparse.cc.

◆ mx_el_le() [2/3]

SparseBoolMatrix mx_el_le ( const Complex s,
const SparseComplexMatrix m 
)

Definition at line 7940 of file CSparse.cc.

◆ mx_el_le() [3/3]

SparseBoolMatrix mx_el_le ( const SparseComplexMatrix m1,
const SparseComplexMatrix m2 
)

Definition at line 7944 of file CSparse.cc.

◆ mx_el_lt() [1/3]

SparseBoolMatrix mx_el_lt ( const SparseComplexMatrix m,
const Complex s 
)

Definition at line 7936 of file CSparse.cc.

◆ mx_el_lt() [2/3]

SparseBoolMatrix mx_el_lt ( const Complex s,
const SparseComplexMatrix m 
)

Definition at line 7940 of file CSparse.cc.

◆ mx_el_lt() [3/3]

SparseBoolMatrix mx_el_lt ( const SparseComplexMatrix m1,
const SparseComplexMatrix m2 
)

Definition at line 7944 of file CSparse.cc.

◆ mx_el_ne() [1/3]

SparseBoolMatrix mx_el_ne ( const SparseComplexMatrix m,
const Complex s 
)

Definition at line 7936 of file CSparse.cc.

◆ mx_el_ne() [2/3]

SparseBoolMatrix mx_el_ne ( const Complex s,
const SparseComplexMatrix m 
)

Definition at line 7940 of file CSparse.cc.

◆ mx_el_ne() [3/3]

SparseBoolMatrix mx_el_ne ( const SparseComplexMatrix m1,
const SparseComplexMatrix m2 
)

Definition at line 7944 of file CSparse.cc.

◆ mx_el_or() [1/3]

SparseBoolMatrix mx_el_or ( const SparseComplexMatrix m,
const Complex s 
)

Definition at line 7937 of file CSparse.cc.

◆ mx_el_or() [2/3]

SparseBoolMatrix mx_el_or ( const Complex s,
const SparseComplexMatrix m 
)

Definition at line 7941 of file CSparse.cc.

◆ mx_el_or() [3/3]

SparseBoolMatrix mx_el_or ( const SparseComplexMatrix m1,
const SparseComplexMatrix m2 
)

Definition at line 7945 of file CSparse.cc.

◆ operator*() [1/17]

SparseComplexMatrix operator* ( const SparseComplexMatrix m,
const SparseMatrix a 
)

Definition at line 7508 of file CSparse.cc.

References SPARSE_SPARSE_MUL.

◆ operator*() [2/17]

SparseComplexMatrix operator* ( const SparseMatrix m,
const SparseComplexMatrix a 
)

Definition at line 7514 of file CSparse.cc.

References SPARSE_SPARSE_MUL.

◆ operator*() [3/17]

SparseComplexMatrix operator* ( const SparseComplexMatrix m,
const SparseComplexMatrix a 
)

Definition at line 7520 of file CSparse.cc.

References SPARSE_SPARSE_MUL.

◆ operator*() [4/17]

ComplexMatrix operator* ( const ComplexMatrix m,
const SparseMatrix a 
)

Definition at line 7526 of file CSparse.cc.

References FULL_SPARSE_MUL.

◆ operator*() [5/17]

ComplexMatrix operator* ( const Matrix m,
const SparseComplexMatrix a 
)

Definition at line 7532 of file CSparse.cc.

References FULL_SPARSE_MUL.

◆ operator*() [6/17]

ComplexMatrix operator* ( const ComplexMatrix m,
const SparseComplexMatrix a 
)

Definition at line 7538 of file CSparse.cc.

References FULL_SPARSE_MUL.

◆ operator*() [7/17]

ComplexMatrix operator* ( const SparseComplexMatrix m,
const Matrix a 
)

Definition at line 7556 of file CSparse.cc.

References SPARSE_FULL_MUL.

◆ operator*() [8/17]

ComplexMatrix operator* ( const SparseMatrix m,
const ComplexMatrix a 
)

Definition at line 7562 of file CSparse.cc.

References SPARSE_FULL_MUL.

◆ operator*() [9/17]

ComplexMatrix operator* ( const SparseComplexMatrix m,
const ComplexMatrix a 
)

Definition at line 7568 of file CSparse.cc.

References SPARSE_FULL_MUL.

◆ operator*() [10/17]

SparseComplexMatrix operator* ( const DiagMatrix d,
const SparseComplexMatrix a 
)

Definition at line 7587 of file CSparse.cc.

References a, and d.

◆ operator*() [11/17]

SparseComplexMatrix operator* ( const SparseComplexMatrix a,
const DiagMatrix d 
)

Definition at line 7592 of file CSparse.cc.

References a, and d.

◆ operator*() [12/17]

SparseComplexMatrix operator* ( const ComplexDiagMatrix d,
const SparseMatrix a 
)

Definition at line 7598 of file CSparse.cc.

References a, and d.

◆ operator*() [13/17]

SparseComplexMatrix operator* ( const SparseMatrix a,
const ComplexDiagMatrix d 
)

Definition at line 7603 of file CSparse.cc.

References a, and d.

◆ operator*() [14/17]

SparseComplexMatrix operator* ( const ComplexDiagMatrix d,
const SparseComplexMatrix a 
)

Definition at line 7609 of file CSparse.cc.

References a, and d.

◆ operator*() [15/17]

SparseComplexMatrix operator* ( const SparseComplexMatrix a,
const ComplexDiagMatrix d 
)

Definition at line 7614 of file CSparse.cc.

References a, and d.

◆ operator*() [16/17]

SparseComplexMatrix operator* ( const PermMatrix p,
const SparseComplexMatrix a 
)

Definition at line 7684 of file CSparse.cc.

References a, octinternal_do_mul_pm_sm(), and p.

◆ operator*() [17/17]

SparseComplexMatrix operator* ( const SparseComplexMatrix a,
const PermMatrix p 
)

Definition at line 7690 of file CSparse.cc.

References a, octinternal_do_mul_sm_pm(), and p.

◆ operator+() [1/6]

SparseComplexMatrix operator+ ( const ComplexDiagMatrix d,
const SparseMatrix a 
)

Definition at line 7620 of file CSparse.cc.

References a, and d.

◆ operator+() [2/6]

SparseComplexMatrix operator+ ( const DiagMatrix d,
const SparseComplexMatrix a 
)

Definition at line 7625 of file CSparse.cc.

References a, and d.

◆ operator+() [3/6]

SparseComplexMatrix operator+ ( const ComplexDiagMatrix d,
const SparseComplexMatrix a 
)

Definition at line 7630 of file CSparse.cc.

References a, and d.

◆ operator+() [4/6]

SparseComplexMatrix operator+ ( const SparseMatrix a,
const ComplexDiagMatrix d 
)

Definition at line 7635 of file CSparse.cc.

References a, and d.

◆ operator+() [5/6]

SparseComplexMatrix operator+ ( const SparseComplexMatrix a,
const DiagMatrix d 
)

Definition at line 7640 of file CSparse.cc.

References a, and d.

◆ operator+() [6/6]

SparseComplexMatrix operator+ ( const SparseComplexMatrix a,
const ComplexDiagMatrix d 
)

Definition at line 7645 of file CSparse.cc.

References a, and d.

◆ operator-() [1/6]

SparseComplexMatrix operator- ( const ComplexDiagMatrix d,
const SparseMatrix a 
)

Definition at line 7651 of file CSparse.cc.

References a, and d.

◆ operator-() [2/6]

SparseComplexMatrix operator- ( const DiagMatrix d,
const SparseComplexMatrix a 
)

Definition at line 7656 of file CSparse.cc.

References a, and d.

◆ operator-() [3/6]

SparseComplexMatrix operator- ( const ComplexDiagMatrix d,
const SparseComplexMatrix a 
)

Definition at line 7661 of file CSparse.cc.

References a, and d.

◆ operator-() [4/6]

SparseComplexMatrix operator- ( const SparseMatrix a,
const ComplexDiagMatrix d 
)

Definition at line 7666 of file CSparse.cc.

References a, and d.

◆ operator-() [5/6]

SparseComplexMatrix operator- ( const SparseComplexMatrix a,
const DiagMatrix d 
)

Definition at line 7671 of file CSparse.cc.

References a, and d.

◆ operator-() [6/6]

SparseComplexMatrix operator- ( const SparseComplexMatrix a,
const ComplexDiagMatrix d 
)

Definition at line 7676 of file CSparse.cc.

References a, and d.

◆ operator<<()

std::ostream& operator<< ( std::ostream &  os,
const SparseComplexMatrix a 
)

Definition at line 7479 of file CSparse.cc.

References a, i, octave_write_complex(), and os.

◆ operator>>()

std::istream& operator>> ( std::istream &  is,
SparseComplexMatrix a 
)

Definition at line 7500 of file CSparse.cc.

References a, and is.

◆ trans_mul()