SPI
SLEPc PETSc Interface is used for rapid development and intuitive matrix operations similar to MatLab or NumPy style of operations
Namespaces | Macros | Functions
SPIVec.cpp File Reference
#include "SPIVec.hpp"

Go to the source code of this file.

Namespaces

 SPI
 

Macros

#define USE_GPU   0
 

Functions

SPIVec SPI::operator/ (const PetscScalar a, const SPIVec &A)
 
SPIVec SPI::operator* (const PetscScalar a, const SPIVec &A)
 
SPIVec SPI::operator+ (const PetscScalar a, const SPIVec &A)
 
SPIVec SPI::operator- (const PetscScalar a, const SPIVec &A)
 
PetscInt SPI::save (const SPIVec &A, std::string filename)
 
PetscInt SPI::save (std::vector< PetscScalar > A, std::string variablename, std::string filename)
 
PetscInt SPI::save (std::vector< SPIVec > A, std::string variablename, std::string filename)
 
PetscInt SPI::load (SPIVec &A, const std::string filename)
 
SPIVec SPI::ones (const PetscInt rows)
 
SPIVec SPI::zeros (const PetscInt rows)
 
SPIVec SPI::conj (const SPIVec &A)
 
SPIVec SPI::real (const SPIVec &A)
 return the real part of the vector More...
 
SPIVec SPI::imag (const SPIVec &A)
 return the imaginary part of the vector More...
 
SPIVec SPI::linspace (const PetscScalar begin, const PetscScalar end, const PetscInt _rows)
 return linspace of number of rows equally spaced points between begin and end More...
 
SPIVec SPI::arange (const PetscScalar begin, const PetscScalar end, const PetscScalar stepsize)
 return a range of number of equally spaced points between begin and end by step size step More...
 
SPIVec SPI::arange (const PetscScalar end)
 
template<class T >
SPIVec SPI::_Function_on_each_element (T(*f)(T const &), const SPIVec &A)
 take the function of each element in a vector, e.g. (*f)(A(i)) for each i More...
 
SPIVec SPI::sin (const SPIVec &A)
 take the sin of each element in a vector More...
 
SPIVec SPI::cos (const SPIVec &A)
 take the cos of each element in a vector More...
 
SPIVec SPI::tan (const SPIVec &A)
 take the tan of each element in a vector More...
 
SPIVec SPI::exp (const SPIVec &A)
 take the exp of each element in a vector More...
 
SPIVec SPI::log (const SPIVec &A)
 take the log (natural log) of each element in a vector More...
 
SPIVec SPI::log10 (const SPIVec &A)
 take the log10 of each element in a vector More...
 
SPIVec SPI::sinh (const SPIVec &A)
 take the sinh of each element in a vector More...
 
SPIVec SPI::cosh (const SPIVec &A)
 take the cosh of each element in a vector More...
 
SPIVec SPI::tanh (const SPIVec &A)
 take the tanh of each element in a vector More...
 
SPIVec SPI::asin (const SPIVec &A)
 take the asin of each element in a vector More...
 
SPIVec SPI::acos (const SPIVec &A)
 take the acos of each element in a vector More...
 
SPIVec SPI::atan (const SPIVec &A)
 take the atan of each element in a vector More...
 
SPIVec SPI::asinh (const SPIVec &A)
 take the asinh of each element in a vector More...
 
SPIVec SPI::acosh (const SPIVec &A)
 take the acosh of each element in a vector More...
 
SPIVec SPI::atanh (const SPIVec &A)
 take the atanh of each element in a vector More...
 
SPIVec SPI::sqrt (const SPIVec &A)
 take the atanh of each element in a vector More...
 
SPIVec SPI::erf (const SPIVec &A)
 take the erf of each element in a vector More...
 
SPIVec SPI::erfc (const SPIVec &A)
 take the erfc(z) = 1-erf(z) of each element in a vector More...
 
template<class T >
SPIVec SPI::_Function_on_each_element (T(*f)(T const &, T const &), const SPIVec &A, SPIVec &B)
 function to take element by element of two vectors e.g. (*f)(A(i),B(i)) for all i More...
 
SPIVec SPI::pow (const SPIVec &A, SPIVec &B)
 take the pow of each element in the vectors More...
 
SPIVec SPI::pow (const SPIVec &A, PetscScalar b)
 take the pow of each element in the vector (A^b) More...
 
PetscScalar SPI::dot (SPIVec x, SPIVec y)
 take the inner product of the two vectors (i.e. y^H x) where ^H is the complex conjugate transpose More...
 
SPIVec SPI::abs (const SPIVec &A)
 take the absolute value of a vector More...
 
PetscScalar SPI::sum (SPIVec x1)
 take the sum of a vector More...
 
PetscScalar SPI::integrate_coeffs (const SPIVec &a)
 integrate a vector of chebyshev Coefficients on a grid More...
 
PetscScalar SPI::integrate_coeffs (const SPIVec &a, const SPIVec &y)
 integrate a vector of chebyshev Coefficients on a stretched grid More...
 
PetscReal SPI::L2 (SPIVec x1, const SPIVec x2, NormType type)
 calculate the \( L_2 \) norm of the difference between \(x_1\) and \(x_2\) vectors. More...
 
PetscReal SPI::L2 (const SPIVec x1, NormType type)
 calculate the \( L_2 \) norm of the vector More...
 
SPIVec SPI::diff (SPIVec x)
 diff of the vector (see numpy.diff) More...
 
PetscScalar SPI::trapz (SPIVec y)
 trapezoidal integration of y with unity coordinate spacing, \(\int y dx \) More...
 
PetscScalar SPI::trapz (SPIVec y, SPIVec x)
 trapezoidal integration of y with x coordinates, \(\int y dx \) More...
 
PetscInt SPI::draw (const SPIVec &x)
 draw nonzero structure and wait at command line input More...
 

Macro Definition Documentation

◆ USE_GPU

#define USE_GPU   0

Definition at line 3 of file SPIVec.cpp.