|
template<int rank, int dim, typename Number , typename OtherNumber , typename std::enable_if< !std::is_integral< typename ProductType< Number, OtherNumber >::type >::value, int >::type = 0> |
constexpr Tensor< rank, dim, typename ProductType< Number, OtherNumber >::type > | internal::TensorImplementation::division_operator (const Tensor< rank, dim, Number > &t, const OtherNumber &factor) |
|
|
template<int rank_, int dim, typename Number > |
std::ostream & | operator<< (std::ostream &out, const Tensor< rank_, dim, Number > &p) |
|
template<int dim, typename Number > |
std::ostream & | operator<< (std::ostream &out, const Tensor< 0, dim, Number > &p) |
|
|
template<int dim, typename Number , typename Other > |
constexpr ProductType< Other, Number >::type | operator* (const Other &object, const Tensor< 0, dim, Number > &t) |
|
template<int dim, typename Number , typename Other > |
constexpr ProductType< Number, Other >::type | operator* (const Tensor< 0, dim, Number > &t, const Other &object) |
|
template<int dim, typename Number , typename OtherNumber > |
constexpr ProductType< Number, OtherNumber >::type | operator* (const Tensor< 0, dim, Number > &src1, const Tensor< 0, dim, OtherNumber > &src2) |
|
template<int dim, typename Number , typename OtherNumber > |
constexpr Tensor< 0, dim, typename ProductType< Number, typename EnableIfScalar< OtherNumber >::type >::type > | operator/ (const Tensor< 0, dim, Number > &t, const OtherNumber &factor) |
|
template<int dim, typename Number , typename OtherNumber > |
constexpr Tensor< 0, dim, typename ProductType< Number, OtherNumber >::type > | operator+ (const Tensor< 0, dim, Number > &p, const Tensor< 0, dim, OtherNumber > &q) |
|
template<int dim, typename Number , typename OtherNumber > |
constexpr Tensor< 0, dim, typename ProductType< Number, OtherNumber >::type > | operator- (const Tensor< 0, dim, Number > &p, const Tensor< 0, dim, OtherNumber > &q) |
|
template<int rank, int dim, typename Number , typename OtherNumber > |
constexpr Tensor< rank, dim, typename ProductType< Number, typename EnableIfScalar< OtherNumber >::type >::type > | operator* (const Tensor< rank, dim, Number > &t, const OtherNumber &factor) |
|
template<int rank, int dim, typename Number , typename OtherNumber > |
constexpr Tensor< rank, dim, typename ProductType< typename EnableIfScalar< Number >::type, OtherNumber >::type > | operator* (const Number &factor, const Tensor< rank, dim, OtherNumber > &t) |
|
template<int rank, int dim, typename Number , typename OtherNumber > |
constexpr Tensor< rank, dim, typename ProductType< Number, typename EnableIfScalar< OtherNumber >::type >::type > | operator/ (const Tensor< rank, dim, Number > &t, const OtherNumber &factor) |
|
template<int rank, int dim, typename Number , typename OtherNumber > |
constexpr Tensor< rank, dim, typename ProductType< Number, OtherNumber >::type > | operator+ (const Tensor< rank, dim, Number > &p, const Tensor< rank, dim, OtherNumber > &q) |
|
template<int rank, int dim, typename Number , typename OtherNumber > |
constexpr Tensor< rank, dim, typename ProductType< Number, OtherNumber >::type > | operator- (const Tensor< rank, dim, Number > &p, const Tensor< rank, dim, OtherNumber > &q) |
|
template<int dim, typename Number , typename OtherNumber > |
constexpr Tensor< 0, dim, typename ProductType< Number, OtherNumber >::type > | schur_product (const Tensor< 0, dim, Number > &src1, const Tensor< 0, dim, OtherNumber > &src2) |
|
template<int rank, int dim, typename Number , typename OtherNumber > |
constexpr Tensor< rank, dim, typename ProductType< Number, OtherNumber >::type > | schur_product (const Tensor< rank, dim, Number > &src1, const Tensor< rank, dim, OtherNumber > &src2) |
|
|
template<int rank_1, int rank_2, int dim, typename Number , typename OtherNumber , typename = typename std::enable_if<rank_1 >= 1 && rank_2> |
OtherNumber ::type ::tensor_type | operator* (const Tensor< rank_1, dim, Number > &src1, const Tensor< rank_2, dim, OtherNumber > &src2) |
|
template<int index_1, int index_2, int rank_1, int rank_2, int dim, typename Number , typename OtherNumber > |
constexpr Tensor< rank_1+rank_2 - 2, dim, typename ProductType< Number, OtherNumber >::type >::tensor_type | contract (const Tensor< rank_1, dim, Number > &src1, const Tensor< rank_2, dim, OtherNumber > &src2) |
|
template<int index_1, int index_2, int index_3, int index_4, int rank_1, int rank_2, int dim, typename Number , typename OtherNumber > |
constexpr Tensor< rank_1+rank_2 - 4, dim, typename ProductType< Number, OtherNumber >::type >::tensor_type | double_contract (const Tensor< rank_1, dim, Number > &src1, const Tensor< rank_2, dim, OtherNumber > &src2) |
|
template<int rank, int dim, typename Number , typename OtherNumber > |
constexpr ProductType< Number, OtherNumber >::type | scalar_product (const Tensor< rank, dim, Number > &left, const Tensor< rank, dim, OtherNumber > &right) |
|
template<template< int, int, typename > class TensorT1, template< int, int, typename > class TensorT2, template< int, int, typename > class TensorT3, int rank_1, int rank_2, int dim, typename T1 , typename T2 , typename T3 > |
constexpr ProductType< T1, typename ProductType< T2, T3 >::type >::type | contract3 (const TensorT1< rank_1, dim, T1 > &left, const TensorT2< rank_1+rank_2, dim, T2 > &middle, const TensorT3< rank_2, dim, T3 > &right) |
|
template<int rank_1, int rank_2, int dim, typename Number , typename OtherNumber > |
constexpr Tensor< rank_1+rank_2, dim, typename ProductType< Number, OtherNumber >::type > | outer_product (const Tensor< rank_1, dim, Number > &src1, const Tensor< rank_2, dim, OtherNumber > &src2) |
|
|
template<int dim, typename Number > |
constexpr Tensor< 1, dim, Number > | cross_product_2d (const Tensor< 1, dim, Number > &src) |
|
template<int dim, typename Number1 , typename Number2 > |
constexpr Tensor< 1, dim, typename ProductType< Number1, Number2 >::type > | cross_product_3d (const Tensor< 1, dim, Number1 > &src1, const Tensor< 1, dim, Number2 > &src2) |
|
|
template<int dim, typename Number > |
constexpr Number | determinant (const Tensor< 2, dim, Number > &t) |
|
template<typename Number > |
constexpr Number | determinant (const Tensor< 2, 1, Number > &t) |
|
template<int dim, typename Number > |
constexpr Number | trace (const Tensor< 2, dim, Number > &d) |
|
template<int dim, typename Number > |
constexpr Tensor< 2, dim, Number > | invert (const Tensor< 2, dim, Number > &) |
|
template<int dim, typename Number > |
constexpr Tensor< 2, dim, Number > | transpose (const Tensor< 2, dim, Number > &t) |
|
template<int dim, typename Number > |
constexpr Tensor< 2, dim, Number > | adjugate (const Tensor< 2, dim, Number > &t) |
|
template<int dim, typename Number > |
constexpr Tensor< 2, dim, Number > | cofactor (const Tensor< 2, dim, Number > &t) |
|
template<int dim, typename Number > |
Tensor< 2, dim, Number > | project_onto_orthogonal_tensors (const Tensor< 2, dim, Number > &tensor) |
|
template<int dim, typename Number > |
Number | l1_norm (const Tensor< 2, dim, Number > &t) |
|
template<int dim, typename Number > |
Number | linfty_norm (const Tensor< 2, dim, Number > &t) |
|