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.