MiniTensor Version of the Day
Loading...
Searching...
No Matches
MiniTensor_Matrix.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::Matrix< T, M, N >
 

Namespaces

namespace  minitensor
 

Typedefs

template<typename T , Index M, Index N>
using minitensor::matrix_store = Storage< T, dimension_product< M, N >::value >
 

Functions

template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::operator+ (Matrix< S, M, N > const &A, Matrix< T, M, N > const &B)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::operator- (Matrix< S, M, N > const &A, Matrix< T, M, N > const &B)
 
template<typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Matrix< T, M, N > minitensor::operator- (Matrix< T, M, N > const &A)
 
template<typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION bool minitensor::operator== (Matrix< T, M, N > const &A, Matrix< T, M, N > const &B)
 
template<typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION bool minitensor::operator!= (Matrix< T, M, N > const &A, Matrix< T, M, N > const &B)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Vector< typename Promote< S, T >::type, M > minitensor::operator* (Matrix< T, M, N > const &A, Vector< S, N > const &u)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Vector< typename Promote< S, T >::type, N > minitensor::operator* (Vector< S, M > const &u, Matrix< T, M, N > const &A)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::operator* (Matrix< T, M, N > const &A, Tensor< S, N > const &B)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::operator* (Tensor< S, M > const &A, Matrix< T, M, N > const &B)
 
template<typename S , typename T , Index M, Index P, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::operator* (Matrix< S, M, P > const &A, Matrix< T, P, N > const &B)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION lazy_disable_if< order_1234< S >, apply_matrix< Promote< S, T >, M, N > >::type minitensor::operator* (S const &s, Matrix< T, M, N > const &A)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION lazy_disable_if< order_1234< S >, apply_matrix< Promote< S, T >, M, N > >::type minitensor::operator* (Matrix< T, M, N > const &A, S const &s)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::operator/ (Matrix< T, M, N > const &A, S const &s)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::operator/ (S const &s, Matrix< T, M, N > const &A)
 
template<typename T , Index M, Index N>
std::istream & minitensor::operator>> (std::istream &is, Matrix< T, M, N > &A)
 
template<typename T , Index M, Index N>
std::ostream & minitensor::operator<< (std::ostream &os, Matrix< T, M, N > const &A)
 
template<typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::row (Matrix< T, M, N > const &A, Index const i)
 
template<typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Vector< T, M > minitensor::col (Matrix< T, M, N > const &A, Index const j)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Vector< typename Promote< S, T >::type, M > minitensor::dot (Matrix< T, M, N > const &A, Vector< S, N > const &u)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Vector< typename Promote< S, T >::type, N > minitensor::dot (Vector< S, M > const &u, Matrix< T, M, N > const &A)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::dot (Matrix< T, M, N > const &A, Tensor< S, N > const &B)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::dot (Tensor< S, M > const &A, Matrix< T, M, N > const &B)
 
template<typename S , typename T , Index M, Index P, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::dot (Matrix< S, M, P > const &A, Matrix< T, P, N > const &B)
 
template<typename S , typename T , Index M, Index P, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::t_dot (Matrix< S, P, M > const &A, Matrix< T, P, N > const &B)
 
template<typename S , typename T , Index M, Index P, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::dot_t (Matrix< S, M, P > const &A, Matrix< T, N, P > const &B)
 
template<typename S , typename T , Index M, Index P, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::t_dot_t (Matrix< S, P, M > const &A, Matrix< T, N, P > const &B)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Promote< S, T >::type minitensor::dotdot (Matrix< S, M, N > const &A, Matrix< T, M, N > const &B)
 
template<typename S , typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Matrix< typename Promote< S, T >::type, M, N > minitensor::matrix (Vector< S, M > const &u, Vector< T, N > const &v)
 
template<typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Matrix< T, M, N > minitensor::transpose (Matrix< T, N, M > const &A)
 
template<typename T , Index M, Index N>
KOKKOS_INLINE_FUNCTION Matrix< T, M, N > minitensor::adjoint (Matrix< T, N, M > const &A)