|
template<typename C > |
constexpr size_t | value_type_tag () |
|
template<> |
constexpr size_t | value_type_tag< double > () |
|
template<> |
constexpr size_t | value_type_tag< complex > () |
|
template<typename C > |
constexpr char * | value_type_name () |
|
template<> |
constexpr char * | value_type_name< double > () |
|
template<> |
constexpr char * | value_type_name< complex > () |
|
Index | range (const size_t start, const size_t stop) |
| Create an increasing sequence. it is similar to range() in python. More...
|
|
Index | range (const size_t stop) |
|
bool | is_no_transpose (const Axes &axes, const Axes &axes_map, size_t rank) |
|
|
|
template<template< typename > class Matrix, typename C > |
int | rsvd (const Tensor< Matrix, C > &a, const Axes &axes_row, const Axes &axes_col, Tensor< Matrix, C > &u, std::vector< double > &s, Tensor< Matrix, C > &vt, const size_t target_rank, const size_t oversamp) |
| Singular value decomposition by randomized algorithm. More...
|
|
template<template< typename > class Matrix, typename C > |
int | rsvd (const Tensor< Matrix, C > &a, const Axes &axes_row, const Axes &axes_col, Tensor< Matrix, C > &u, std::vector< double > &s, Tensor< Matrix, C > &vt, const size_t target_rank) |
| RSVD with oversamp = target_rank . More...
|
|
template<template< typename > class Matrix, typename C , typename Func1 , typename Func2 > |
int | rsvd (Func1 &multiply_row, Func2 &multiply_col, const Shape &shape_row, const Shape &shape_col, Tensor< Matrix, C > &u, std::vector< double > &s, Tensor< Matrix, C > &vt, const size_t target_rank, const size_t oversamp) |
| Singular value decomposition by randomized algorithm. More...
|
|
template<template< typename > class Matrix, typename C , typename Func1 , typename Func2 > |
int | rsvd (Func1 &multiply_row, Func2 &multiply_col, const Shape &shape_row, const Shape &shape_col, Tensor< Matrix, C > &u, std::vector< double > &s, Tensor< Matrix, C > &vt, const size_t target_rank) |
| RSVD with oversamp = target_rank . More...
|
|
void | set_seed (unsigned int seed) |
| Set seed for random number generator. More...
|
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | transpose (Tensor< Matrix, C > T, const Axes &axes) |
| Transposition of tensor with lazy evaluation. More...
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | transpose (const Tensor< Matrix, C > &T, const Axes &axes, size_t urank_new) |
| Transposition of tensor without lazy evaluation. More...
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | reshape (const Tensor< Matrix, C > &T, const Shape &shape_new) |
| Change the shape of tensor. More...
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | slice (const Tensor< Matrix, C > &T, size_t n_axes, size_t i_begin, size_t i_end) |
| Slice a tensor. More...
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | slice (const Tensor< Matrix, C > &T, const Index &index_begin, const Index &index_end) |
| Slice a tensor. More...
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | extend (const Tensor< Matrix, C > &T, const Shape &shape_new) |
| Extend the size of a tensor. More...
|
|
|
template<template< typename > class Matrix, typename C > |
C | trace (const Tensor< Matrix, C > &M) |
| Trace of matrix (rank-2 tensor) More...
|
|
template<template< typename > class Matrix, typename C > |
C | trace (const Tensor< Matrix, C > &T, const Axes &axes_1, const Axes &axes_2) |
| Full trace of tensor. More...
|
|
template<template< typename > class Matrix, typename C > |
C | trace (const Tensor< Matrix, C > &A, const Tensor< Matrix, C > &B, const Axes &axes_a, const Axes &axes_b) |
| Full contraction of two tensors. More...
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | contract (const Tensor< Matrix, C > &T, const Axes &axes_1, const Axes &axes_2) |
| Partial trace of tensor. More...
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | tensordot (const Tensor< Matrix, C > &a, const Tensor< Matrix, C > &b, const Axes &axes_a, const Axes &axes_b) |
| Compute tensor dot product. More...
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | kron (const Tensor< Matrix, C > &a, const Tensor< Matrix, C > &b) |
| Compute the Kronecker product. More...
|
|
|
template<template< typename > class Matrix, typename C > |
int | svd (const Tensor< Matrix, C > &a, std::vector< double > &s) |
| Singular value decomposition for rank-2 tensor (matrix) More...
|
|
template<template< typename > class Matrix, typename C > |
int | svd (const Tensor< Matrix, C > &a, Tensor< Matrix, C > &u, std::vector< double > &s, Tensor< Matrix, C > &vt) |
| Singular value decomposition for rank-2 tensor (matrix) More...
|
|
template<template< typename > class Matrix, typename C > |
int | svd (const Tensor< Matrix, C > &a, const Axes &axes_row, const Axes &axes_col, std::vector< double > &s) |
| Singular value decomposition for tensor. More...
|
|
template<template< typename > class Matrix, typename C > |
int | svd (const Tensor< Matrix, C > &a, const Axes &axes_row, const Axes &axes_col, Tensor< Matrix, C > &u, std::vector< double > &s, Tensor< Matrix, C > &vt) |
| Singular value decomposition for tensor. More...
|
|
template<template< typename > class Matrix, typename C > |
int | psvd (const Tensor< Matrix, C > &a, std::vector< double > &s, const size_t target_rank) |
| Partial SVD for rank-2 tensor (matrix) More...
|
|
template<template< typename > class Matrix, typename C > |
int | psvd (const Tensor< Matrix, C > &a, Tensor< Matrix, C > &u, std::vector< double > &s, Tensor< Matrix, C > &vt, const size_t target_rank) |
| Partial SVD for rank-2 tensor (matrix) More...
|
|
template<template< typename > class Matrix, typename C > |
int | psvd (const Tensor< Matrix, C > &a, const Axes &axes_row, const Axes &axes_col, std::vector< double > &s, const size_t target_rank) |
| Partial SVD for tensor. More...
|
|
template<template< typename > class Matrix, typename C > |
int | psvd (const Tensor< Matrix, C > &a, const Axes &axes_row, const Axes &axes_col, Tensor< Matrix, C > &u, std::vector< double > &s, Tensor< Matrix, C > &vt, const size_t target_rank) |
| Partial SVD for tensor. More...
|
|
template<template< typename > class Matrix, typename C > |
int | qr (const Tensor< Matrix, C > &a, Tensor< Matrix, C > &q, Tensor< Matrix, C > &r) |
| QR decomposition of matrix (rank-2 tensor) More...
|
|
template<template< typename > class Matrix, typename C > |
int | qr (const Tensor< Matrix, C > &a, const Axes &axes_row, const Axes &axes_col, Tensor< Matrix, C > &q, Tensor< Matrix, C > &r) |
| QR decomposition of tensor. More...
|
|
template<template< typename > class Matrix, typename C > |
int | eigh (const Tensor< Matrix, C > &a, std::vector< double > &eigval, Tensor< Matrix, C > &eigvec) |
|
template<template< typename > class Matrix, typename C > |
int | eigh (const Tensor< Matrix, C > &a, std::vector< double > &eigval) |
|
template<template< typename > class Matrix, typename C > |
int | eigh (const Tensor< Matrix, C > &a, const Axes &axes_row, const Axes &axes_col, std::vector< double > &eigval, Tensor< Matrix, C > &eigvec) |
|
template<template< typename > class Matrix, typename C > |
int | eigh (const Tensor< Matrix, C > &a, const Axes &axes_row, const Axes &axes_col, std::vector< double > &w) |
| Compute the eigenvalues of a complex Hermitian or real symmetric tensor. More...
|
|
template<template< typename > class Matrix, typename C > |
int | eigh (const Tensor< Matrix, C > &a, const Axes &axes_row_a, const Axes &axes_col_a, const Tensor< Matrix, C > &b, const Axes &axes_row_b, const Axes &axes_col_b, std::vector< double > &eigval, Tensor< Matrix, C > &eigvec) |
|
template<template< typename > class Matrix, typename C > |
int | eig (const Tensor< Matrix, C > &a, std::vector< complex > &w, Tensor< Matrix, complex > &z) |
| Compute the eigenvalues and eigenvectors of a general matrix (rank-2 tensor) More...
|
|
template<template< typename > class Matrix, typename C > |
int | eig (const Tensor< Matrix, C > &a, std::vector< complex > &w) |
| Compute only the eigenvalues of a general matrix (rank-2 tensor) More...
|
|
template<template< typename > class Matrix, typename C > |
int | eig (const Tensor< Matrix, C > &a, const Axes &axes_row, const Axes &axes_col, std::vector< complex > &w, Tensor< Matrix, complex > &z) |
| Compute the eigenvalues and eigenvectors of a general tensor. More...
|
|
template<template< typename > class Matrix, typename C > |
int | eig (const Tensor< Matrix, C > &a, const Axes &axes_row, const Axes &axes_col, std::vector< complex > &w) |
| Compute the eigenvalues of a general tensor. More...
|
|
|
template<template< typename > class Matrix, typename C > |
int | solve (const Tensor< Matrix, C > &a, const std::vector< C > &b, std::vector< C > &x) |
| Solve linear equation \( A\vec{x}=\vec{b}\). More...
|
|
template<template< typename > class Matrix, typename C > |
int | solve (const Tensor< Matrix, C > &a, const Tensor< Matrix, C > &b, Tensor< Matrix, C > &x) |
| Solve linear equation \( AX=B\). More...
|
|
template<template< typename > class Matrix, typename C > |
int | solve (const Tensor< Matrix, C > &a, const Tensor< Matrix, C > &b, Tensor< Matrix, C > &x, const Axes &axes_row_a, const Axes &axes_col_a, const Axes &axes_row_b, const Axes &axes_col_b) |
| Solve linear equation \( AX=B\). More...
|
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | operator+ (Tensor< Matrix, C > rhs) |
| Unary plus. More...
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | operator- (Tensor< Matrix, C > rhs) |
| Unary minus. More...
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | operator+ (Tensor< Matrix, C > lhs, const Tensor< Matrix, C > &rhs) |
| Addition. More...
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | operator- (Tensor< Matrix, C > lhs, const Tensor< Matrix, C > &rhs) |
| Subtraction. More...
|
|
template<template< typename > class Matrix, typename C , typename D > |
Tensor< Matrix, C > | operator* (Tensor< Matrix, C > lhs, D rhs) |
| Tensor-scalar multiplication. More...
|
|
template<template< typename > class Matrix, typename C , typename D > |
Tensor< Matrix, C > | operator/ (Tensor< Matrix, C > lhs, D rhs) |
| Scalar division. More...
|
|
template<template< typename > class Matrix, typename C , typename D > |
Tensor< Matrix, C > | operator* (D lhs, Tensor< Matrix, C > rhs) |
| Scalar-tensor multiplication. More...
|
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | sqrt (Tensor< Matrix, C > t) |
| Take square-root of each element. More...
|
|
template<template< typename > class Matrix, typename C > |
Tensor< Matrix, C > | conj (Tensor< Matrix, C > t) |
| Take conjugate of each element. More...
|
|
template<template< typename > class Matrix, typename C > |
double | max (const Tensor< Matrix, C > &t) |
| Return the maximum element. For complex, same as max_abs(). More...
|
|
template<template< typename > class Matrix, typename C > |
double | min (const Tensor< Matrix, C > &t) |
| Return the minimum element. For complex, same as min_abs(). More...
|
|
template<template< typename > class Matrix, typename C > |
double | max_abs (const Tensor< Matrix, C > &t) |
| Return maximum of the absolute value of an element. More...
|
|
template<template< typename > class Matrix, typename C > |
double | min_abs (const Tensor< Matrix, C > &t) |
| Return minimum of the absolute value of an element. More...
|
|
|
template<template< typename > class Matrix, typename C > |
std::ostream & | operator<< (std::ostream &out, const Tensor< Matrix, C > &t) |
| Output elements of tensor in numpy style. More...
|
|