SMG2S
Sparse Matrix Generator with Given Spectrum
Spectrum

This module relates to the loading, generation, and check of spectrum provided by the users. This spectrum will be fed into SMG2S for generating a non-Symmetric/Hermitian sparse matrix with it. More...

Functions

template<typename T , typename S >
checkNonSymmSpec (parVector< std::complex< Base< T >>, S > spec)
 Check if provided spectrum with conjugate eigenvalues is valid. More...
 
template<typename T , typename S >
parVector< T, S > specNonHerm (parVectorMap< S > index_map, std::string spectrum)
 load user-provided spectrum from local text file for generating non-Hermitian matrix More...
 
template<typename T , typename S >
parVector< T, S > specNonSymm (parVectorMap< S > index_map, std::string spectrum)
 load user-provided spectrum (only eigenvalues in real) from local text file for generating non-Symmetric matrix More...
 
template<typename T , typename S >
parVector< std::complex< Base< T > >, S > specNonSymmCplex (parVectorMap< S > index_map, std::string spectrum)
 load user-provided spectrum (conjugate eigenvalues) from local text file for generating non-Symmetric matrix More...
 

Detailed Description

This module relates to the loading, generation, and check of spectrum provided by the users. This spectrum will be fed into SMG2S for generating a non-Symmetric/Hermitian sparse matrix with it.

Function Documentation

◆ checkNonSymmSpec()

template<typename T , typename S >
S checkNonSymmSpec ( parVector< std::complex< Base< T >>, S >  spec)

Check if provided spectrum with conjugate eigenvalues is valid.

Parameters
[in]specthe provided spectrum stored in a parVector object with complex scalar.
  • Attention, this function is only useful for generating non-Symmetric matrix with conjuagte eigenvalues.

◆ specNonHerm()

template<typename T , typename S >
parVector<T, S> specNonHerm ( parVectorMap< S >  index_map,
std::string  spectrum 
)

load user-provided spectrum from local text file for generating non-Hermitian matrix

Parameters
[in]index_mapthe distribution scheme used for building the parVector object which stores the loaded spectrum
[in]spectrumpath and file name which stores the given eigenvalues.
  • Attention, this function is only useful for generating non-Hermitian matrix with conjuagte eigenvalues.

◆ specNonSymm()

template<typename T , typename S >
parVector<T, S> specNonSymm ( parVectorMap< S >  index_map,
std::string  spectrum 
)

load user-provided spectrum (only eigenvalues in real) from local text file for generating non-Symmetric matrix

Parameters
[in]index_mapthe distribution scheme used for building the parVector object which stores the loaded spectrum
[in]spectrumpath and file name which stores the given eigenvalues.
  • Attention, this function is only useful for generating non-Symmetric matrix with eigenvalues in real.

◆ specNonSymmCplex()

template<typename T , typename S >
parVector<std::complex<Base<T> >, S> specNonSymmCplex ( parVectorMap< S >  index_map,
std::string  spectrum 
)

load user-provided spectrum (conjugate eigenvalues) from local text file for generating non-Symmetric matrix

Parameters
[in]index_mapthe distribution scheme used for building the parVector object which stores the loaded spectrum
[in]spectrumpath and file name which stores the given eigenvalues.
  • Attention, this function is only useful for generating non-Symmetric matrix with conjugate eigenvalues.