Documentation of MARTY
A Modern ARtificial Theoretical phYsicist
Public Member Functions
mty::GeneratorElement Class Reference
Inheritance diagram for mty::GeneratorElement:
[legend]

Public Member Functions

template<class ... Args>
 GeneratorElement (Args &&...args)
 
csl::unique_Expr copy_unique () const override
 
csl::Expr refresh () const override
 
void printCode (int mode=0, std::ostream &out=std::cout) const override
 
- Public Member Functions inherited from csl::TensorElement
 TensorElement (const Index &t_index, const Parent &t_parent)
 
 TensorElement (const std::vector< Index > &indices, const Parent &t_parent)
 
 TensorElement (const IndexStructure &indices, const Parent &t_parent)
 
 TensorElement (const Abstract *&expression)
 
 TensorElement (const Expr &expression)
 
csl::PrimaryType getPrimaryType () const override
 
bool isIndexed () const override
 
int getNIndices () const override
 
IndexStructure getIndexStructure () const override
 
bool compareWithDummy (Expr_info expr, std::map< Index, Index > &constraints, bool keepAllCosntraints=false) const override
 
csl::Type getType () const override
 
std::optional< ExprgetComplexConjugate () const override
 
Index getIndex (int i) const override
 
bool askTerm (Expr_info expr, bool exact=false) const override
 
bool dependsOn (Expr_info expr) const override
 
bool dependsExplicitlyOn (Expr_info expr) const override
 
const std::vector< Equation *> & getProperties () const override
 
void addProperty (Equation *property) override
 
void removeProperty (Equation *property) override
 
bool checkIndexStructure (const std::vector< Index > &t_index) const override
 
std::optional< ExprreplaceIndex (const Index &indexToReplace, const Index &newIndex, bool refresh=true) const override
 
void setIndexStructure (const IndexStructure &t_index) override
 
bool hasContractionProperty (Expr_info B) const override
 
Expr contraction (Expr_info B) const override
 
Expr applyPermutation (const Permutation &permutations) const
 
csl::vector_expr getPermutations (bool optimize=true) const override
 
csl::vector_expr getAlternateForms () const override
 
void print (int mode=0, std::ostream &out=std::cout, bool lib=false) const override
 
std::string printLaTeX (int mode=0) const override
 
std::optional< Exprderive (Expr_info expr) const override
 
std::optional< Exprevaluate (csl::eval::mode user_mode=csl::eval::base) const override
 
bool operator== (Expr_info expr) const override
 
- Public Member Functions inherited from csl::AbstractElement
 AbstractElement (const std::shared_ptr< AbstractParent > &t_parent)
 
Parent getParent () const override
 
std::string const & getName () const override
 
bool getCommutable () const override
 
void setParent (const Parent &t_parent) override
 
void setName (const std::string &t_name) override
 
void setCommutable (bool t_commutable) override
 
int isPolynomial (Expr_info variable) const override
 
std::optional< ExprgetPolynomialTerm (Expr_info variable, int order) const override
 
- Public Member Functions inherited from csl::Complexified
std::optional< ExprgetRealPart () const override
 
Expr getImaginaryPart () const override
 
- Public Member Functions inherited from csl::AbstractBuildingBlock
bool isBuildingBlock () const override
 
virtual bool commutesWith (Expr_info expr, int sign=-1) const override
 
std::optional< Exprexpand (bool full=false, bool inplace=false) const override
 
std::optional< Exprfactor (bool full=false) const override
 
std::optional< Exprfactor (Expr_info expr, bool full=false) const override
 
std::optional< ExprgetTerm () const override
 
std::optional< ExprgetComplexModulus () const override
 
std::optional< ExprfindSubExpression (Expr_info subExpression, const Expr &newExpression) const override
 
- Public Member Functions inherited from csl::Abstract
void printExplicit (int mode=0) const
 
virtual int getDim () const
 
virtual bool isInteger () const
 
virtual bool getValued () const
 
virtual long double getValue () const
 
virtual long long int getNum () const
 
virtual long long int getDenom () const
 
virtual int getNArgs (int axis=0) const
 
virtual csl::vector_expr::iterator begin ()
 
virtual csl::vector_expr::iterator end ()
 
virtual csl::vector_expr::const_iterator begin () const
 
virtual csl::vector_expr::const_iterator end () const
 
virtual Expr const & getArgument (int iArg=0) const
 
virtual Expr const & getArgument (const std::vector< int > &indices) const
 
virtual const csl::vector_expr & getVectorArgument () const
 
virtual Expr getVariable () const
 
virtual int getOrder () const
 
virtual int getSign () const
 
virtual bool isAnOperator () const
 
virtual bool isEmpty () const
 
virtual Expr getOperand () const
 
virtual std::vector< int > getShape () const
 
virtual IndexStructure getFreeIndexStructure () const
 
virtual int getNContractedPairs () const
 
virtual std::set< std::pair< int, int > > getContractedPair () const
 
virtual void setValue (long double t_value)
 
virtual void setArgument (const Expr &expr, int iArg=0)
 
virtual void setArgument (const Expr &expr, const std::vector< int > &indices)
 
virtual void setOperand (const Expr &operand)
 
virtual void setOperandPrivate (const Expr &operand, bool leaveEmpty)
 
virtual void setVectorArgument (const csl::vector_expr &t_argument)
 
virtual void insert (const Expr &expr, bool side=1)
 
virtual void setFullySymmetric ()
 
virtual void setFullyAntiSymmetric ()
 
virtual void addSymmetry (int i1, int i2)
 
virtual void addAntiSymmetry (int i1, int i2)
 
virtual int permut (int i1, int i2)
 
virtual Expr getNumericalFactor () const
 
virtual int getNFactor () const
 
virtual csl::vector_expr getFactors () const
 
virtual void getExponents (std::vector< Expr > const &factors, std::vector< Expr > &exponents) const
 
virtual bool checkIndexStructure (const std::initializer_list< Index > &index) const
 
virtual int getParity (Expr_info t_variable) const
 
virtual bool matchShape (Expr_info expr, bool exact=false) const
 
virtual long double evaluateScalar () const
 
virtual std::optional< Exprcollect (std::vector< Expr > const &factors, bool full=false) const
 
virtual Expr suppressTerm (Expr_info expr) const
 
virtual std::optional< ExprsuppressExponent (Expr const &factor, Expr const &exponent) const
 
virtual std::optional< Exprexpand_if (std::function< bool(Expr const &)> const &f, bool full=false, bool inPlace=false) const
 
virtual std::optional< ExprgetComplexArgument () const
 
virtual Expr applyOperator (const Expr &operand, bool leaveEmpty=false) const
 
virtual Expr addition_own (const Expr &expr) const
 
virtual Expr multiplication_own (const Expr &expr, bool side=1) const
 
virtual Expr division_own (const Expr &expr) const
 
virtual Expr exponentiation_own (const Expr &expr) const
 
virtual Expr getRegularExpression () const
 
virtual Expr tensordot (const Expr &expr) const
 
virtual Expr dot (const Expr &expr) const
 
virtual Expr getSum () const
 
virtual Expr getProduct () const
 
virtual Expr getVectorialModulus () const
 
virtual Expr getSubVectorial (int iExcept) const
 
virtual Expr getSubVectorial (int iExcept, int jExcept) const
 
virtual Expr getSubVectorial (const std::vector< int > &exceptions) const
 
virtual Expr determinant () const
 
virtual Expr trace () const
 
virtual Expr trace (int axis1, int axis2) const
 
virtual Expr transpose () const
 
virtual Expr symmetrise () const
 
virtual Expr antisymmetrise () const
 
virtual Expr inverseMatrix () const
 
virtual void operator= (double t_value)
 
virtual bool operator== (int t_value) const
 
virtual bool operator== (double t_value) const
 
virtual bool operator!= (int t_value) const
 
virtual bool operator!= (double t_value) const
 
bool operator!= (const Expr_c &expr) const
 
virtual Expr const & operator[] (int iArg) const
 
virtual Exproperator[] (int iArg)
 
virtual bool operator< (Expr_info expr) const=0
 
bool operator< (const Expr_c &expr) const
 
bool operator> (Expr_info expr) const
 
bool operator>= (Expr_info expr) const
 
bool operator<= (const Expr_c &expr) const
 

Additional Inherited Members

- Protected Attributes inherited from csl::TensorElement
IndexStructure index
 
- Protected Attributes inherited from csl::AbstractElement
std::shared_ptr< AbstractParentparent
 

The documentation for this class was generated from the following files: