AmpGen 2.1
Loading...
Searching...
No Matches
Tensor.h File Reference
#include <memory.h>
#include <stddef.h>
#include <algorithm>
#include <complex>
#include <initializer_list>
#include <iostream>
#include <string>
#include <vector>
#include <utility>
#include "AmpGen/Expression.h"
#include "AmpGen/MsgService.h"
#include "AmpGen/Types.h"

Go to the source code of this file.

Classes

class  AmpGen::Tensor
 
class  AmpGen::Tensor::Index
 
struct  AmpGen::Tensor::Dim
 
class  AmpGen::TensorProxy
 Utility class that wraps a tensor and a set of indices such that tensor operations can be performed. More...
 
class  AmpGen::TensorExpression
 

Namespaces

namespace  AmpGen
 

Macros

#define ADD_DEBUG_TENSOR(X, Y)
 
#define ADD_DEBUG_TENSOR_NAMED(X, Y, Z)
 

Functions

Tensor AmpGen::operator+ (const Tensor &, const Tensor &)
 
Tensor AmpGen::operator- (const Tensor &, const Tensor &)
 
Tensor AmpGen::operator/ (const Tensor &, const Expression &)
 
Tensor AmpGen::operator* (const Expression &, const Tensor &)
 
Tensor AmpGen::operator* (const Tensor &, const Expression &)
 
Tensor AmpGen::operator/ (const Tensor &, const double &)
 
Tensor AmpGen::operator* (const double &, const Tensor &)
 
Tensor AmpGen::operator* (const Tensor &, const double &)
 
TensorProxy AmpGen::operator* (const TensorProxy &, const TensorProxy &)
 
TensorProxy AmpGen::operator+ (const TensorProxy &, const TensorProxy &)
 
TensorProxy AmpGen::operator- (const TensorProxy &, const TensorProxy &)
 
TensorProxy AmpGen::operator/ (const TensorProxy &, const Expression &)
 
TensorProxy AmpGen::operator* (const Expression &, const TensorProxy &)
 
TensorProxy AmpGen::operator* (const TensorProxy &, const Expression &)
 
TensorProxy AmpGen::operator/ (const TensorProxy &, const double &)
 
TensorProxy AmpGen::operator* (const double &, const TensorProxy &)
 
TensorProxy AmpGen::operator* (const TensorProxy &, const double &)
 
Tensor AmpGen::Identity (const unsigned &rank=4)
 
const Tensor AmpGen::LeviCivita (const unsigned &rank=4)
 
Expression AmpGen::dot (const Tensor &A, const Tensor &B)
 
std::ostream & AmpGen::operator<< (std::ostream &out, const Tensor::Index &index)
 

Macro Definition Documentation

◆ ADD_DEBUG_TENSOR

#define ADD_DEBUG_TENSOR ( X,
Y )
Value:
if ( Y != nullptr ) for( unsigned i = 0 ; i < Tensor(X).size(); ++i ) \
Y->emplace_back( std::string(#X) + Tensor::coordinates_to_string( Tensor(X).coords(i) ) , Tensor(X)[i] );

Definition at line 17 of file Tensor.h.

◆ ADD_DEBUG_TENSOR_NAMED

#define ADD_DEBUG_TENSOR_NAMED ( X,
Y,
Z )
Value:
if ( Y != nullptr ) for( unsigned i = 0 ; i < X.size(); ++i ) \
Y->emplace_back( Z + Tensor::coordinates_to_string( X.coords(i) ) , X[i] );

Definition at line 21 of file Tensor.h.