![]()  | 
  
    mptensor
    v0.3.0
    
   Parallel Library for Tensor Network Methods 
   | 
 
Inteface of Matrix class. More...
#include <matrix_interface.hpp>
Public Types | |
| typedef C | value_type | 
double or complex  More... | |
| typedef int | comm_type | 
Set MPI_Comm for MPI programm.  More... | |
Public Member Functions | |
| Matrix () | |
| Constructor of a size-zero matrix.  More... | |
| Matrix (const comm_type &comm) | |
| Constructor of a size-zero matrix.  More... | |
| Matrix (size_t n_row, size_t n_col) | |
| Constructor of a (n_row, n_col) matrix.  More... | |
| Matrix (const comm_type &comm, size_t n_row, size_t n_col) | |
| Constructor of a (n_row, n_col) matrix.  More... | |
| void | init (size_t n_row, size_t n_col) | 
| const comm_type & | get_comm () const | 
| Return the MPI communicator.  More... | |
| int | get_comm_size () const | 
| Return the size of the MPI communicator.  More... | |
| int | get_comm_rank () const | 
| Return the MPI rank.  More... | |
| void | print_info (std::ostream &) const | 
| const C & | operator[] (size_t i) const | 
| Const array subscript operator.  More... | |
| C & | operator[] (size_t i) | 
| Array subscript operator.  More... | |
| const C * | head () const | 
| C * | head () | 
| size_t | local_size () const | 
| Return the number of elements in this process.  More... | |
| void | global_index (size_t i, size_t &g_row, size_t &g_col) const | 
| bool | local_index (size_t g_row, size_t g_col, size_t &i) const | 
| void | local_position (size_t g_row, size_t g_col, int &comm_rank, size_t &lindex) const | 
| size_t | local_row_size () const | 
| size_t | local_col_size () const | 
| size_t | local_row_index (size_t lindex) const | 
| size_t | local_col_index (size_t lindex) const | 
| size_t | global_row_index (size_t lindex_row) const | 
| size_t | global_col_index (size_t lindex_col) const | 
| Matrix & | operator+= (const Matrix &rhs) | 
| Matrix & | operator-= (const Matrix &rhs) | 
| Matrix & | operator*= (C rhs) | 
| Matrix & | operator/= (C rhs) | 
| template<typename UnaryOperation > | |
| Matrix & | map (UnaryOperation op) | 
| std::vector< C > | flatten () | 
| Return the flattened vector.  More... | |
| void | barrier () const | 
| Wrapper of MPI_Barrier.  More... | |
| C | allreduce_sum (C value) const | 
| Return the summation of a scalar. Every processes returns the same value.  More... | |
| template<typename D > | |
| void | bcast (D *buffer, int count, int root) const | 
| Wrapper of MPI_Bcast.  More... | |
| void | prep_local_to_global () const | 
| Preprocess for fast conversion from local index to global one.  More... | |
| void | prep_global_to_local () const | 
| Preprocess for fast conversion from local index to global one.  More... | |
| void | save_index (const std::string &filename) const | 
Static Public Attributes | |
| constexpr static size_t | matrix_type_tag = MATRIX_TYPE_TAG_INTERFACE | 
| constexpr static char * | matrix_type_name = (char*)"Interface" | 
Related Functions | |
(Note that these are not member functions.)  | |
| template<typename C > | |
| int | matrix_eigh (Matrix< C > &a, std::vector< double > &s) | 
| Eigenvalues of a hermite (symmetric) matrix.  More... | |
Inteface of Matrix class.
This class shows the list of members, which should be implemented in a Matrix class.
| C | type of elements (double or complex). | 
| typedef int mptensor::matrix_interface::Matrix< C >::comm_type | 
Set MPI_Comm for MPI programm. 
| typedef C mptensor::matrix_interface::Matrix< C >::value_type | 
double or complex 
| mptensor::matrix_interface::Matrix< C >::Matrix< C > | ( | ) | 
Constructor of a size-zero matrix.
      
  | 
  explicit | 
Constructor of a size-zero matrix.
| [in] | comm | MPI communicator. | 
| mptensor::matrix_interface::Matrix< C >::Matrix< C > | ( | size_t | n_row, | 
| size_t | n_col | ||
| ) | 
Constructor of a (n_row, n_col) matrix.
| [in] | n_row | size of row. | 
| [in] | n_col | size of column. | 
| mptensor::matrix_interface::Matrix< C >::Matrix< C > | ( | const comm_type & | comm, | 
| size_t | n_row, | ||
| size_t | n_col | ||
| ) | 
Constructor of a (n_row, n_col) matrix.
| [in] | comm | MPI communicator. | 
| [in] | n_row | size of row. | 
| [in] | n_col | size of column. | 
| C mptensor::matrix_interface::Matrix< C >::allreduce_sum | ( | C | value | ) | const | 
Return the summation of a scalar. Every processes returns the same value.
| void mptensor::matrix_interface::Matrix< C >::barrier | ( | ) | const | 
Wrapper of MPI_Barrier.
| void mptensor::matrix_interface::Matrix< C >::bcast | ( | D * | buffer, | 
| int | count, | ||
| int | root | ||
| ) | const | 
Wrapper of MPI_Bcast.
| [in] | buffer | Starting address of buffer. | 
| [in] | count | Number of entries in buffer. | 
| [in] | root | Rank of broadcast root. | 
| std::vector< C > mptensor::matrix_interface::Matrix< C >::flatten | ( | ) | 
Return the flattened vector.
| const Matrix< C >::comm_type & mptensor::matrix_interface::Matrix< C >::get_comm | ( | ) | const | 
Return the MPI communicator.
| int mptensor::matrix_interface::Matrix< C >::get_comm_rank | ( | ) | const | 
Return the MPI rank.
| int mptensor::matrix_interface::Matrix< C >::get_comm_size | ( | ) | const | 
Return the size of the MPI communicator.
| size_t mptensor::matrix_interface::Matrix< C >::global_col_index | ( | size_t | lindex_col | ) | const | 
| void mptensor::matrix_interface::Matrix< C >::global_index | ( | size_t | i, | 
| size_t & | g_row, | ||
| size_t & | g_col | ||
| ) | const | 
| size_t mptensor::matrix_interface::Matrix< C >::global_row_index | ( | size_t | lindex_row | ) | const | 
| C* mptensor::matrix_interface::Matrix< C >::head | ( | ) | 
| const C* mptensor::matrix_interface::Matrix< C >::head | ( | ) | const | 
| void mptensor::matrix_interface::Matrix< C >::init | ( | size_t | n_row, | 
| size_t | n_col | ||
| ) | 
| size_t mptensor::matrix_interface::Matrix< C >::local_col_index | ( | size_t | lindex | ) | const | 
| size_t mptensor::matrix_interface::Matrix< C >::local_col_size | ( | ) | const | 
| bool mptensor::matrix_interface::Matrix< C >::local_index | ( | size_t | g_row, | 
| size_t | g_col, | ||
| size_t & | i | ||
| ) | const | 
| void mptensor::matrix_interface::Matrix< C >::local_position | ( | size_t | g_row, | 
| size_t | g_col, | ||
| int & | comm_rank, | ||
| size_t & | lindex | ||
| ) | const | 
| size_t mptensor::matrix_interface::Matrix< C >::local_row_index | ( | size_t | lindex | ) | const | 
| size_t mptensor::matrix_interface::Matrix< C >::local_row_size | ( | ) | const | 
| size_t mptensor::matrix_interface::Matrix< C >::local_size | ( | ) | const | 
Return the number of elements in this process.
| Matrix& mptensor::matrix_interface::Matrix< C >::map | ( | UnaryOperation | op | ) | 
| Matrix& mptensor::matrix_interface::Matrix< C >::operator*= | ( | C | rhs | ) | 
| Matrix& mptensor::matrix_interface::Matrix< C >::operator+= | ( | const Matrix< C > & | rhs | ) | 
| Matrix& mptensor::matrix_interface::Matrix< C >::operator-= | ( | const Matrix< C > & | rhs | ) | 
| Matrix& mptensor::matrix_interface::Matrix< C >::operator/= | ( | C | rhs | ) | 
| C & mptensor::matrix_interface::Matrix< C >::operator[] | ( | size_t | i | ) | 
Array subscript operator.
| const C & mptensor::matrix_interface::Matrix< C >::operator[] | ( | size_t | i | ) | const | 
Const array subscript operator.
| void mptensor::matrix_interface::Matrix< C >::prep_global_to_local | ( | ) | const | 
Preprocess for fast conversion from local index to global one.
| void mptensor::matrix_interface::Matrix< C >::prep_local_to_global | ( | ) | const | 
Preprocess for fast conversion from local index to global one.
| void mptensor::matrix_interface::Matrix< C >::print_info | ( | std::ostream & | ) | const | 
| void mptensor::matrix_interface::Matrix< C >::save_index | ( | const std::string & | filename | ) | const | 
      
  | 
  related | 
Eigenvalues of a hermite (symmetric) matrix.
| [in] | a | The hermite or symmetric matrix. On exit, it may be destroyed. | 
| [out] | s | The eigenvalues in ascending order. | 
      
  | 
  staticconstexpr | 
      
  | 
  staticconstexpr |