29#ifndef _MPTENSOR_SAVE_HPP_
30#define _MPTENSOR_SAVE_HPP_
52template <
template <
typename>
class Matrix,
typename C>
55 if (get_comm_rank() == 0) {
59 fout <<
"matrix_type= " << Matrix<C>::matrix_type_tag;
60 fout <<
" (" << Matrix<C>::matrix_type_name <<
")\n";
63 fout <<
"comm_size= " << get_comm_size() <<
"\n";
64 fout <<
"ndim= " <<
n <<
"\n";
65 fout <<
"upper_rank= " << upper_rank <<
"\n";
68 for (
size_t i = 0;
i <
n; ++
i)
fout <<
" " << Dim[
i];
72 for (
size_t i = 0;
i <
n; ++
i)
fout <<
" " << axes_map[
i];
81 std::ofstream::binary);
82 fout.write(
reinterpret_cast<const char *
>(get_matrix().head()),
83 sizeof(
C) * local_size());
91 get_matrix().save_index(
indexfile.c_str());
105template <
template <
typename>
class Matrix,
typename C>
110 if (get_comm_rank() == 0) {
113 fout <<
n <<
"\n" << upper_rank <<
"\n";
114 for (
size_t i = 0;
i <
n - 1; ++
i)
fout << Dim[
i] <<
" ";
115 fout << Dim[
n - 1] <<
"\n";
116 for (
size_t i = 0;
i <
n - 1; ++
i)
fout << axes_map[
i] <<
" ";
117 fout << axes_map[
n - 1] <<
"\n";
128 fout.write(
reinterpret_cast<const char *
>(get_matrix().head()),
129 sizeof(
C) * local_size());
Tensor class. The main object of mptensor.
Definition tensor.hpp:54
void save(const std::string &filename) const
Save a tensor to files.
Definition save.hpp:53
std::string filename(const std::string &prefix, int proc_size)
Definition common.hpp:32
std::complex< double > complex
Definition complex.hpp:38
Header file of helper functions for file io.
List of header files for matrix classes.
mptensor::complex complex
Definition matrix_lapack.cc:36
std::string index_filename(const std::string &prefix, int comm_rank)
Definition io_helper.hpp:57
std::string binary_filename(const std::string &prefix, int comm_rank)
Definition io_helper.hpp:49
Definition complex.hpp:34
#define MPTENSOR_VERSION_STRING
Definition version.hpp:35