|
template<typename Tile , typename Policy > |
size_t | size (const DistArray< Tile, Policy > &a) |
|
template<typename Tile , typename Policy > |
DistArray< Tile, Policy > | copy (const DistArray< Tile, Policy > &a) |
|
template<typename Tile , typename Policy > |
void | zero (DistArray< Tile, Policy > &a) |
|
template<typename Tile , typename Policy > |
DistArray< Tile, Policy >::element_type | minabs_value (const DistArray< Tile, Policy > &a) |
|
template<typename Tile , typename Policy > |
DistArray< Tile, Policy >::element_type | maxabs_value (const DistArray< Tile, Policy > &a) |
|
template<typename Tile , typename Policy > |
void | vec_multiply (DistArray< Tile, Policy > &a1, const DistArray< Tile, Policy > &a2) |
|
template<typename Tile , typename Policy > |
DistArray< Tile, Policy >::element_type | dot_product (const DistArray< Tile, Policy > &a1, const DistArray< Tile, Policy > &a2) |
|
template<typename Left , typename Right > |
TiledArray::expressions::ExprTrait< Left >::scalar_type | dot (const TiledArray::expressions::Expr< Left > &a1, const TiledArray::expressions::Expr< Right > &a2) |
|
template<typename Tile , typename Policy > |
void | scale (DistArray< Tile, Policy > &a, typename DistArray< Tile, Policy >::element_type scaling_factor) |
|
template<typename Tile , typename Policy > |
void | axpy (DistArray< Tile, Policy > &y, typename DistArray< Tile, Policy >::element_type a, const DistArray< Tile, Policy > &x) |
|
template<typename Tile , typename Policy > |
void | assign (DistArray< Tile, Policy > &m1, const DistArray< Tile, Policy > &m2) |
|
template<typename Tile , typename Policy > |
DistArray< Tile, Policy >::scalar_type | norm2 (const DistArray< Tile, Policy > &a) |
|
template<typename Tile , typename Policy > |
void | print (const DistArray< Tile, Policy > &a, const char *label) |
|
template<typename T , typename Range_ , typename Storage_ , typename Allocator_ > |
void | btas_subtensor_to_tensor (const btas::Tensor< T, Range_, Storage_ > &src, Tensor< T, Allocator_ > &dst) |
| Copy a block of a btas::Tensor into a TiledArray::Tensor. More...
|
|
template<typename T , typename Allocator_ , typename Range_ , typename Storage_ > |
void | tensor_to_btas_subtensor (const Tensor< T, Allocator_ > &src, btas::Tensor< T, Range_, Storage_ > &dst) |
| Copy a block of a btas::Tensor into a TiledArray::Tensor. More...
|
|
template<typename DistArray_ , typename T , typename Range , typename Storage > |
DistArray_ | btas_tensor_to_array (World &world, const TiledArray::TiledRange &trange, const btas::Tensor< T, Range, Storage > &src, bool replicated=false) |
| Convert a btas::Tensor object into a TiledArray::DistArray object. More...
|
|
template<typename Tile , typename Policy > |
btas::Tensor< typename Tile::value_type > | array_to_btas_tensor (const TiledArray::DistArray< Tile, Policy > &src) |
| Convert a TiledArray::DistArray object into a btas::Tensor object. More...
|
|
template<typename Tile , typename Policy > |
DistArray< Tile, Policy > | clone (const DistArray< Tile, Policy > &arg) |
| Create a deep copy of an array. More...
|
|
template<typename Tile > |
DistArray< Tile, SparsePolicy > | to_sparse (DistArray< Tile, DensePolicy > const &dense_array) |
| Function to convert a dense array into a block sparse array. More...
|
|
template<typename Tile > |
DistArray< Tile, SparsePolicy > | to_sparse (DistArray< Tile, SparsePolicy > const &sparse_array) |
| If the array is already sparse return a copy of the array. More...
|
|
template<typename T , typename A > |
Eigen::Map< const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >, Eigen::AutoAlign > | eigen_map (const Tensor< T, A > &tensor, const std::size_t m, const std::size_t n) |
| Construct a const Eigen::Map object for a given Tensor object. More...
|
|
template<typename T , typename A > |
Eigen::Map< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >, Eigen::AutoAlign > | eigen_map (Tensor< T, A > &tensor, const std::size_t m, const std::size_t n) |
| Construct an Eigen::Map object for a given Tensor object. More...
|
|
template<typename T , typename A > |
Eigen::Map< const Eigen::Matrix< T, Eigen::Dynamic, 1 >, Eigen::AutoAlign > | eigen_map (const Tensor< T, A > &tensor, const std::size_t n) |
| Construct a const Eigen::Map object for a given Tensor object. More...
|
|
template<typename T , typename A > |
Eigen::Map< Eigen::Matrix< T, Eigen::Dynamic, 1 >, Eigen::AutoAlign > | eigen_map (Tensor< T, A > &tensor, const std::size_t n) |
| Construct an Eigen::Map object for a given Tensor object. More...
|
|
template<typename T , typename A > |
Eigen::Map< const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >, Eigen::AutoAlign > | eigen_map (const Tensor< T, A > &tensor) |
| Construct a const Eigen::Map object for a given Tensor object. More...
|
|
template<typename T , typename A > |
Eigen::Map< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >, Eigen::AutoAlign > | eigen_map (Tensor< T, A > &tensor) |
| Construct an Eigen::Map object for a given Tensor object. More...
|
|
template<typename T , typename A , typename Derived > |
void | eigen_submatrix_to_tensor (const Eigen::MatrixBase< Derived > &matrix, Tensor< T, A > &tensor) |
| Copy a block of an Eigen matrix into a tensor. More...
|
|
template<typename T , typename A , typename Derived > |
void | tensor_to_eigen_submatrix (const Tensor< T, A > &tensor, Eigen::MatrixBase< Derived > &matrix) |
| Copy the content of a tensor into an Eigen matrix block. More...
|
|
template<typename A , typename Derived > |
A | eigen_to_array (World &world, const typename A::trange_type &trange, const Eigen::MatrixBase< Derived > &matrix, bool replicated=false) |
| Convert an Eigen matrix into an Array object. More...
|
|
template<typename Tile , typename Policy , unsigned int EigenStorageOrder = Eigen::ColMajor> |
Eigen::Matrix< typename Tile::value_type, Eigen::Dynamic, Eigen::Dynamic, EigenStorageOrder > | array_to_eigen (const DistArray< Tile, Policy > &array) |
| Convert an Array object into an Eigen matrix object. More...
|
|
template<typename A > |
A | row_major_buffer_to_array (World &world, const typename A::trange_type &trange, const typename A::value_type::value_type *buffer, const std::size_t m, const std::size_t n, const bool replicated=false) |
| Convert a row-major matrix buffer into an Array object. More...
|
|
template<typename A > |
A | column_major_buffer_to_array (World &world, const typename A::trange_type &trange, const typename A::value_type::value_type *buffer, const std::size_t m, const std::size_t n, const bool replicated=false) |
| Convert a column-major matrix buffer into an Array object. More...
|
|
template<typename ResultTile , typename ArgTile , typename Op , typename = typename std::enable_if<!std::is_same<ResultTile,ArgTile>::value>::type> |
DistArray< ResultTile, DensePolicy > | foreach (const DistArray< ArgTile, DensePolicy > &arg, Op &&op) |
| Apply a function to each tile of a dense Array. More...
|
|
template<typename Tile , typename Op > |
DistArray< Tile, DensePolicy > | foreach (const DistArray< Tile, DensePolicy > &arg, Op &&op) |
| Apply a function to each tile of a dense Array. More...
|
|
template<typename Tile , typename Op , typename = typename std::enable_if<! TiledArray::detail::is_array<typename std::decay<Op>::type>::value>::type> |
void | foreach_inplace (DistArray< Tile, DensePolicy > &arg, Op &&op, bool fence=true) |
| Modify each tile of a dense Array. More...
|
|
template<typename ResultTile , typename ArgTile , typename Op , typename = typename std::enable_if<!std::is_same<ResultTile,ArgTile>::value>::type> |
DistArray< ResultTile, SparsePolicy > | foreach (const DistArray< ArgTile, SparsePolicy > arg, Op &&op) |
| Apply a function to each tile of a sparse Array. More...
|
|
template<typename Tile , typename Op > |
DistArray< Tile, SparsePolicy > | foreach (const DistArray< Tile, SparsePolicy > &arg, Op &&op) |
| Apply a function to each tile of a sparse Array. More...
|
|
template<typename Tile , typename Op , typename = typename std::enable_if<! TiledArray::detail::is_array<typename std::decay<Op>::type>::value>::type> |
void | foreach_inplace (DistArray< Tile, SparsePolicy > &arg, Op &&op, bool fence=true) |
| Modify each tile of a sparse Array. More...
|
|
template<typename ResultTile , typename LeftTile , typename RightTile , typename Op , typename = typename std::enable_if<!std::is_same<ResultTile, LeftTile>::value>::type> |
DistArray< ResultTile, DensePolicy > | foreach (const DistArray< LeftTile, DensePolicy > &left, const DistArray< RightTile, DensePolicy > &right, Op &&op) |
|
template<typename LeftTile , typename RightTile , typename Op > |
DistArray< LeftTile, DensePolicy > | foreach (const DistArray< LeftTile, DensePolicy > &left, const DistArray< RightTile, DensePolicy > &right, Op &&op) |
|
template<typename LeftTile , typename RightTile , typename Op > |
void | foreach_inplace (DistArray< LeftTile, DensePolicy > &left, const DistArray< RightTile, DensePolicy > &right, Op &&op, bool fence=true) |
| This function takes two input tiles and put result into the left tile. More...
|
|
template<typename ResultTile , typename LeftTile , typename RightTile , typename Op , typename = typename std::enable_if<!std::is_same<ResultTile, LeftTile>::value>::type> |
DistArray< ResultTile, SparsePolicy > | foreach (const DistArray< LeftTile, SparsePolicy > &left, const DistArray< RightTile, SparsePolicy > &right, Op &&op, const ShapeReductionMethod shape_reduction=ShapeReductionMethod::Intersect) |
|
template<typename LeftTile , typename RightTile , typename Op > |
DistArray< LeftTile, SparsePolicy > | foreach (const DistArray< LeftTile, SparsePolicy > &left, const DistArray< RightTile, SparsePolicy > &right, Op &&op, const ShapeReductionMethod shape_reduction=ShapeReductionMethod::Intersect) |
|
template<typename LeftTile , typename RightTile , typename Op > |
void | foreach_inplace (DistArray< LeftTile, SparsePolicy > &left, const DistArray< RightTile, SparsePolicy > &right, Op &&op, const ShapeReductionMethod shape_reduction=ShapeReductionMethod::Intersect, bool fence=true) |
| This function takes two input tiles and put result into the left tile. More...
|
|
template<typename Array , typename Op , typename std::enable_if< is_dense< Array >::value >::type * = nullptr> |
Array | make_array (World &world, const detail::trange_t< Array > &trange, const std::shared_ptr< detail::pmap_t< Array > > &pmap, Op &&op) |
| Construct dense Array. More...
|
|
template<typename Array , typename Op > |
Array | make_array (World &world, const detail::trange_t< Array > &trange, Op &&op) |
| Construct an Array. More...
|
|
template<typename Tile > |
DistArray< Tile, DensePolicy > | to_dense (DistArray< Tile, SparsePolicy > const &sparse_array) |
|
template<typename Tile > |
DistArray< Tile, DensePolicy > | to_dense (DistArray< Tile, DensePolicy > const &other) |
|
template<typename Tile , typename Policy , typename Op > |
DistArray< typename std::result_of< Op(Tile)>::type, Policy > | to_new_tile_type (DistArray< Tile, Policy > const &old_array, Op &&op) |
| Function to convert an array to a new array with a different tile type. More...
|
|
template<typename Tile > |
void | truncate (DistArray< Tile, DensePolicy > &array) |
| Truncate a dense Array. More...
|
|
template<typename Tile > |
void | truncate (DistArray< Tile, SparsePolicy > &array) |
| Truncate a sparse Array. More...
|
|
constexpr bool | operator== (const DenseShape &a, const DenseShape &b) |
|
constexpr bool | operator!= (const DenseShape &a, const DenseShape &b) |
|
template<typename Tile , typename Policy > |
std::ostream & | operator<< (std::ostream &os, const DistArray< Tile, Policy > &a) |
| Add the tensor to an output stream. More...
|
|
void | exception_break () |
| Place a break point on this function to stop before TiledArray exceptions are thrown. More...
|
|
template<typename Perm > |
TiledArray::Range | permute (const TiledArray::Range &r, const Perm &p) |
|
bool | operator== (const Permutation &p1, const Permutation &p2) |
| Permutation equality operator. More...
|
|
std::ostream & | operator<< (std::ostream &output, const Permutation &p) |
| Add permutation to an output stream. More...
|
|
template<typename T , std::size_t N> |
std::array< T, N > | operator* (const Permutation &perm, const std::array< T, N > &a) |
| Permute a std::array . More...
|
|
template<typename T , std::size_t N> |
std::array< T, N > & | operator*= (std::array< T, N > &a, const Permutation &perm) |
| In-place permute a std::array . More...
|
|
template<typename T , typename A > |
std::vector< T > | operator* (const Permutation &perm, const std::vector< T, A > &v) |
| permute a std::vector<T> More...
|
|
template<typename T , typename A > |
std::vector< T, A > & | operator*= (std::vector< T, A > &v, const Permutation &perm) |
| In-place permute a std::array . More...
|
|
template<typename T > |
std::vector< T > | operator* (const Permutation &perm, const T *MADNESS_RESTRICT const ptr) |
| Permute a memory buffer. More...
|
|
bool | operator!= (const Permutation &p1, const Permutation &p2) |
| Permutation inequality operator. More...
|
|
bool | operator< (const Permutation &p1, const Permutation &p2) |
| Permutation less-than operator. More...
|
|
Permutation | operator- (const Permutation &perm) |
| Inverse permutation operator. More...
|
|
Permutation | operator* (const Permutation &p1, const Permutation &p2) |
| Permutation multiplication operator. More...
|
|
Permutation & | operator*= (Permutation &p1, const Permutation &p2) |
| return *this ^ other More...
|
|
Permutation | operator^ (const Permutation &perm, int n) |
| Raise perm to the n-th power. More...
|
|
void | swap (Range &r0, Range &r1) |
| Exchange the values of the give two ranges. More...
|
|
Range | operator* (const Permutation &perm, const Range &r) |
| Create a permuted range. More...
|
|
bool | operator== (const Range &r1, const Range &r2) |
| Range equality comparison. More...
|
|
bool | operator!= (const Range &r1, const Range &r2) |
| Range inequality comparison. More...
|
|
std::ostream & | operator<< (std::ostream &os, const Range &r) |
| Range output operator. More...
|
|
template<typename T > |
std::ostream & | operator<< (std::ostream &os, const SparseShape< T > &shape) |
| Add the shape to an output stream. More...
|
|
template<typename T > |
DistArray< Tensor< T >, DensePolicy > | dense_diagonal_array (World &world, TiledRange const &trange, T val=1) |
|
template<typename T > |
DistArray< Tensor< T >, SparsePolicy > | sparse_diagonal_array (World &world, TiledRange const &trange, T val=1) |
|
template<typename T , typename Policy > |
DistArray< Tensor< T >, std::enable_if_t< std::is_same< Policy, DensePolicy >::value, Policy >> | diagonal_array (World &world, TiledRange const &trange, T val=1) |
|
template<typename T , typename Policy > |
DistArray< Tensor< T >, std::enable_if_t< std::is_same< Policy, SparsePolicy >::value, Policy >> | diagonal_array (World &world, TiledRange const &trange, T val=1) |
|
template<typename T1 , typename T2 , typename std::enable_if< detail::is_tensor< T1, T2 >::value||detail::is_tensor_of_tensor< T1, T2 >::value >::type * = nullptr> |
auto | operator+ (const T1 &left, const T2 &right) |
| Tensor plus operator. More...
|
|
template<typename T1 , typename T2 , typename std::enable_if< detail::is_tensor< T1, T2 >::value||detail::is_tensor_of_tensor< T1, T2 >::value >::type * = nullptr> |
auto | operator- (const T1 &left, const T2 &right) |
| Tensor minus operator. More...
|
|
template<typename T1 , typename T2 , typename std::enable_if< detail::is_tensor< T1, T2 >::value||detail::is_tensor_of_tensor< T1, T2 >::value >::type * = nullptr> |
auto | operator* (const T1 &left, const T2 &right) |
| Tensor multiplication operator. More...
|
|
template<typename T , typename N , typename std::enable_if<(detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value) &&detail::is_numeric< N >::value >::type * = nullptr> |
auto | operator* (const T &left, N right) |
| Create a copy of left that is scaled by right . More...
|
|
template<typename N , typename T , typename std::enable_if< detail::is_numeric< N >::value &&(detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value)>::type * = nullptr> |
auto | operator* (N left, const T &right) |
| Create a copy of right that is scaled by left . More...
|
|
template<typename T , typename std::enable_if< detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value >::type * = nullptr> |
auto | operator- (const T &arg) -> decltype(arg.neg()) |
| Create a negated copy of arg . More...
|
|
template<typename T , typename std::enable_if< detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value >::type * = nullptr> |
auto | operator* (const Permutation &perm, const T &arg) |
| Create a permuted copy of arg . More...
|
|
template<typename T1 , typename T2 , typename std::enable_if< detail::is_tensor< T1, T2 >::value||detail::is_tensor_of_tensor< T1, T2 >::value >::type * = nullptr> |
auto | operator+= (T1 &left, const T2 &right) |
| Tensor plus operator. More...
|
|
template<typename T1 , typename T2 , typename std::enable_if< detail::is_tensor< T1, T2 >::value||detail::is_tensor_of_tensor< T1, T2 >::value >::type * = nullptr> |
auto | operator-= (T1 &left, const T2 &right) |
| Tensor minus operator. More...
|
|
template<typename T1 , typename T2 , typename std::enable_if< detail::is_tensor< T1, T2 >::value||detail::is_tensor_of_tensor< T1, T2 >::value >::type * = nullptr> |
auto | operator*= (T1 &left, const T2 &right) |
| In place tensor multiplication. More...
|
|
template<typename T , typename N , typename std::enable_if<(detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value) &&detail::is_numeric< N >::value >::type * = nullptr> |
auto | operator+= (T &left, N right) |
| In place tensor add constant. More...
|
|
template<typename T , typename N , typename std::enable_if<(detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value) &&detail::is_numeric< N >::value >::type * = nullptr> |
auto | operator-= (T &left, N right) |
| In place tensor subtract constant. More...
|
|
template<typename T , typename N , typename std::enable_if<(detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value) &&detail::is_numeric< N >::value >::type * = nullptr> |
auto | operator*= (T &left, N right) |
| In place tensor scale. More...
|
|
template<typename T > |
detail::ShiftWrapper< T > | shift (T &tensor) |
| Shift a tensor from one range to another. More...
|
|
template<typename T > |
detail::ShiftWrapper< const T > | shift (const T &tensor) |
| Shift a tensor from one range to another. More...
|
|
template<typename T , typename A > |
bool | operator== (const Tensor< T, A > &a, const Tensor< T, A > &b) |
|
template<typename T , typename A > |
bool | operator!= (const Tensor< T, A > &a, const Tensor< T, A > &b) |
|
template<typename T , typename Index > |
void | remap (detail::TensorInterface< T, Range > &, T *const, const Index &, const Index &) |
|
template<typename T , typename Index > |
void | remap (detail::TensorInterface< const T, Range > &, T *const, const Index &, const Index &) |
|
template<typename T > |
void | remap (detail::TensorInterface< T, Range > &, T *const, const std::initializer_list< std::size_t > &, const std::initializer_list< std::size_t > &) |
|
template<typename T > |
void | remap (detail::TensorInterface< const T, Range > &, T *const, const std::initializer_list< std::size_t > &, const std::initializer_list< std::size_t > &) |
|
template<typename T , typename Index > |
TensorMap< T > | make_map (T *const data, const Index &lower_bound, const Index &upper_bound) |
|
template<typename T > |
TensorMap< T > | make_map (T *const data, const std::initializer_list< std::size_t > &lower_bound, const std::initializer_list< std::size_t > &upper_bound) |
|
template<typename T , typename Range_ > |
TensorMap< T, std::decay_t< Range_ > > | make_map (T *const data, Range_ &&range) |
|
template<typename T , typename Index > |
TensorConstMap< T > | make_map (const T *const data, const Index &lower_bound, const Index &upper_bound) |
|
template<typename T > |
TensorConstMap< T > | make_map (const T *const data, const std::initializer_list< std::size_t > &lower_bound, const std::initializer_list< std::size_t > &upper_bound) |
|
template<typename T , typename Range_ > |
TensorConstMap< T, std::decay_t< Range_ > > | make_map (const T *const data, Range_ &&range) |
|
template<typename T , typename Index > |
TensorConstMap< T > | make_const_map (const T *const data, const Index &lower_bound, const Index &upper_bound) |
|
template<typename T > |
TensorConstMap< T > | make_const_map (const T *const data, const std::initializer_list< std::size_t > &lower_bound, const std::initializer_list< std::size_t > &upper_bound) |
|
template<typename T > |
TensorConstMap< T > | make_const_map (const T *const data, const Range &range) |
|
template<typename T , typename Index > |
TensorConstMap< T > | make_const_map (T *const data, const Index &lower_bound, const Index &upper_bound) |
|
template<typename T > |
TensorConstMap< T > | make_const_map (T *const data, const std::initializer_list< std::size_t > &lower_bound, const std::initializer_list< std::size_t > &upper_bound) |
|
template<typename T , typename Range_ > |
TensorConstMap< T, std::decay_t< Range_ > > | make_const_map (T *const data, Range_ &&range) |
|
template<typename T , typename Index > |
void | remap (TensorMap< T > &map, T *const data, const Index &lower_bound, const Index &upper_bound) |
| For reusing map without allocating new ranges . . . maybe. More...
|
|
template<typename T , typename Index > |
void | remap (TensorConstMap< T > &map, T *const data, const Index &lower_bound, const Index &upper_bound) |
|
template<typename T > |
void | remap (TensorMap< T > &map, T *const data, const std::initializer_list< std::size_t > &lower_bound, const std::initializer_list< std::size_t > &upper_bound) |
|
template<typename T > |
void | remap (TensorConstMap< T > &map, T *const data, const std::initializer_list< std::size_t > &lower_bound, const std::initializer_list< std::size_t > &upper_bound) |
|
template<typename T , typename std::enable_if< detail::is_tensor< T >::value &&detail::is_contiguous_tensor< T >::value >::type * = nullptr> |
std::ostream & | operator<< (std::ostream &os, const T &t) |
| Tensor output operator. More...
|
|
template<typename Arg > |
Tile< Arg > | clone (const Tile< Arg > &arg) |
| Create a copy of arg . More...
|
|
template<typename Arg > |
bool | empty (const Tile< Arg > &arg) |
| Check that arg is empty (no data) More...
|
|
template<typename Arg > |
decltype(auto) | permute (const Tile< Arg > &arg, const Permutation &perm) |
| Create a permuted copy of arg . More...
|
|
template<typename Arg , typename Index > |
decltype(auto) | shift (const Tile< Arg > &arg, const Index &range_shift) |
| Shift the range of arg . More...
|
|
template<typename Arg , typename Index > |
Tile< Arg > & | shift_to (Tile< Arg > &arg, const Index &range_shift) |
| Shift the range of arg in place. More...
|
|
template<typename Left , typename Right > |
decltype(auto) | add (const Tile< Left > &left, const Tile< Right > &right) |
| Add tile arguments. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | add (const Tile< Left > &left, const Tile< Right > &right, const Scalar factor) |
| Add and scale tile arguments. More...
|
|
template<typename Left , typename Right > |
decltype(auto) | add (const Tile< Left > &left, const Tile< Right > &right, const Permutation &perm) |
| Add and permute tile arguments. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | add (const Tile< Left > &left, const Tile< Right > &right, const Scalar factor, const Permutation &perm) |
| Add, scale, and permute tile arguments. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | add (const Tile< Arg > &arg, const Scalar value) |
| Add a constant scalar to tile argument. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | add (const Tile< Arg > &arg, const Scalar value, const Permutation &perm) |
| Add a constant scalar and permute tile argument. More...
|
|
template<typename Result , typename Arg > |
Tile< Result > & | add_to (Tile< Result > &result, const Tile< Arg > &arg) |
| Add to the result tile. More...
|
|
template<typename Result , typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
Tile< Result > & | add_to (Tile< Result > &result, const Tile< Arg > &arg, const Scalar factor) |
| Add and scale to the result tile. More...
|
|
template<typename Result , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
Tile< Result > & | add_to (Tile< Result > &result, const Scalar value) |
| Add constant scalar to the result tile. More...
|
|
template<typename Left , typename Right > |
decltype(auto) | subt (const Tile< Left > &left, const Tile< Right > &right) |
| Subtract tile arguments. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | subt (const Tile< Left > &left, const Tile< Right > &right, const Scalar factor) |
| Subtract and scale tile arguments. More...
|
|
template<typename Left , typename Right > |
decltype(auto) | subt (const Tile< Left > &left, const Tile< Right > &right, const Permutation &perm) |
| Subtract and permute tile arguments. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | subt (const Tile< Left > &left, const Tile< Right > &right, const Scalar factor, const Permutation &perm) |
| Subtract, scale, and permute tile arguments. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | subt (const Tile< Arg > &arg, const Scalar value) |
| Subtract a scalar constant from the tile argument. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | subt (const Tile< Arg > &arg, const Scalar value, const Permutation &perm) |
| Subtract a constant scalar and permute tile argument. More...
|
|
template<typename Result , typename Arg > |
Tile< Result > & | subt_to (Tile< Result > &result, const Tile< Arg > &arg) |
| Subtract from the result tile. More...
|
|
template<typename Result , typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
Tile< Result > & | subt_to (Tile< Result > &result, const Tile< Arg > &arg, const Scalar factor) |
| Subtract and scale from the result tile. More...
|
|
template<typename Result , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
Tile< Result > & | subt_to (Tile< Result > &result, const Scalar value) |
| Subtract constant scalar from the result tile. More...
|
|
template<typename Left , typename Right > |
decltype(auto) | mult (const Tile< Left > &left, const Tile< Right > &right) |
| Multiplication tile arguments. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | mult (const Tile< Left > &left, const Tile< Right > &right, const Scalar factor) |
| Multiplication and scale tile arguments. More...
|
|
template<typename Left , typename Right > |
decltype(auto) | mult (const Tile< Left > &left, const Tile< Right > &right, const Permutation &perm) |
| Multiplication and permute tile arguments. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | mult (const Tile< Left > &left, const Tile< Right > &right, const Scalar factor, const Permutation &perm) |
| Multiplication, scale, and permute tile arguments. More...
|
|
template<typename Result , typename Arg > |
Tile< Result > & | mult_to (Tile< Result > &result, const Tile< Arg > &arg) |
| Multiply to the result tile. More...
|
|
template<typename Result , typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
Tile< Result > & | mult_to (Tile< Result > &result, const Tile< Arg > &arg, const Scalar factor) |
| Multiply and scale to the result tile. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | scale (const Tile< Arg > &arg, const Scalar factor) |
| Scalar the tile argument. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | scale (const Tile< Arg > &arg, const Scalar factor, const Permutation &perm) |
| Scale and permute tile argument. More...
|
|
template<typename Result , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
Tile< Result > & | scale_to (Tile< Result > &result, const Scalar factor) |
| Scale to the result tile. More...
|
|
template<typename Arg > |
decltype(auto) | neg (const Tile< Arg > &arg) |
| Negate the tile argument. More...
|
|
template<typename Arg > |
decltype(auto) | neg (const Tile< Arg > &arg, const Permutation &perm) |
| Negate and permute tile argument. More...
|
|
template<typename Result > |
Tile< Result > & | neg_to (Tile< Result > &result) |
| Multiplication constant scalar to a tile. More...
|
|
template<typename Arg > |
decltype(auto) | conj (const Tile< Arg > &arg) |
| Create a complex conjugated copy of a tile. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | conj (const Tile< Arg > &arg, const Scalar factor) |
| Create a complex conjugated and scaled copy of a tile. More...
|
|
template<typename Arg > |
decltype(auto) | conj (const Tile< Arg > &arg, const Permutation &perm) |
| Create a complex conjugated and permuted copy of a tile. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | conj (const Tile< Arg > &arg, const Scalar factor, const Permutation &perm) |
| Create a complex conjugated, scaled, and permuted copy of a tile. More...
|
|
template<typename Result > |
Result & | conj_to (Tile< Result > &result) |
| In-place complex conjugate a tile. More...
|
|
template<typename Result , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
Result & | conj_to (Tile< Result > &result, const Scalar factor) |
| In-place complex conjugate and scale a tile. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
decltype(auto) | gemm (const Tile< Left > &left, const Tile< Right > &right, const Scalar factor, const math::GemmHelper &gemm_config) |
| Contract and scale tile arguments. More...
|
|
template<typename Result , typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
Tile< Result > & | gemm (Tile< Result > &result, const Tile< Left > &left, const Tile< Right > &right, const Scalar factor, const math::GemmHelper &gemm_config) |
| Contract and scale tile arguments to the result tile. More...
|
|
template<typename Arg > |
decltype(auto) | trace (const Tile< Arg > &arg) |
| Sum the hyper-diagonal elements a tile. More...
|
|
template<typename Arg > |
decltype(auto) | sum (const Tile< Arg > &arg) |
| Sum the elements of a tile. More...
|
|
template<typename Arg > |
decltype(auto) | product (const Tile< Arg > &arg) |
| Multiply the elements of a tile. More...
|
|
template<typename Arg > |
decltype(auto) | squared_norm (const Tile< Arg > &arg) |
| Squared vector 2-norm of the elements of a tile. More...
|
|
template<typename Arg > |
decltype(auto) | norm (const Tile< Arg > &arg) |
| Vector 2-norm of a tile. More...
|
|
template<typename Arg > |
decltype(auto) | max (const Tile< Arg > &arg) |
| Maximum element of a tile. More...
|
|
template<typename Arg > |
decltype(auto) | min (const Tile< Arg > &arg) |
| Minimum element of a tile. More...
|
|
template<typename Arg > |
decltype(auto) | abs_max (const Tile< Arg > &arg) |
| Absolute maximum element of a tile. More...
|
|
template<typename Arg > |
decltype(auto) | abs_min (const Tile< Arg > &arg) |
| Absolute mainimum element of a tile. More...
|
|
template<typename Left , typename Right > |
decltype(auto) | dot (const Tile< Left > &left, const Tile< Right > &right) |
| Vector dot product of a tile. More...
|
|
template<typename Left , typename Right > |
decltype(auto) | operator+ (const Tile< Left > &left, const Tile< Right > &right) |
| Add tiles operator. More...
|
|
template<typename Left , typename Right > |
Tile< Left > & | operator+= (Tile< Left > &left, const Tile< Right > &right) |
| In-place add tile operator. More...
|
|
template<typename Left , typename Right > |
decltype(auto) | operator- (const Tile< Left > &left, const Tile< Right > &right) |
| Subtract tiles operator. More...
|
|
template<typename Left , typename Right > |
Tile< Left > & | operator-= (Tile< Left > &left, const Tile< Right > &right) |
| In-place subtract tile operator. More...
|
|
template<typename Left , typename Right > |
decltype(auto) | operator* (const Tile< Left > &left, const Tile< Right > &right) |
| Product tiles operator. More...
|
|
template<typename Left , typename Right , typename std::enable_if< detail::is_numeric< Right >::value >::type * = nullptr> |
decltype(auto) | operator* (const Tile< Left > &left, const Right right) |
| Scale tile operator. More...
|
|
template<typename Left , typename Right , typename std::enable_if< TiledArray::detail::is_numeric< Left >::value >::type * = nullptr> |
decltype(auto) | operator* (const Left left, const Tile< Right > &right) |
| Scale tile operator. More...
|
|
template<typename Left , typename Right > |
Tile< Left > & | operator*= (Tile< Left > &left, const Tile< Right > &right) |
| In-place product tile operator. More...
|
|
template<typename Arg > |
decltype(auto) | operator- (const Tile< Arg > &arg) |
| Negate tile operator. More...
|
|
template<typename Arg > |
decltype(auto) | operator* (const Permutation &perm, Tile< Arg > const arg) |
| Permute tile operator. More...
|
|
template<typename T > |
std::ostream & | operator<< (std::ostream &os, const Tile< T > &tile) |
| Tile output stream operator. More...
|
|
template<typename Left , typename Right > |
auto | add (const Left &left, const Right &right) -> decltype(left.add(right)) |
| Add tile arguments. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | add (const Left &left, const Right &right, const Scalar factor) |
| Add and scale tile arguments. More...
|
|
template<typename Left , typename Right > |
auto | add (const Left &left, const Right &right, const Permutation &perm) |
| Add and permute tile arguments. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | add (const Left &left, const Right &right, const Scalar factor, const Permutation &perm) |
| Add, scale, and permute tile arguments. More...
|
|
template<typename Result , typename Arg > |
Result & | add_to (Result &result, const Arg &arg) |
| Add to the result tile. More...
|
|
template<typename Result , typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
Result & | add_to (Result &result, const Arg &arg, const Scalar factor) |
| Add and scale to the result tile. More...
|
|
template<typename Arg , typename Result = typename TiledArray::eval_trait<std::decay_t<Arg>>::type> |
auto | invoke_cast (Arg &&arg) |
|
template<typename Arg > |
auto | clone (const Arg &arg) |
| Create a copy of arg . More...
|
|
template<typename Arg > |
auto | permute (const Arg &arg, const Permutation &perm) |
| Create a permuted copy of arg . More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | scale (const Arg &arg, const Scalar factor) |
| Scalar the tile argument. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | scale (const Arg &arg, const Scalar factor, const Permutation &perm) |
| Scale and permute tile argument. More...
|
|
template<typename Result , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
Result & | scale_to (Result &result, const Scalar factor) |
| Scale to the result tile. More...
|
|
template<typename Arg , typename Index > |
auto | shift (const Arg &arg, const Index &range_shift) |
| Shift the range of arg . More...
|
|
template<typename Arg , typename Index > |
auto | shift_to (Arg &arg, const Index &range_shift) |
| Shift the range of arg in place. More...
|
|
template<typename Arg > |
bool | empty (const Arg &arg) |
| Check that arg is empty (no data) More...
|
|
template<typename Left , typename Right > |
auto | subt (const Left &left, const Right &right) |
| Subtract tile arguments. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | subt (const Left &left, const Right &right, const Scalar factor) |
| Subtract and scale tile arguments. More...
|
|
template<typename Left , typename Right > |
auto | subt (const Left &left, const Right &right, const Permutation &perm) |
| Subtract and permute tile arguments. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | subt (const Left &left, const Right &right, const Scalar factor, const Permutation &perm) |
| Subtract, scale, and permute tile arguments. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | subt (const Arg &arg, const Scalar value) |
| Subtract a scalar constant from the tile argument. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | subt (const Arg &arg, const Scalar value, const Permutation &perm) |
| Subtract a constant scalar and permute tile argument. More...
|
|
template<typename Result , typename Arg > |
Result & | subt_to (Result &result, const Arg &arg) |
| Subtract from the result tile. More...
|
|
template<typename Result , typename Arg , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
Result & | subt_to (Result &result, const Arg &arg, const Scalar factor) |
| Subtract and scale from the result tile. More...
|
|
template<typename Result , typename Scalar , typename std::enable_if< detail::is_numeric< Scalar >::value >::type * = nullptr> |
Result & | subt_to (Result &result, const Scalar value) |
| Subtract constant scalar from the result tile. More...
|
|
template<typename Left , typename Right > |
auto | mult (const Left &left, const Right &right) |
| Multiplication tile arguments. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | mult (const Left &left, const Right &right, const Scalar factor) |
| Multiplication and scale tile arguments. More...
|
|
template<typename Left , typename Right > |
auto | mult (const Left &left, const Right &right, const Permutation &perm) |
| Multiplication and permute tile arguments. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | mult (const Left &left, const Right &right, const Scalar factor, const Permutation &perm) |
| Multiplication, scale, and permute tile arguments. More...
|
|
template<typename Result , typename Arg > |
Result & | mult_to (Result &result, const Arg &arg) |
| Multiply to the result tile. More...
|
|
template<typename Result , typename Arg , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
Result & | mult_to (Result &result, const Arg &arg, const Scalar factor) |
| Multiply and scale to the result tile. More...
|
|
template<typename Arg > |
auto | neg (const Arg &arg) |
| Negate the tile argument. More...
|
|
template<typename Arg > |
auto | neg (const Arg &arg, const Permutation &perm) |
| Negate and permute tile argument. More...
|
|
template<typename Result > |
Result & | neg_to (Result &result) |
| Multiplication constant scalar to a tile. More...
|
|
template<typename Arg > |
auto | conj (const Arg &arg) |
| Create a complex conjugated copy of a tile. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | conj (const Arg &arg, const Scalar factor) |
| Create a complex conjugated and scaled copy of a tile. More...
|
|
template<typename Arg > |
auto | conj (const Arg &arg, const Permutation &perm) |
| Create a complex conjugated and permuted copy of a tile. More...
|
|
template<typename Arg , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | conj (const Arg &arg, const Scalar factor, const Permutation &perm) |
| Create a complex conjugated, scaled, and permuted copy of a tile. More...
|
|
template<typename Result > |
Result & | conj_to (Result &result) |
| In-place complex conjugate a tile. More...
|
|
template<typename Result , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
Result & | conj_to (Result &result, const Scalar factor) |
| In-place complex conjugate and scale a tile. More...
|
|
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
auto | gemm (const Left &left, const Right &right, const Scalar factor, const math::GemmHelper &gemm_config) |
| Contract and scale tile arguments. More...
|
|
template<typename Result , typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric< Scalar >::value >::type * = nullptr> |
Result & | gemm (Result &result, const Left &left, const Right &right, const Scalar factor, const math::GemmHelper &gemm_config) |
| Contract and scale tile arguments to the result tile. More...
|
|
template<typename Arg > |
auto | trace (const Arg &arg) |
| Sum the hyper-diagonal elements a tile. More...
|
|
template<typename Arg > |
auto | sum (const Arg &arg) |
| Sum the elements of a tile. More...
|
|
template<typename Arg > |
auto | product (const Arg &arg) |
| Multiply the elements of a tile. More...
|
|
template<typename Arg > |
auto | squared_norm (const Arg &arg) |
| Squared vector 2-norm of the elements of a tile. More...
|
|
template<typename Arg > |
auto | norm (const Arg &arg) |
| Vector 2-norm of a tile. More...
|
|
template<typename Arg > |
auto | max (const Arg &arg) |
| Maximum element of a tile. More...
|
|
template<typename Arg > |
auto | min (const Arg &arg) |
| Minimum element of a tile. More...
|
|
template<typename Arg > |
auto | abs_max (const Arg &arg) |
| Absolute maximum element of a tile. More...
|
|
template<typename Arg > |
auto | abs_min (const Arg &arg) |
| Absolute mainimum element of a tile. More...
|
|
template<typename Left , typename Right > |
auto | dot (const Left &left, const Right &right) |
| Vector dot product of two tiles. More...
|
|
template<typename Left , typename Right > |
auto | inner_product (const Left &left, const Right &right) |
| Vector inner product of two tiles. More...
|
|
TiledRange | operator* (const Permutation &p, const TiledRange &r) |
| TiledRange permutation operator. More...
|
|
void | swap (TiledRange &r0, TiledRange &r1) |
| Exchange the content of the two given TiledRange's. More...
|
|
bool | operator== (const TiledRange &r1, const TiledRange &r2) |
| Returns true when all tile and element ranges are the same. More...
|
|
bool | operator!= (const TiledRange &r1, const TiledRange &r2) |
|
std::ostream & | operator<< (std::ostream &out, const TiledRange &rng) |
|
void | swap (TiledRange1 &r0, TiledRange1 &r1) |
| Exchange the data of the two given ranges. More...
|
|
bool | operator== (const TiledRange1 &r1, const TiledRange1 &r2) |
| Equality operator. More...
|
|
bool | operator!= (const TiledRange1 &r1, const TiledRange1 &r2) |
| Inequality operator. More...
|
|
std::ostream & | operator<< (std::ostream &out, const TiledRange1 &rng) |
| TiledRange1 ostream operator. More...
|
|
|
These functions initialize TiledArray AND MADWorld runtime components. - Note
- the default World object is set to the object returned by these.
|
World & | initialize (int &argc, char **&argv, const SafeMPI::Intracomm &comm) |
|
World & | initialize (int &argc, char **&argv) |
|
World & | initialize (int &argc, char **&argv, const MPI_Comm &comm) |
|
void | finalize () |
|