|
| WaveFunctions () |
|
| WaveFunctions (const IndexTree &indexTree, const std::vector< unsigned int > &states) |
|
| WaveFunctions (const IndexTree &indexTree, const std::vector< unsigned int > &states, const std::complex< double > *data) |
|
| WaveFunctions (const std::string &serialization, Mode mode) |
|
const std::vector< unsigned int > & | getStates () const |
|
const std::complex< double > & | operator() (const Index &index, unsigned int state) const |
|
std::complex< double > & | operator() (const Index &index, unsigned int state) |
|
double | getMinAbs () const |
|
double | getMaxAbs () const |
|
double | getMinArg () const |
|
double | getMaxArg () const |
|
virtual std::string | toString () const |
|
virtual std::string | serialize (Mode mode) const |
|
unsigned int | getBlockSize () const |
|
unsigned int | getSize () const |
|
const std::vector< std::complex< double > > & | getData () const |
|
std::vector< std::complex< double > > & | getDataRW () |
|
unsigned int | getDimensions () const |
|
std::vector< int > | getRanges () const |
|
int | getOffset (const Index &index) const |
|
const IndexDescriptor & | getIndexDescriptor () const |
|
bool | contains (const Index &index) const |
|
void | reduce (const std::vector< Index > &targetPatterns, const std::vector< Index > &newPatterns) |
|
void | hermitianConjugate () |
|
std::vector< SparseMatrix< std::complex< double > > > | toSparseMatrices (const Model &model) const |
|
std::complex< double > & | operator() (const std::initializer_list< Subindex > &index) |
|
const std::complex< double > & | operator() (const std::initializer_list< Subindex > &index) const |
|
virtual const std::complex< double > & | operator() (unsigned int offset) const |
|
virtual std::complex< double > & | operator() (unsigned int offset) |
|
void | setAllowIndexOutOfBoundsAccess (bool allowIndexOutOfBoundsAccess) |
|
void | setDefaultValue (const std::complex< double > &defaultValue) |
|
void | replaceValues (const std::complex< double > &targetValue, const std::complex< double > &replacementValue) |
|
virtual std::string | toString () const |
|
template<> |
std::string | serialize (const bool &data, Mode mode) |
|
template<> |
std::string | serialize (const double &data, Mode mode) |
|
template<> |
std::string | serialize (const std::complex< double > &data, Mode mode) |
|
template<> |
std::string | serialize (const int &data, Mode mode) |
|
template<> |
std::string | serialize (const unsigned int &data, Mode mode) |
|
template<> |
std::string | serialize (const SpinMatrix &data, Mode mode) |
|
template<> |
std::string | serialize (const Statistics &data, Mode mode) |
|
template<> |
std::string | serialize (const std::vector< std::complex< double >> &data, Mode mode) |
|
template<> |
int | deserialize (const std::string &serialization, Mode mode) |
|
|
enum | Mode { Debug,
Binary,
XML,
JSON
} |
|
static bool | hasID (const std::string &serialization, Mode mode) |
|
static std::string | getID (const std::string &serialization, Mode mode) |
|
static std::string | extractComponent (const std::string &serialization, const std::string &containerID, const std::string &componentID, const std::string &componentName, Mode mode) |
|
| AbstractProperty () |
|
| AbstractProperty (unsigned int blockSize) |
|
| AbstractProperty (unsigned int blockSize, const std::complex< double > *data) |
|
| AbstractProperty (const std::vector< int > &ranges, unsigned int blockSize) |
|
| AbstractProperty (const std::vector< int > &ranges, unsigned int blockSize, const std::complex< double > *data) |
|
| AbstractProperty (const IndexTree &indexTree, unsigned int blockSize) |
|
| AbstractProperty (const IndexTree &indexTree, unsigned int blockSize, const std::complex< double > *data) |
|
| AbstractProperty (const AbstractProperty &abstractProperty) |
|
| AbstractProperty (AbstractProperty &&abstractProperty) |
|
| AbstractProperty (const std::string &serialization, Mode mode) |
|
virtual | ~AbstractProperty () |
|
AbstractProperty & | operator= (const AbstractProperty &abstractProperty) |
|
AbstractProperty & | operator= (AbstractProperty &&abstractProperty) |
|
AbstractProperty & | operator+= (const AbstractProperty &rhs) |
|
AbstractProperty & | operator-= (const AbstractProperty &rhs) |
|
AbstractProperty & | operator*= (const std::complex< double > &rhs) |
|
AbstractProperty & | operator/= (const std::complex< double > &rhs) |
|
| Property () |
|
virtual | ~Property () |
|
static bool | validate (const std::string &serialization, const std::string &id, Mode mode) |
|
static std::string | getContent (const std::string &serialization, Mode mode) |
|
static std::vector< std::string > | split (const std::string &content, Mode mode) |
|
template<typename DataType > |
static std::enable_if<!std::is_pointer< DataType >::value, std::string >::type | serialize (const DataType &data, Mode mode) |
|
template<typename DataType > |
static std::enable_if< std::is_pointer< DataType >::value, std::string >::type | serialize (const DataType &data, Mode mode) |
|
template<typename DataType > |
static DataType | deserialize (const std::string &serialization, Mode mode) |
|
static std::string | extract (const std::string &serialization, Mode mode, std::string component) |
|
Property container for wave function.
The WaveFunctions is a Property with DataType std::complex<double>. It contains the wave function for a number of states.
Example
#include "TBTK/PropertyExtractor/Diagonalizer.h"
using namespace TBTK;
using namespace Visualization::MatPlotLib;
int main(){
const unsigned int SIZE_X = 41;
const unsigned int SIZE_Y = 41;
double t = 1;
= propertyExtractor.calculateWaveFunctions(
{{_a_, _a_}},
{_a_}
);
<< waveFunctions({20, 20}, 100) << "\n";
const unsigned int STATE = 4;
Plotter plotter;
plotter.plot({_a_, 20}, STATE, waveFunctions);
plotter.save("figures/WaveFunction1D.png");
plotter.clear();
plotter.plot({_a_, _a_}, STATE, waveFunctions);
plotter.save("figures/WaveFunction2D.png");
}
Output
waveFunctions({20, 20}, 100) = (1.42061e-15,0)