GNU Octave  4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Macros | Functions | Variables
CMatrix.cc File Reference
#include <cfloat>
#include <iostream>
#include <vector>
#include <sys/types.h>
#include "Array-util.h"
#include "boolMatrix.h"
#include "chMatrix.h"
#include "dMatrix.h"
#include "CMatrix.h"
#include "CNDArray.h"
#include "CRowVector.h"
#include "dRowVector.h"
#include "CDiagMatrix.h"
#include "dDiagMatrix.h"
#include "CmplxCHOL.h"
#include "CmplxSCHUR.h"
#include "CmplxSVD.h"
#include "DET.h"
#include "f77-fcn.h"
#include "functor.h"
#include "lo-error.h"
#include "lo-ieee.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 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 ((lo_ieee_nan_value()),(lo_ieee_nan_value()))
 
ComplexMatrix conj (const ComplexMatrix &a)
 
F77_RET_T F77_FUNC (xilaenv, XILAENV)(const octave_idx_type &
 
F77_RET_T F77_FUNC (zgebal, ZGEBAL)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (dgebak, DGEBAK)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (zgemm, ZGEMM)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (zgemv, ZGEMV)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (xzdotu, XZDOTU)(const octave_idx_type &
 
F77_RET_T const Complex const
octave_idx_type const Complex
const octave_idx_type Complex
&F77_RET_T 
F77_FUNC (xzdotc, XZDOTC)(const octave_idx_type &
 
F77_RET_T const Complex const
octave_idx_type const Complex
const octave_idx_type Complex
&F77_RET_T const Complex const
octave_idx_type const Complex
const octave_idx_type Complex
&F77_RET_T 
F77_FUNC (zsyrk, ZSYRK)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (zherk, ZHERK)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (zgetrf, ZGETRF)(const octave_idx_type &
 
F77_RET_T const
octave_idx_type Complex const
octave_idx_type
octave_idx_type
octave_idx_type &F77_RET_T 
F77_FUNC (zgetrs, ZGETRS)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (zgetri, ZGETRI)(const octave_idx_type &
 
F77_RET_T Complex const
octave_idx_type const
octave_idx_type Complex const
octave_idx_type
octave_idx_type &F77_RET_T 
F77_FUNC (zgecon, ZGECON)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (zgelsy, ZGELSY)(const octave_idx_type &
 
F77_RET_T const
octave_idx_type const
octave_idx_type Complex const
octave_idx_type Complex const
octave_idx_type
octave_idx_type double
octave_idx_type Complex const
octave_idx_type double
octave_idx_type &F77_RET_T 
F77_FUNC (zgelsd, ZGELSD)(const octave_idx_type &
 
F77_RET_T const
octave_idx_type const
octave_idx_type Complex const
octave_idx_type Complex const
octave_idx_type
octave_idx_type double
octave_idx_type Complex const
octave_idx_type double
octave_idx_type &F77_RET_T
const octave_idx_type const
octave_idx_type Complex const
octave_idx_type Complex const
octave_idx_type double double
octave_idx_type Complex const
octave_idx_type double
octave_idx_type
octave_idx_type &F77_RET_T 
F77_FUNC (zpotrf, ZPOTRF)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (zpocon, ZPOCON)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (zpotrs, ZPOTRS)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (ztrtri, ZTRTRI)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (ztrcon, ZTRCON)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (ztrtrs, ZTRTRS)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (zlartg, ZLARTG)(const Complex &
 
F77_RET_T const Complex double
Complex Complex &F77_RET_T 
F77_FUNC (ztrsyl, ZTRSYL)(F77_CONST_CHAR_ARG_DECL
 
F77_RET_T F77_FUNC (xzlange, XZLANGE)(F77_CONST_CHAR_ARG_DECL
 
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 &m, const Complex &c)
 
ComplexMatrix max (const ComplexMatrix &a, const ComplexMatrix &b)
 
ComplexMatrix min (const Complex &c, const ComplexMatrix &m)
 
ComplexMatrix min (const ComplexMatrix &m, const Complex &c)
 
ComplexMatrix min (const ComplexMatrix &a, const ComplexMatrix &b)
 
boolMatrix mx_el_and (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_and (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_and (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_eq (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_eq (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_eq (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_ge (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_ge (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_ge (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_gt (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_gt (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_gt (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_le (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_le (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_le (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_lt (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_lt (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_lt (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_ne (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_ne (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_ne (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
boolMatrix mx_el_or (const ComplexMatrix &m, const Complex &s)
 
boolMatrix mx_el_or (const Complex &s, const ComplexMatrix &m)
 
boolMatrix mx_el_or (const ComplexMatrix &m1, const ComplexMatrix &m2)
 
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 &m, const Matrix &a)
 
ComplexMatrix operator* (const Matrix &m, const ComplexMatrix &a)
 
ComplexMatrix operator* (const ComplexMatrix &a, const ComplexMatrix &b)
 
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)
 

Variables

F77_RET_T const
octave_idx_type const
octave_idx_type const
octave_idx_type const
octave_idx_type
octave_idx_type
&F77_CHAR_ARG_LEN_DECL 
F77_CHAR_ARG_LEN_DECL
 
F77_RET_T F77_CONST_CHAR_ARG_DECL
 

Macro Definition Documentation

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

Definition at line 3814 of file CMatrix.cc.

Referenced by max(), and min().

Function Documentation

static const Complex Complex_NaN_result ( (lo_ieee_nan_value())  ,
(lo_ieee_nan_value())   
)
static
ComplexMatrix conj ( const ComplexMatrix a)

Definition at line 963 of file CMatrix.cc.

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

F77_RET_T F77_FUNC ( xilaenv  ,
XILAENV   
) const
F77_RET_T F77_FUNC ( zgebal  ,
ZGEBAL   
)
F77_RET_T F77_FUNC ( dgebak  ,
DGEBAK   
)
F77_RET_T F77_FUNC ( zgemm  ,
ZGEMM   
)
F77_RET_T F77_FUNC ( zgemv  ,
ZGEMV   
)
F77_RET_T F77_FUNC ( xzdotu  ,
XZDOTU   
) const
F77_RET_T const Complex const octave_idx_type const Complex const octave_idx_type Complex& F77_RET_T F77_FUNC ( xzdotc  ,
XZDOTC   
) const
F77_RET_T const Complex const octave_idx_type const Complex const octave_idx_type Complex& F77_RET_T const Complex const octave_idx_type const Complex const octave_idx_type Complex& F77_RET_T F77_FUNC ( zsyrk  ,
ZSYRK   
)
F77_RET_T F77_FUNC ( zherk  ,
ZHERK   
)
F77_RET_T F77_FUNC ( zgetrf  ,
ZGETRF   
) const
F77_RET_T const octave_idx_type Complex const octave_idx_type octave_idx_type octave_idx_type& F77_RET_T F77_FUNC ( zgetrs  ,
ZGETRS   
)
F77_RET_T F77_FUNC ( zgetri  ,
ZGETRI   
) const
F77_RET_T Complex const octave_idx_type const octave_idx_type Complex const octave_idx_type octave_idx_type& F77_RET_T F77_FUNC ( zgecon  ,
ZGECON   
)
F77_RET_T F77_FUNC ( zgelsy  ,
ZGELSY   
) const
F77_RET_T F77_FUNC ( zpocon  ,
ZPOCON   
)
F77_RET_T F77_FUNC ( zpotrs  ,
ZPOTRS   
)
F77_RET_T F77_FUNC ( ztrtri  ,
ZTRTRI   
)
F77_RET_T F77_FUNC ( ztrcon  ,
ZTRCON   
)
F77_RET_T F77_FUNC ( ztrtrs  ,
ZTRTRS   
)
F77_RET_T F77_FUNC ( zlartg  ,
ZLARTG   
) const
F77_RET_T const Complex double Complex Complex& F77_RET_T F77_FUNC ( ztrsyl  ,
ZTRSYL   
)
F77_RET_T F77_FUNC ( xzlange  ,
XZLANGE   
)
static char get_blas_trans_arg ( bool  trans,
bool  conj 
)
inlinestatic

Definition at line 3678 of file CMatrix.cc.

Referenced by xgemm().

ComplexMatrix Givens ( const Complex x,
const Complex y 
)

Definition at line 3570 of file CMatrix.cc.

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

Referenced by Fgivens().

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

Definition at line 3997 of file CMatrix.cc.

References current_liboctave_error_handler, and Array< T >::length().

Referenced by do_linspace(), and install_data_fcns().

ComplexMatrix max ( const Complex c,
const ComplexMatrix m 
)

Definition at line 3907 of file CMatrix.cc.

References Array< T >::columns(), EMPTY_RETURN_CHECK, Array< T >::rows(), and xmax().

Referenced by ComplexMatrix::lssolve().

ComplexMatrix max ( const ComplexMatrix m,
const Complex c 
)

Definition at line 3927 of file CMatrix.cc.

References Array< T >::columns(), EMPTY_RETURN_CHECK, Array< T >::rows(), and xmax().

ComplexMatrix max ( const ComplexMatrix a,
const ComplexMatrix b 
)
ComplexMatrix min ( const Complex c,
const ComplexMatrix m 
)

Definition at line 3819 of file CMatrix.cc.

References Array< T >::columns(), EMPTY_RETURN_CHECK, Array< T >::rows(), and xmin().

Referenced by operator*().

ComplexMatrix min ( const ComplexMatrix m,
const Complex c 
)

Definition at line 3839 of file CMatrix.cc.

References Array< T >::columns(), EMPTY_RETURN_CHECK, Array< T >::rows(), and xmin().

ComplexMatrix min ( const ComplexMatrix a,
const ComplexMatrix b 
)
boolMatrix mx_el_and ( const ComplexMatrix m,
const Complex s 
)

Definition at line 4032 of file CMatrix.cc.

boolMatrix mx_el_and ( const Complex s,
const ComplexMatrix m 
)

Definition at line 4035 of file CMatrix.cc.

boolMatrix mx_el_and ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 4038 of file CMatrix.cc.

boolMatrix mx_el_eq ( const ComplexMatrix m,
const Complex s 
)

Definition at line 4031 of file CMatrix.cc.

boolMatrix mx_el_eq ( const Complex s,
const ComplexMatrix m 
)

Definition at line 4034 of file CMatrix.cc.

boolMatrix mx_el_eq ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 4037 of file CMatrix.cc.

boolMatrix mx_el_ge ( const ComplexMatrix m,
const Complex s 
)

Definition at line 4031 of file CMatrix.cc.

boolMatrix mx_el_ge ( const Complex s,
const ComplexMatrix m 
)

Definition at line 4034 of file CMatrix.cc.

boolMatrix mx_el_ge ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 4037 of file CMatrix.cc.

boolMatrix mx_el_gt ( const ComplexMatrix m,
const Complex s 
)

Definition at line 4031 of file CMatrix.cc.

boolMatrix mx_el_gt ( const Complex s,
const ComplexMatrix m 
)

Definition at line 4034 of file CMatrix.cc.

boolMatrix mx_el_gt ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 4037 of file CMatrix.cc.

boolMatrix mx_el_le ( const ComplexMatrix m,
const Complex s 
)

Definition at line 4031 of file CMatrix.cc.

boolMatrix mx_el_le ( const Complex s,
const ComplexMatrix m 
)

Definition at line 4034 of file CMatrix.cc.

boolMatrix mx_el_le ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 4037 of file CMatrix.cc.

boolMatrix mx_el_lt ( const ComplexMatrix m,
const Complex s 
)

Definition at line 4031 of file CMatrix.cc.

boolMatrix mx_el_lt ( const Complex s,
const ComplexMatrix m 
)

Definition at line 4034 of file CMatrix.cc.

boolMatrix mx_el_lt ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 4037 of file CMatrix.cc.

boolMatrix mx_el_ne ( const ComplexMatrix m,
const Complex s 
)

Definition at line 4031 of file CMatrix.cc.

boolMatrix mx_el_ne ( const Complex s,
const ComplexMatrix m 
)

Definition at line 4034 of file CMatrix.cc.

boolMatrix mx_el_ne ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 4037 of file CMatrix.cc.

boolMatrix mx_el_or ( const ComplexMatrix m,
const Complex s 
)

Definition at line 4032 of file CMatrix.cc.

boolMatrix mx_el_or ( const Complex s,
const ComplexMatrix m 
)

Definition at line 4035 of file CMatrix.cc.

boolMatrix mx_el_or ( const ComplexMatrix m1,
const ComplexMatrix m2 
)

Definition at line 4038 of file CMatrix.cc.

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

Definition at line 2942 of file CMatrix.cc.

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

Definition at line 2949 of file CMatrix.cc.

ComplexMatrix operator* ( const ComplexColumnVector v,
const ComplexRowVector a 
)
ComplexMatrix operator* ( const ComplexMatrix m,
const Matrix a 
)
ComplexMatrix operator* ( const Matrix m,
const ComplexMatrix a 
)
ComplexMatrix operator* ( const ComplexMatrix a,
const ComplexMatrix b 
)

Definition at line 3807 of file CMatrix.cc.

References xgemm().

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

Definition at line 3545 of file CMatrix.cc.

References Array< T >::cols(), Array< T >::elem(), and Array< T >::rows().

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 
)

Variable Documentation

F77_RET_T const octave_idx_type const octave_idx_type const Complex const octave_idx_type double double& F77_CHAR_ARG_LEN_DECL

Definition at line 74 of file CMatrix.cc.

F77_RET_T const Complex double Complex Complex& F77_RET_T F77_CONST_CHAR_ARG_DECL

Definition at line 74 of file CMatrix.cc.