MiniTensor Version of the Day
Loading...
Searching...
No Matches
MiniTensor_Tensor.h File Reference
#include <algorithm>
#include <cassert>
#include <iomanip>
#include <iostream>
#include <vector>
#include <Kokkos_Core.hpp>
#include "MiniTensor_Vector.h"

Go to the source code of this file.

Classes

class  minitensor::Tensor< T, N >
 

Namespaces

namespace  minitensor
 

Typedefs

template<typename T , Index N>
using minitensor::tensor_store = Storage< T, dimension_power< N, 2 >::value >
 

Functions

template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< typename Promote< S, T >::type, N > minitensor::operator+ (Tensor< S, N > const &A, Tensor< T, N > const &B)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< typename Promote< S, T >::type, N > minitensor::operator- (Tensor< S, N > const &A, Tensor< T, N > const &B)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::operator- (Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION bool minitensor::operator== (Tensor< T, N > const &A, Tensor< T, N > const &B)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION bool minitensor::operator!= (Tensor< T, N > const &A, Tensor< T, N > const &B)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< typename Promote< S, T >::type, N > minitensor::operator* (Tensor< T, N > const &A, Vector< S, N > const &u)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< typename Promote< S, T >::type, N > minitensor::operator* (Vector< S, N > const &u, Tensor< T, N > const &A)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< typename Promote< S, T >::type, N > minitensor::operator* (Tensor< S, N > const &A, Tensor< T, N > const &B)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION lazy_disable_if< order_1234< S >, apply_tensor< Promote< S, T >, N > >::type minitensor::operator* (S const &s, Tensor< T, N > const &A)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION lazy_disable_if< order_1234< S >, apply_tensor< Promote< S, T >, N > >::type minitensor::operator* (Tensor< T, N > const &A, S const &s)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< typename Promote< S, T >::type, N > minitensor::operator/ (Tensor< T, N > const &A, S const &s)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< typename Promote< S, T >::type, N > minitensor::operator/ (S const &s, Tensor< T, N > const &A)
 
template<typename T , Index N>
std::istream & minitensor::operator>> (std::istream &is, Tensor< T, N > &A)
 
template<typename T , Index N>
std::ostream & minitensor::operator<< (std::ostream &os, Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::row (Tensor< T, N > const &A, Index const i)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::col (Tensor< T, N > const &A, Index const j)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< typename Promote< S, T >::type, N > minitensor::dot (Tensor< T, N > const &A, Vector< S, N > const &u)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< typename Promote< S, T >::type, N > minitensor::dot (Vector< S, N > const &u, Tensor< T, N > const &A)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< typename Promote< S, T >::type, N > minitensor::dot (Tensor< S, N > const &A, Tensor< T, N > const &B)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< typename Promote< S, T >::type, N > minitensor::t_dot (Tensor< S, N > const &A, Tensor< T, N > const &B)
 
template<typename S , typename T , Index N, Index P>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, N, P > minitensor::t_dot (Tensor< S, N > const &A, Matrix< T, N, P > const &B)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< typename Promote< S, T >::type, N > minitensor::t_dot (Tensor< S, N > const &A, Vector< T, N > const &B)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< typename Promote< S, T >::type, N > minitensor::dot_t (Tensor< S, N > const &A, Tensor< T, N > const &B)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< typename Promote< S, T >::type, N > minitensor::t_dot_t (Tensor< S, N > const &A, Tensor< T, N > const &B)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Promote< S, T >::type minitensor::dotdot (Tensor< S, N > const &A, Tensor< T, N > const &B)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< typename Promote< S, T >::type, N > minitensor::dyad (Vector< S, N > const &u, Vector< T, N > const &v)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< typename Promote< S, T >::type, N > minitensor::bun (Vector< S, N > const &u, Vector< T, N > const &v)
 
template<typename S , typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< typename Promote< S, T >::type, N > minitensor::tensor (Vector< S, N > const &u, Vector< T, N > const &v)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::diag (Vector< T, N > const &v)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::diag (Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > const minitensor::zero ()
 
template<typename T >
KOKKOS_INLINE_FUNCTION Tensor< T, DYNAMIC > const minitensor::zero (Index const dimension)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > const minitensor::zero (Index const dimension)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > const minitensor::identity ()
 
template<typename T >
KOKKOS_INLINE_FUNCTION Tensor< T, DYNAMIC > const minitensor::identity (Index const dimension)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > const minitensor::identity (Index const dimension)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > const minitensor::eye ()
 
template<typename T >
KOKKOS_INLINE_FUNCTION Tensor< T, DYNAMIC > const minitensor::eye (Index const dimension)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > const minitensor::eye (Index const dimension)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > const minitensor::levi_civita_2 ()
 
template<typename T >
KOKKOS_INLINE_FUNCTION Tensor< T, DYNAMIC > const minitensor::levi_civita_2 (Index const dimension)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > const minitensor::levi_civita_2 (Index const dimension)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > const minitensor::permutation_2 ()
 
template<typename T >
KOKKOS_INLINE_FUNCTION Tensor< T, DYNAMIC > const minitensor::permutation_2 (Index const dimension)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > const minitensor::permutation_2 (Index const dimension)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > const minitensor::alternator_2 ()
 
template<typename T >
KOKKOS_INLINE_FUNCTION Tensor< T, DYNAMIC > const minitensor::alternator_2 (Index const dimension)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > const minitensor::alternator_2 (Index const dimension)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::transpose (Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::adjoint (Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::sym (Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::skew (Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::skew (Vector< T, N > const &u)