Grid 0.7.0
Tensor_trace.h File Reference

Go to the source code of this file.

Functions

 NAMESPACE_BEGIN (Grid)
accelerator_inline ComplexF trace (const ComplexF &arg)
accelerator_inline ComplexD trace (const ComplexD &arg)
accelerator_inline RealF trace (const RealF &arg)
accelerator_inline RealD trace (const RealD &arg)
template<class vtype, int N>
accelerator_inline auto trace (const iMatrix< vtype, N > &arg) -> iScalar< decltype(trace(arg._internal[0][0]))>
template<class vtype>
accelerator_inline auto trace (const iScalar< vtype > &arg) -> iScalar< decltype(trace(arg._internal))>
template<class vtype, int N>
accelerator_inline auto trace (const iVector< vtype, N > &arg) -> iVector< decltype(trace(arg._internal[0])), N >
template<class S1, class S2, IfNotGridTensor< S1 > = 0, IfNotGridTensor< S2 > = 0>
accelerator_inline auto traceProduct (const S1 &arg1, const S2 &arg2) -> decltype(arg1 *arg2)
template<class vtype, class rtype, int N>
accelerator_inline auto traceProduct (const iMatrix< vtype, N > &arg1, const iMatrix< rtype, N > &arg2) -> iScalar< decltype(trace(arg1._internal[0][0] *arg2._internal[0][0]))>
template<class vtype, class rtype>
accelerator_inline auto traceProduct (const iScalar< vtype > &arg1, const iScalar< rtype > &arg2) -> iScalar< decltype(trace(arg1._internal *arg2._internal))>
 NAMESPACE_END (Grid)

Function Documentation

◆ NAMESPACE_BEGIN()

NAMESPACE_BEGIN ( Grid )

◆ trace() [1/7]

accelerator_inline ComplexF trace ( const ComplexF & arg)

Definition at line 39 of file Tensor_trace.h.

References accelerator_inline.

Referenced by trace(), trace(), trace(), traceProduct(), and traceProduct().

◆ trace() [2/7]

accelerator_inline ComplexD trace ( const ComplexD & arg)

Definition at line 40 of file Tensor_trace.h.

References accelerator_inline.

◆ trace() [3/7]

accelerator_inline RealF trace ( const RealF & arg)

Definition at line 41 of file Tensor_trace.h.

References accelerator_inline.

◆ trace() [4/7]

accelerator_inline RealD trace ( const RealD & arg)

Definition at line 42 of file Tensor_trace.h.

References accelerator_inline.

◆ trace() [5/7]

template<class vtype, int N>
accelerator_inline auto trace ( const iMatrix< vtype, N > & arg) -> iScalar< decltype(trace(arg._internal[0][0]))>

Definition at line 45 of file Tensor_trace.h.

References accelerator_inline, trace(), and zeroit().

◆ trace() [6/7]

template<class vtype>
accelerator_inline auto trace ( const iScalar< vtype > & arg) -> iScalar< decltype(trace(arg._internal))>

Definition at line 56 of file Tensor_trace.h.

References iScalar< vtype >::_internal, accelerator_inline, and trace().

◆ trace() [7/7]

template<class vtype, int N>
accelerator_inline auto trace ( const iVector< vtype, N > & arg) -> iVector< decltype(trace(arg._internal[0])), N >

Definition at line 64 of file Tensor_trace.h.

References accelerator_inline, and trace().

◆ traceProduct() [1/3]

template<class S1, class S2, IfNotGridTensor< S1 > = 0, IfNotGridTensor< S2 > = 0>
accelerator_inline auto traceProduct ( const S1 & arg1,
const S2 & arg2 ) -> decltype(arg1 *arg2)

Definition at line 76 of file Tensor_trace.h.

References accelerator_inline.

Referenced by traceProduct(), and traceProduct().

◆ traceProduct() [2/3]

template<class vtype, class rtype, int N>
accelerator_inline auto traceProduct ( const iMatrix< vtype, N > & arg1,
const iMatrix< rtype, N > & arg2 ) -> iScalar< decltype(trace(arg1._internal[0][0] *arg2._internal[0][0]))>

Definition at line 83 of file Tensor_trace.h.

References accelerator_inline, trace(), traceProduct(), and zeroit().

◆ traceProduct() [3/3]

template<class vtype, class rtype>
accelerator_inline auto traceProduct ( const iScalar< vtype > & arg1,
const iScalar< rtype > & arg2 ) -> iScalar< decltype(trace(arg1._internal *arg2._internal))>

◆ NAMESPACE_END()

NAMESPACE_END ( Grid )