mptensor  v0.3.0
Parallel Library for Tensor Network Methods
matrix_lapack.hpp File Reference

Header file for mptensor::lapack::Matrix. More...

#include <iostream>
#include <vector>
#include <string>
#include "../complex.hpp"
#include "matrix_lapack_impl.hpp"

Go to the source code of this file.

Classes

class  mptensor::lapack::Matrix< C >
 Non-distributed matrix using LAPACK. More...
 

Namespaces

 mptensor
 
 mptensor::lapack
 Namespace for the non-distributed Matrix class with LAPACK.
 

Functions

Matrix operations
template<typename C >
void mptensor::lapack::replace_matrix_data (const Matrix< C > &M, const std::vector< int > &dest_rank, const std::vector< size_t > &local_position, Matrix< C > &M_new)
 
template<typename C >
void mptensor::lapack::replace_matrix_data (const std::vector< C > &V, const std::vector< int > &dest_rank, const std::vector< size_t > &local_position, Matrix< C > &M_new)
 
template<typename C >
void mptensor::lapack::sum_matrix_data (const Matrix< C > &M, const std::vector< int > &dest_rank, const std::vector< size_t > &local_position, Matrix< C > &M_new)
 
template<typename C >
mptensor::lapack::matrix_trace (const Matrix< C > &a)
 
template<typename C >
double mptensor::lapack::max_abs (const Matrix< C > &a)
 
template<typename C >
double mptensor::lapack::min_abs (const Matrix< C > &a)
 
template<typename C >
void mptensor::lapack::matrix_product (const Matrix< C > &a, const Matrix< C > &b, Matrix< C > &c)
 
template<typename C >
int mptensor::lapack::matrix_svd (Matrix< C > &a, Matrix< C > &u, std::vector< double > &s, Matrix< C > &v)
 
template<typename C >
int mptensor::lapack::matrix_svd (Matrix< C > &a, std::vector< double > &s)
 
template<typename C >
int mptensor::lapack::matrix_qr (Matrix< C > &a, Matrix< C > &r)
 
template<typename C >
int mptensor::lapack::matrix_eigh (Matrix< C > &a, std::vector< double > &s, Matrix< C > &u)
 
template<typename C >
int mptensor::lapack::matrix_eigh (Matrix< C > &a, std::vector< double > &s)
 
template<typename C >
int mptensor::lapack::matrix_eigh (Matrix< C > &a, Matrix< C > &b, std::vector< double > &s, Matrix< C > &u)
 
template<typename C >
int mptensor::lapack::matrix_eig (Matrix< C > &a, std::vector< complex > &s, Matrix< complex > &u)
 
template<typename C >
int mptensor::lapack::matrix_eig (Matrix< C > &a, std::vector< complex > &s)
 
template<typename C >
int mptensor::lapack::matrix_solve (Matrix< C > &a, Matrix< C > &b)
 
template<typename C >
double mptensor::lapack::max (const Matrix< C > &a)
 
template<typename C >
double mptensor::lapack::min (const Matrix< C > &a)
 

Detailed Description