26#if ! defined (octave_CMatrix_h)
27#define octave_CMatrix_h 1
29#include "octave-config.h"
59 typedef void (*solve_singularity_handler) (
double rcon);
199 double& rcon,
bool force,
bool calc_cond)
const;
202 double& rcon,
bool force,
bool calc_cond)
const;
209 bool force =
false,
bool calc_cond =
true)
const;
216 bool force =
false,
bool calc_cond =
true)
const;
230 bool calc_cond =
true)
const;
233 bool calc_cond =
true)
const;
242 solve_singularity_handler sing_handler,
243 bool calc_cond =
false,
249 solve_singularity_handler sing_handler,
250 bool calc_cond =
false,
256 solve_singularity_handler sing_handler,
257 bool calc_cond =
false)
const;
269 double& rcon, solve_singularity_handler sing_handler,
270 bool singular_fallback =
true,
283 double& rcon, solve_singularity_handler sing_handler,
284 bool singular_fallback =
true,
297 double& rcon, solve_singularity_handler sing_handler,
311 solve_singularity_handler sing_handler,
322 solve_singularity_handler sing_handler,
332 solve_singularity_handler sing_handler,
342 solve_singularity_handler sing_handler,
353 solve_singularity_handler sing_handler,
template std::ostream & operator<<(std::ostream &, const Array< bool > &)
ComplexColumnVector conj(const ComplexColumnVector &a)
ComplexColumnVector operator+=(ComplexColumnVector &x, const Complex &y)
ComplexColumnVector operator-=(ComplexColumnVector &x, const Complex &y)
ComplexMatrix Sylvester(const ComplexMatrix &, const ComplexMatrix &, const ComplexMatrix &)
ComplexMatrix max(const Complex &c, const ComplexMatrix &m)
ComplexMatrix conj(const ComplexMatrix &a)
ComplexMatrix linspace(const ComplexColumnVector &x1, const ComplexColumnVector &x2, octave_idx_type n)
ComplexMatrix xgemm(const ComplexMatrix &a, const ComplexMatrix &b, blas_trans_type transa=blas_no_trans, blas_trans_type transb=blas_no_trans)
ComplexMatrix min(const Complex &c, const ComplexMatrix &m)
ComplexMatrix Givens(const Complex &, const Complex &)
ComplexMatrix operator*(const ColumnVector &a, const ComplexRowVector &b)
#define MARRAY_FORWARD_DEFS(B, R, T)
std::istream & operator>>(std::istream &is, SparseBoolMatrix &a)
N Dimensional Array with copy-on-write semantics.
void resize(const dim_vector &dv, const T &rfv)
ComplexDiagMatrix complex_diag_matrix_type
ComplexColumnVector column_vector_type
ComplexMatrix(const dim_vector &dv)
RowVector real_row_vector_type
ComplexRowVector row_vector_type
ComplexMatrix(octave_idx_type r, octave_idx_type c)
ComplexMatrix(octave_idx_type r, octave_idx_type c, const Complex &val)
ComplexMatrix(const ComplexMatrix &a)=default
DiagMatrix real_diag_matrix_type
void resize(octave_idx_type nr, octave_idx_type nc, const Complex &rfv=Complex(0))
ComplexMatrix complex_matrix_type
ComplexMatrix transpose() const
ColumnVector real_column_vector_type
ComplexMatrix hermitian() const
ComplexMatrix(const dim_vector &dv, const Complex &val)
ComplexMatrix(const Array< U > &a)
ComplexMatrix(const MArray< U > &a)
ComplexNDArray & operator=(const ComplexNDArray &a)
Template for N-dimensional array classes with like-type math operators.
MArray< T > transpose() const
MArray< T > hermitian(T(*fcn)(const T &)=nullptr) const
Template for two dimensional diagonal array with math operators.
Vector representing the dimensions (size) of an Array.
bool operator!=(const dim_vector &a, const dim_vector &b)
bool operator==(const dim_vector &a, const dim_vector &b)
#define SM_BOOL_OP_DECLS(S, M, API)
#define MS_CMP_OP_DECLS(M, S, API)
#define SM_CMP_OP_DECLS(S, M, API)
#define MS_BOOL_OP_DECLS(M, S, API)
#define MM_CMP_OP_DECLS(M1, M2, API)
#define MM_BOOL_OP_DECLS(M1, M2, API)
std::complex< double > Complex
template int8_t abs(int8_t)