Cadabra
Computer algebra system for field theory problems
Toggle main menu visibility
Loading...
Searching...
No Matches
core
algorithms
canonicalise.hh
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Algorithm.hh
"
4
#include "
properties/Indices.hh
"
5
#include <vector>
6
7
namespace
cadabra
{
8
12
13
class
canonicalise
:
public
Algorithm
{
14
public
:
15
canonicalise
(
const
Kernel
&,
Ex
&);
16
17
virtual
bool
can_apply
(
iterator
);
18
virtual
result_t
apply
(
iterator
&);
19
20
std::vector<std::vector<int> >
generating_set
;
21
bool
reuse_generating_set
;
22
23
private
:
24
// Sub-algorithms needed before going to the full fledged canonicaliser.
25
// All return true if they have modified the expression.
26
bool
remove_traceless_traces
(
iterator
&);
27
bool
remove_vanishing_numericals
(
iterator
&);
28
bool
only_one_on_derivative
(
iterator
index1,
iterator
index2)
const
;
29
30
Indices::position_t
position_type
(
iterator
)
const
;
31
// void collect_dummy_info(const index_map_t&, const index_position_map_t&,
32
// std::vector<int>&, std::vector<int>&);
33
};
34
35
}
Algorithm.hh
Indices.hh
cadabra::Algorithm::Algorithm
Algorithm(const Kernel &, Ex &)
Initialise the algorithm with a reference to the expression tree, but do not yet do anything with thi...
Definition
Algorithm.cc:52
cadabra::Algorithm::result_t
Ex::result_t result_t
Definition
Algorithm.hh:65
cadabra::Ex
Definition
Storage.hh:170
cadabra::ExManip::iterator
Ex::iterator iterator
Definition
ExManip.hh:12
cadabra::Indices::position_t
position_t
Definition
Indices.hh:24
cadabra::Kernel
Definition
Kernel.hh:15
cadabra::canonicalise::remove_traceless_traces
bool remove_traceless_traces(iterator &)
Definition
canonicalise.cc:53
cadabra::canonicalise::canonicalise
canonicalise(const Kernel &, Ex &)
Definition
canonicalise.cc:19
cadabra::canonicalise::apply
virtual result_t apply(iterator &)
Definition
canonicalise.cc:164
cadabra::canonicalise::remove_vanishing_numericals
bool remove_vanishing_numericals(iterator &)
Definition
canonicalise.cc:114
cadabra::canonicalise::only_one_on_derivative
bool only_one_on_derivative(iterator index1, iterator index2) const
Definition
canonicalise.cc:149
cadabra::canonicalise::can_apply
virtual bool can_apply(iterator)
Definition
canonicalise.cc:24
cadabra::canonicalise::generating_set
std::vector< std::vector< int > > generating_set
Definition
canonicalise.hh:20
cadabra::canonicalise::reuse_generating_set
bool reuse_generating_set
Definition
canonicalise.hh:21
cadabra::canonicalise::position_type
Indices::position_t position_type(iterator) const
Definition
canonicalise.cc:141
cadabra
Functions to handle the exchange properties of two or more symbols in a product.
Definition
Adjform.cc:83
Generated by
1.17.0