GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
sparse-dmsolve.cc File Reference
#include <algorithm>
#include "CMatrix.h"
#include "CSparse.h"
#include "MArray.h"
#include "MSparse.h"
#include "MatrixType.h"
#include "dSparse.h"
#include "lo-error.h"
#include "oct-inttypes.h"
#include "oct-locbuf.h"
#include "oct-sort.h"
#include "oct-sparse.h"
#include "quit.h"
#include "sparse-dmsolve.h"
#include "sparse-qr.h"
Include dependency graph for sparse-dmsolve.cc:

Go to the source code of this file.

Functions

template<typename RT , typename ST , typename T >
RT dmsolve (const ST &a, const T &b, octave_idx_type &info)
 
template ComplexMatrix dmsolve< ComplexMatrix, SparseComplexMatrix, ComplexMatrix > (const SparseComplexMatrix &, const ComplexMatrix &, octave_idx_type &)
 
template ComplexMatrix dmsolve< ComplexMatrix, SparseComplexMatrix, Matrix > (const SparseComplexMatrix &, const Matrix &, octave_idx_type &)
 
template ComplexMatrix dmsolve< ComplexMatrix, SparseMatrix, ComplexMatrix > (const SparseMatrix &, const ComplexMatrix &, octave_idx_type &)
 
template Matrix dmsolve< Matrix, SparseMatrix, Matrix > (const SparseMatrix &, const Matrix &, octave_idx_type &)
 
template SparseComplexMatrix dmsolve< SparseComplexMatrix, SparseComplexMatrix, SparseComplexMatrix > (const SparseComplexMatrix &, const SparseComplexMatrix &, octave_idx_type &)
 
template SparseComplexMatrix dmsolve< SparseComplexMatrix, SparseComplexMatrix, SparseMatrix > (const SparseComplexMatrix &, const SparseMatrix &, octave_idx_type &)
 
template SparseComplexMatrix dmsolve< SparseComplexMatrix, SparseMatrix, SparseComplexMatrix > (const SparseMatrix &, const SparseComplexMatrix &, octave_idx_type &)
 
template SparseMatrix dmsolve< SparseMatrix, SparseMatrix, SparseMatrix > (const SparseMatrix &, const SparseMatrix &, octave_idx_type &)
 
template<typename T >
static MSparse< T > dmsolve_extract (const MSparse< T > &A, const octave_idx_type *Pinv, const octave_idx_type *Q, octave_idx_type rst, octave_idx_type rend, octave_idx_type cst, octave_idx_type cend, octave_idx_type maxnz=-1, bool lazy=false)
 
template<typename T >
static MArray< T > dmsolve_extract (const MArray< T > &m, const octave_idx_type *, const octave_idx_type *, octave_idx_type r1, octave_idx_type r2, octave_idx_type c1, octave_idx_type c2)
 
template<typename T >
static void dmsolve_insert (MArray< T > &a, const MArray< T > &b, const octave_idx_type *Q, octave_idx_type r, octave_idx_type c)
 
template<typename T >
static void dmsolve_insert (MSparse< T > &a, const MSparse< T > &b, const octave_idx_type *Q, octave_idx_type r, octave_idx_type c)
 
template<typename T , typename RT >
static void dmsolve_permute (MArray< RT > &a, const MArray< T > &b, const octave_idx_type *p)
 
template<typename T , typename RT >
static void dmsolve_permute (MSparse< RT > &a, const MSparse< T > &b, const octave_idx_type *p)
 
static void solve_singularity_warning (double)
 

Function Documentation

◆ dmsolve()

◆ dmsolve< ComplexMatrix, SparseComplexMatrix, ComplexMatrix >()

◆ dmsolve< ComplexMatrix, SparseComplexMatrix, Matrix >()

◆ dmsolve< ComplexMatrix, SparseMatrix, ComplexMatrix >()

◆ dmsolve< Matrix, SparseMatrix, Matrix >()

template Matrix dmsolve< Matrix, SparseMatrix, Matrix > ( const SparseMatrix ,
const Matrix ,
octave_idx_type  
)

Referenced by SparseMatrix::solve().

◆ dmsolve< SparseComplexMatrix, SparseComplexMatrix, SparseComplexMatrix >()

◆ dmsolve< SparseComplexMatrix, SparseComplexMatrix, SparseMatrix >()

◆ dmsolve< SparseComplexMatrix, SparseMatrix, SparseComplexMatrix >()

◆ dmsolve< SparseMatrix, SparseMatrix, SparseMatrix >()

◆ dmsolve_extract() [1/2]

template<typename T >
static MSparse<T> dmsolve_extract ( const MSparse< T > &  A,
const octave_idx_type Pinv,
const octave_idx_type Q,
octave_idx_type  rst,
octave_idx_type  rend,
octave_idx_type  cst,
octave_idx_type  cend,
octave_idx_type  maxnz = -1,
bool  lazy = false 
)
static

Definition at line 47 of file sparse-dmsolve.cc.

References A, B, OCTAVE_LOCAL_BUFFER, p, Q, and octave_sort< T >::sort().

Referenced by dmsolve().

◆ dmsolve_extract() [2/2]

template<typename T >
static MArray<T> dmsolve_extract ( const MArray< T > &  m,
const octave_idx_type ,
const octave_idx_type ,
octave_idx_type  r1,
octave_idx_type  r2,
octave_idx_type  c1,
octave_idx_type  c2 
)
static

Definition at line 141 of file sparse-dmsolve.cc.

References Array< T >::elem(), i, result, and swap.

◆ dmsolve_insert() [1/2]

template<typename T >
static void dmsolve_insert ( MArray< T > &  a,
const MArray< T > &  b,
const octave_idx_type Q,
octave_idx_type  r,
octave_idx_type  c 
)
static

Definition at line 171 of file sparse-dmsolve.cc.

References a, b, c, i, and Q.

Referenced by dmsolve().

◆ dmsolve_insert() [2/2]

template<typename T >
static void dmsolve_insert ( MSparse< T > &  a,
const MSparse< T > &  b,
const octave_idx_type Q,
octave_idx_type  r,
octave_idx_type  c 
)
static

Definition at line 198 of file sparse-dmsolve.cc.

References a, b, c, i, OCTAVE_LOCAL_BUFFER, p, Q, octave_sort< T >::sort(), and tmp.

◆ dmsolve_permute() [1/2]

template<typename T , typename RT >
static void dmsolve_permute ( MArray< RT > &  a,
const MArray< T > &  b,
const octave_idx_type p 
)
static

Definition at line 291 of file sparse-dmsolve.cc.

References a, b, b_nc, b_nr, i, and p.

Referenced by dmsolve().

◆ dmsolve_permute() [2/2]

template<typename T , typename RT >
static void dmsolve_permute ( MSparse< RT > &  a,
const MSparse< T > &  b,
const octave_idx_type p 
)
static

Definition at line 315 of file sparse-dmsolve.cc.

References a, b, b_nc, b_nr, i, OCTAVE_LOCAL_BUFFER, p, and Sparse< T >::sort().

◆ solve_singularity_warning()

static void solve_singularity_warning ( double  )
static

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

Referenced by dmsolve().