Spectral Integral Suite in C++
sis::Chebfun< std::complex< T > > Class Template Reference

Chebfun overload to complex type. More...

#include <sis.hpp>

Public Member Functions

 Chebfun ()
 Null constructor. More...
 
 Chebfun (const std::valarray< std::complex< T > > &in)
 constructor by an input valarray More...
 
 Chebfun (const Eigen::Array< std::complex< T >, Eigen::Dynamic, 1 > &in)
 constructor by an input Eigen::Array<T,Eigen::Eigen::Dynamic,1> More...
 
 Chebfun (const Eigen::Matrix< std::complex< T >, Eigen::Dynamic, 1 > &in)
 constructor by an input Eigen::Matrix<T,Eigen::Eigen::Dynamic,1> More...
 
 Chebfun (const Chebfun< std::complex< T > > &in)
 Copy constructor. More...
 
void p2c ()
 Converts a Chebfun from values in physical-space to coefficients of Chebyshev polynomials. More...
 
void c2p ()
 Converts a Chebfun from Chebyshev coefficients to values in physical space. More...
 
Eigen::Array< T, Eigen::Dynamic, 1 > evr ()
 Returns property vr in terms of Eigen::Array. More...
 
Eigen::Array< T, Eigen::Dynamic, 1 > evi ()
 Returns property v in terms of Eigen::Array. More...
 
Eigen::Array< std::complex< T >, Eigen::Dynamic, 1 > evc ()
 Returns property complex array vr + i vi in terms of Eigen::Array. More...
 
Eigen::Matrix< std::complex< T >, Eigen::Dynamic, Eigen::Dynamic > MultMat ()
 This function returns the Toeplitz + almost Hankel matrix needed to express multiplication of two Chebyshev series. This is used in solving for nonconstant coefficients. More...
 
void operator= (const Chebfun< std::complex< T > > &in)
 assignment operator of Chebfun More...
 
void operator= (const Chebfun< T > &in)
 assignment operator of Chebfun More...
 
void operator= (const std::complex< T > &right)
 To assign a Chebfun to a constant. More...
 
void operator= (const Eigen::Matrix< std::complex< T >, Eigen::Dynamic, 1 > &right)
 To assign a Chebfun through a vector. More...
 
void operator= (const std::valarray< std::complex< T > > &right)
 To assign a Chebfun through a valarray. More...
 
void operator= (const std::valarray< T > &right)
 
void operator+= (Chebfun< std::complex< T > > b)
 Add complex chebfun to self. More...
 
void operator+= (Chebfun< T > b)
 Add real Chebfun to self. More...
 
void operator+= (std::complex< T > right)
 add a constant to self More...
 
std::complex< T > operator() (const double &a)
 To assign a Chebfun through a array. More...
 
Chebfun< T > real ()
 
Chebfun< T > imag ()
 
Chebfun< std::complex< T > > cumsum ()
 
L2norm ()
 
trunc ()
 

Public Attributes

int dct_flag
 
std::valarray< std::complex< T > > v
 Stores a flag to denote if function is in Cheb-space or physical space. More...
 

Detailed Description

template<class T>
class sis::Chebfun< std::complex< T > >

Chebfun overload to complex type.

Definition at line 1489 of file sis.hpp.

Constructor & Destructor Documentation

◆ Chebfun() [1/5]

template<class T >
sis::Chebfun< std::complex< T > >::Chebfun ( )
inline

Null constructor.

By default the function is f(y) =y, with values in physical space.

Definition at line 1499 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, sis::N, PI, SIS_PHYS_SPACE, and sis::Chebfun< T >::v.

◆ Chebfun() [2/5]

template<class T >
sis::Chebfun< std::complex< T > >::Chebfun ( const std::valarray< std::complex< T > > &  in)
inline

constructor by an input valarray

Definition at line 1507 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, sis::N, SIS_PHYS_SPACE, and sis::Chebfun< T >::v.

◆ Chebfun() [3/5]

template<class T >
sis::Chebfun< std::complex< T > >::Chebfun ( const Eigen::Array< std::complex< T >, Eigen::Dynamic, 1 > &  in)
inline

constructor by an input Eigen::Array<T,Eigen::Eigen::Dynamic,1>

Definition at line 1518 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, sis::N, SIS_PHYS_SPACE, and sis::Chebfun< T >::v.

◆ Chebfun() [4/5]

template<class T >
sis::Chebfun< std::complex< T > >::Chebfun ( const Eigen::Matrix< std::complex< T >, Eigen::Dynamic, 1 > &  in)
inline

constructor by an input Eigen::Matrix<T,Eigen::Eigen::Dynamic,1>

Definition at line 1533 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, sis::N, SIS_PHYS_SPACE, and sis::Chebfun< T >::v.

◆ Chebfun() [5/5]

template<class T >
sis::Chebfun< std::complex< T > >::Chebfun ( const Chebfun< std::complex< T > > &  in)
inline

Copy constructor.

Definition at line 1548 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, and sis::Chebfun< T >::v.

Member Function Documentation

◆ c2p()

template<class T >
void sis::Chebfun< std::complex< T > >::c2p ( )
inline

Converts a Chebfun from Chebyshev coefficients to values in physical space.

Definition at line 1615 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, sis::dou2com(), std::imag(), std::real(), sis::rev_half_shift(), SIS_CHEB_SPACE, SIS_PHYS_SPACE, and sis::Chebfun< T >::v.

◆ cumsum()

template<class T >
Chebfun<std::complex<T> > sis::Chebfun< std::complex< T > >::cumsum ( )
inline

◆ evc()

template<class T >
Eigen::Array<std::complex<T>, Eigen::Dynamic, 1> sis::Chebfun< std::complex< T > >::evc ( )
inline

Returns property complex array vr + i vi in terms of Eigen::Array.

Definition at line 1731 of file sis.hpp.

References sis::Chebfun< T >::v.

◆ evi()

template<class T >
Eigen::Array<T, Eigen::Dynamic, 1> sis::Chebfun< std::complex< T > >::evi ( )
inline

Returns property v in terms of Eigen::Array.

Definition at line 1721 of file sis.hpp.

References std::imag(), and sis::Chebfun< T >::v.

◆ evr()

template<class T >
Eigen::Array<T, Eigen::Dynamic, 1> sis::Chebfun< std::complex< T > >::evr ( )
inline

Returns property vr in terms of Eigen::Array.

Definition at line 1711 of file sis.hpp.

References std::real(), and sis::Chebfun< T >::v.

◆ imag()

template<class T >
Chebfun<T> sis::Chebfun< std::complex< T > >::imag ( )
inline

Definition at line 1907 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, std::imag(), and sis::Chebfun< T >::v.

◆ L2norm()

template<class T >
T sis::Chebfun< std::complex< T > >::L2norm ( )
inline

◆ MultMat()

template<class T >
Eigen::Matrix<std::complex<T>, Eigen::Dynamic, Eigen::Dynamic> sis::Chebfun< std::complex< T > >::MultMat ( )
inline

This function returns the Toeplitz + almost Hankel matrix needed to express multiplication of two Chebyshev series. This is used in solving for nonconstant coefficients.

To assign a Chebfun to a constant

Definition at line 1742 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, sis::dou2com(), std::imag(), sis::N, sis::Chebfun< T >::p2c(), std::real(), SIS_PHYS_SPACE, and sis::Chebfun< T >::v.

◆ operator()()

template<class T >
std::complex<T> sis::Chebfun< std::complex< T > >::operator() ( const double &  a)
inline

To assign a Chebfun through a array.

Evaluate the Chebfun at a point in the domain, i.e., -1 to 1.

Definition at line 1879 of file sis.hpp.

References sis::Chebfun< T >::c2p(), sis::Chebfun< T >::dct_flag, sis::N, sis::Chebfun< T >::p2c(), SIS_PHYS_SPACE, and sis::Chebfun< T >::v.

◆ operator+=() [1/3]

template<class T >
void sis::Chebfun< std::complex< T > >::operator+= ( Chebfun< std::complex< T > >  b)
inline

Add complex chebfun to self.

Definition at line 1828 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, SIS_PHYS_SPACE, and sis::Chebfun< T >::v.

◆ operator+=() [2/3]

template<class T >
void sis::Chebfun< std::complex< T > >::operator+= ( Chebfun< T >  b)
inline

◆ operator+=() [3/3]

template<class T >
void sis::Chebfun< std::complex< T > >::operator+= ( std::complex< T >  right)
inline

add a constant to self

Definition at line 1864 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, SIS_CHEB_SPACE, and sis::Chebfun< T >::v.

◆ operator=() [1/6]

template<class T >
void sis::Chebfun< std::complex< T > >::operator= ( const Chebfun< std::complex< T > > &  in)
inline

assignment operator of Chebfun

Definition at line 1788 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, and sis::Chebfun< T >::v.

◆ operator=() [2/6]

template<class T >
void sis::Chebfun< std::complex< T > >::operator= ( const Chebfun< T > &  in)
inline

assignment operator of Chebfun

Definition at line 1793 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, and sis::Chebfun< T >::v.

◆ operator=() [3/6]

template<class T >
void sis::Chebfun< std::complex< T > >::operator= ( const std::complex< T > &  right)
inline

To assign a Chebfun to a constant.

Definition at line 1802 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, SIS_CHEB_SPACE, and sis::Chebfun< T >::v.

◆ operator=() [4/6]

template<class T >
void sis::Chebfun< std::complex< T > >::operator= ( const Eigen::Matrix< std::complex< T >, Eigen::Dynamic, 1 > &  right)
inline

To assign a Chebfun through a vector.

Definition at line 1813 of file sis.hpp.

References sis::Chebfun< T >::v.

◆ operator=() [5/6]

template<class T >
void sis::Chebfun< std::complex< T > >::operator= ( const std::valarray< std::complex< T > > &  right)
inline

To assign a Chebfun through a valarray.

Definition at line 1821 of file sis.hpp.

References sis::Chebfun< T >::v.

◆ operator=() [6/6]

template<class T >
void sis::Chebfun< std::complex< T > >::operator= ( const std::valarray< T > &  right)
inline

Definition at line 1822 of file sis.hpp.

References sis::Chebfun< T >::v.

◆ p2c()

template<class T >
void sis::Chebfun< std::complex< T > >::p2c ( )
inline

Converts a Chebfun from values in physical-space to coefficients of Chebyshev polynomials.

Definition at line 1555 of file sis.hpp.

References sis::conj(), sis::Chebfun< T >::dct_flag, sis::dou2com(), sis::fft(), sis::half_shift(), std::imag(), std::real(), SIS_CHEB_SPACE, SIS_PHYS_SPACE, sis::Chebfun< T >::v, and sis::y().

◆ real()

template<class T >
Chebfun<T> sis::Chebfun< std::complex< T > >::real ( )
inline

Definition at line 1901 of file sis.hpp.

References sis::Chebfun< T >::dct_flag, std::real(), and sis::Chebfun< T >::v.

◆ trunc()

template<class T >
T sis::Chebfun< std::complex< T > >::trunc ( )
inline

Definition at line 1949 of file sis.hpp.

References sis::N, and sis::Chebfun< T >::v.

Member Data Documentation

◆ dct_flag

template<class T >
int sis::Chebfun< std::complex< T > >::dct_flag

Definition at line 1492 of file sis.hpp.

◆ v

template<class T >
std::valarray<std::complex<T> > sis::Chebfun< std::complex< T > >::v

Stores a flag to denote if function is in Cheb-space or physical space.

Definition at line 1495 of file sis.hpp.


The documentation for this class was generated from the following file: