GNU Octave  6.2.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
CMatrix.cc File Reference
#include <algorithm>
#include <complex>
#include <istream>
#include <limits>
#include <ostream>
#include "Array-util.h"
#include "CDiagMatrix.h"
#include "CMatrix.h"
#include "CNDArray.h"
#include "CRowVector.h"
#include "DET.h"
#include "boolMatrix.h"
#include "chMatrix.h"
#include "chol.h"
#include "dDiagMatrix.h"
#include "dMatrix.h"
#include "dRowVector.h"
#include "lo-blas-proto.h"
#include "lo-error.h"
#include "lo-ieee.h"
#include "lo-lapack-proto.h"
#include "lo-mappers.h"
#include "lo-utils.h"
#include "mx-cm-dm.h"
#include "mx-cm-s.h"
#include "mx-dm-cm.h"
#include "mx-inlines.cc"
#include "mx-op-defs.h"
#include "oct-cmplx.h"
#include "oct-fftw.h"
#include "oct-locbuf.h"
#include "oct-norm.h"
#include "schur.h"
#include "svd.h"
Include dependency graph for CMatrix.cc:

Go to the source code of this file.

Macros

#define EMPTY_RETURN_CHECK(T)
 

Functions

static const Complex Complex_NaN_result (octave::numeric_limits< double >::NaN(), octave::numeric_limits< double >::NaN())
 
ComplexMatrix conj (const ComplexMatrix &a)
 
static char get_blas_trans_arg (bool trans, bool conj)
 
ComplexMatrix Givens (const Complex &x, const Complex &y)
 
ComplexMatrix linspace (const ComplexColumnVector &x1, const ComplexColumnVector &x2, octave_idx_type n)
 
ComplexMatrix max (const Complex &c, const ComplexMatrix &m)
 
ComplexMatrix max (const ComplexMatrix &a, const ComplexMatrix &b)
 
ComplexMatrix max (const ComplexMatrix &m, const Complex &c)
 
ComplexMatrix min (const Complex &c, const ComplexMatrix &m)
 
ComplexMatrix min (const ComplexMatrix &a, const ComplexMatrix &b)
 
ComplexMatrix min (const ComplexMatrix &m, const Complex &c)
 
boolMatrix mx_el_and (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_and (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_and (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_eq (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_eq (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_eq (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_ge (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_ge (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_ge (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_gt (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_gt (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_gt (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_le (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_le (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_le (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_lt (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_lt (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_lt (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_ne (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_ne (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_ne (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_or (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_or (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_or (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
static double norm1 (const ComplexMatrix &a)
 
ComplexMatrix operator* (const ColumnVector &v, const ComplexRowVector &a)
 
ComplexMatrix operator* (const ComplexColumnVector &a, const RowVector &b)
 
ComplexMatrix operator* (const ComplexColumnVector &v, const ComplexRowVector &a)
 
ComplexMatrix operator* (const ComplexMatrix &a, const ComplexMatrix &b)
 
ComplexMatrix operator* (const ComplexMatrix &m, const Matrix &a)
 
ComplexMatrix operator* (const Matrix &m, const ComplexMatrix &a)
 
std::ostream & operator<< (std::ostream &os, const ComplexMatrix &a)
 
std::istream & operator>> (std::istream &is, ComplexMatrix &a)
 
ComplexMatrix Sylvester (const ComplexMatrix &a, const ComplexMatrix &b, const ComplexMatrix &c)
 
ComplexMatrix xgemm (const ComplexMatrix &a, const ComplexMatrix &b, blas_trans_type transa, blas_trans_type transb)
 

Macro Definition Documentation

◆ EMPTY_RETURN_CHECK

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

Definition at line 3452 of file CMatrix.cc.

Function Documentation

◆ Complex_NaN_result()

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

◆ conj()

ComplexMatrix conj ( const ComplexMatrix a)

Definition at line 675 of file CMatrix.cc.

Referenced by get_blas_trans_arg(), Givens(), and ComplexMatrix::hermitian().

◆ get_blas_trans_arg()

static char get_blas_trans_arg ( bool  trans,
bool  conj 
)
inlinestatic

Definition at line 3314 of file CMatrix.cc.

References conj().

Referenced by xgemm().

◆ Givens()

ComplexMatrix Givens ( const Complex x,
const Complex y 
)

Definition at line 3202 of file CMatrix.cc.

References conj(), Array< T >::elem(), F77_CONST_DBLE_CMPLX_ARG, F77_DBLE_CMPLX_ARG, F77_FUNC(), and x.

Referenced by Fgivens().

◆ linspace()

ComplexMatrix linspace ( const ComplexColumnVector x1,
const ComplexColumnVector x2,
octave_idx_type  n 
)

Definition at line 3604 of file CMatrix.cc.

References Array< T >::clear(), m, n, Array< T >::numel(), retval, and Array< T >::xelem().

Referenced by do_linspace().

◆ max() [1/3]

ComplexMatrix max ( const Complex c,
const ComplexMatrix m 
)

◆ max() [2/3]

ComplexMatrix max ( const ComplexMatrix a,
const ComplexMatrix b 
)

◆ max() [3/3]

ComplexMatrix max ( const ComplexMatrix m,
const Complex c 
)

Definition at line 3549 of file CMatrix.cc.

References m, and max().

◆ min() [1/3]

ComplexMatrix min ( const Complex c,
const ComplexMatrix m 
)

Definition at line 3457 of file CMatrix.cc.

References EMPTY_RETURN_CHECK, m, and octave::math::min().

Referenced by min(), operator*(), and ComplexMatrix::pseudo_inverse().

◆ min() [2/3]

ComplexMatrix min ( const ComplexMatrix a,
const ComplexMatrix b 
)

◆ min() [3/3]

ComplexMatrix min ( const ComplexMatrix m,
const Complex c 
)

Definition at line 3477 of file CMatrix.cc.

References m, and min().

◆ mx_el_and() [1/3]

boolMatrix mx_el_and ( const Complex s,
const ComplexMatrix m 
)

Definition at line 3645 of file CMatrix.cc.

◆ mx_el_and() [2/3]

boolMatrix mx_el_and ( const ComplexMatrix m,
const Complex s 
)

Definition at line 3642 of file CMatrix.cc.

◆ mx_el_and() [3/3]

boolMatrix mx_el_and ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 3648 of file CMatrix.cc.

◆ mx_el_eq() [1/3]

boolMatrix mx_el_eq ( const Complex s,
const ComplexMatrix m 
)

Definition at line 3644 of file CMatrix.cc.

◆ mx_el_eq() [2/3]

boolMatrix mx_el_eq ( const ComplexMatrix m,
const Complex s 
)

Definition at line 3641 of file CMatrix.cc.

◆ mx_el_eq() [3/3]

boolMatrix mx_el_eq ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 3647 of file CMatrix.cc.

◆ mx_el_ge() [1/3]

boolMatrix mx_el_ge ( const Complex s,
const ComplexMatrix m 
)

Definition at line 3644 of file CMatrix.cc.

◆ mx_el_ge() [2/3]

boolMatrix mx_el_ge ( const ComplexMatrix m,
const Complex s 
)

Definition at line 3641 of file CMatrix.cc.

◆ mx_el_ge() [3/3]

boolMatrix mx_el_ge ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 3647 of file CMatrix.cc.

◆ mx_el_gt() [1/3]

boolMatrix mx_el_gt ( const Complex s,
const ComplexMatrix m 
)

Definition at line 3644 of file CMatrix.cc.

◆ mx_el_gt() [2/3]

boolMatrix mx_el_gt ( const ComplexMatrix m,
const Complex s 
)

Definition at line 3641 of file CMatrix.cc.

◆ mx_el_gt() [3/3]

boolMatrix mx_el_gt ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 3647 of file CMatrix.cc.

◆ mx_el_le() [1/3]

boolMatrix mx_el_le ( const Complex s,
const ComplexMatrix m 
)

Definition at line 3644 of file CMatrix.cc.

◆ mx_el_le() [2/3]

boolMatrix mx_el_le ( const ComplexMatrix m,
const Complex s 
)

Definition at line 3641 of file CMatrix.cc.

◆ mx_el_le() [3/3]

boolMatrix mx_el_le ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 3647 of file CMatrix.cc.

◆ mx_el_lt() [1/3]

boolMatrix mx_el_lt ( const Complex s,
const ComplexMatrix m 
)

Definition at line 3644 of file CMatrix.cc.

◆ mx_el_lt() [2/3]

boolMatrix mx_el_lt ( const ComplexMatrix m,
const Complex s 
)

Definition at line 3641 of file CMatrix.cc.

◆ mx_el_lt() [3/3]

boolMatrix mx_el_lt ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 3647 of file CMatrix.cc.

◆ mx_el_ne() [1/3]

boolMatrix mx_el_ne ( const Complex s,
const ComplexMatrix m 
)

Definition at line 3644 of file CMatrix.cc.

◆ mx_el_ne() [2/3]

boolMatrix mx_el_ne ( const ComplexMatrix m,
const Complex s 
)

Definition at line 3641 of file CMatrix.cc.

◆ mx_el_ne() [3/3]

boolMatrix mx_el_ne ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 3647 of file CMatrix.cc.

◆ mx_el_or() [1/3]

boolMatrix mx_el_or ( const Complex s,
const ComplexMatrix m 
)

Definition at line 3645 of file CMatrix.cc.

◆ mx_el_or() [2/3]

boolMatrix mx_el_or ( const ComplexMatrix m,
const Complex s 
)

Definition at line 3642 of file CMatrix.cc.

◆ mx_el_or() [3/3]

boolMatrix mx_el_or ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 3648 of file CMatrix.cc.

◆ norm1()

◆ operator*() [1/6]

ComplexMatrix operator* ( const ColumnVector v,
const ComplexRowVector a 
)

Definition at line 2599 of file CMatrix.cc.

◆ operator*() [2/6]

ComplexMatrix operator* ( const ComplexColumnVector a,
const RowVector b 
)

Definition at line 2606 of file CMatrix.cc.

◆ operator*() [3/6]

◆ operator*() [4/6]

ComplexMatrix operator* ( const ComplexMatrix a,
const ComplexMatrix b 
)

Definition at line 3445 of file CMatrix.cc.

References xgemm().

◆ operator*() [5/6]

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

Definition at line 3273 of file CMatrix.cc.

References Array< T >::columns(), imag(), m, min(), and real().

◆ operator*() [6/6]

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

Definition at line 3282 of file CMatrix.cc.

References Array< T >::columns(), imag(), m, min(), real(), and Array< T >::rows().

◆ operator<<()

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

Definition at line 3163 of file CMatrix.cc.

◆ operator>>()

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

Definition at line 3179 of file CMatrix.cc.

◆ Sylvester()

◆ xgemm()