GiNaC 1.8.7
Classes | Namespaces | Functions
indexed.cpp File Reference

Implementation of GiNaC's indexed expressions. More...

#include "indexed.h"
#include "idx.h"
#include "add.h"
#include "mul.h"
#include "ncmul.h"
#include "power.h"
#include "relational.h"
#include "symmetry.h"
#include "operators.h"
#include "lst.h"
#include "archive.h"
#include "symbol.h"
#include "utils.h"
#include "integral.h"
#include "matrix.h"
#include "inifcns.h"
#include <iostream>
#include <limits>
#include <sstream>
#include <stdexcept>

Go to the source code of this file.

Classes

struct  GiNaC::idx_is_equal_ignore_dim
 
struct  GiNaC::is_summation_idx
 
struct  GiNaC::ex_base_is_less
 
class  GiNaC::terminfo
 This structure stores the original and symmetrized versions of terms obtained during the simplification of sums. More...
 
class  GiNaC::terminfo_is_less
 
class  GiNaC::symminfo
 This structure stores the individual symmetrized terms obtained during the simplification of sums. More...
 
class  GiNaC::symminfo_is_less_by_symmterm
 
class  GiNaC::symminfo_is_less_by_orig
 

Namespaces

namespace  GiNaC
 

Functions

 GiNaC::GINAC_IMPLEMENT_REGISTERED_CLASS_OPT (indexed, exprseq, print_func< print_context >(&indexed::do_print). print_func< print_latex >(&indexed::do_print_latex). print_func< print_tree >(&indexed::do_print_tree)) indexed
 
 GiNaC::GINAC_BIND_UNARCHIVER (indexed)
 
static bool GiNaC::indices_consistent (const exvector &v1, const exvector &v2)
 Check whether two sorted index vectors are consistent (i.e. More...
 
template<class T >
size_t GiNaC::number_of_type (const exvector &v)
 
template<class T >
static ex GiNaC::rename_dummy_indices (const ex &e, exvector &global_dummy_indices, exvector &local_dummy_indices)
 Rename dummy indices in an expression. More...
 
static void GiNaC::find_variant_indices (const exvector &v, exvector &variant_indices)
 Given a set of indices, extract those of class varidx. More...
 
bool GiNaC::reposition_dummy_indices (ex &e, exvector &variant_dummy_indices, exvector &moved_indices)
 Raise/lower dummy indices in a single indexed objects to canonicalize their variance. More...
 
static void GiNaC::product_to_exvector (const ex &e, exvector &v, bool &non_commutative)
 
template<class T >
ex GiNaC::idx_symmetrization (const ex &r, const exvector &local_dummy_indices)
 
ex GiNaC::simplify_indexed (const ex &e, exvector &free_indices, exvector &dummy_indices, const scalar_products &sp)
 Simplify indexed expression, return list of free indices. More...
 
ex GiNaC::simplify_indexed_product (const ex &e, exvector &free_indices, exvector &dummy_indices, const scalar_products &sp)
 Simplify product of indexed expressions (commutative, noncommutative and simple squares), return list of free indices. More...
 
bool GiNaC::hasindex (const ex &x, const ex &sym)
 
exvector GiNaC::get_all_dummy_indices_safely (const ex &e)
 More reliable version of the form. More...
 
exvector GiNaC::get_all_dummy_indices (const ex &e)
 Returns all dummy indices from the exvector. More...
 
lst GiNaC::rename_dummy_indices_uniquely (const exvector &va, const exvector &vb)
 Similar to above, where va and vb are the same and the return value is a list of two lists for substitution in b. More...
 
ex GiNaC::rename_dummy_indices_uniquely (const exvector &va, const exvector &vb, const ex &b)
 Same as above, where va and vb contain the indices of a and b and are sorted. More...
 
ex GiNaC::rename_dummy_indices_uniquely (const ex &a, const ex &b)
 Returns b with all dummy indices, which are common with a, renamed. More...
 
ex GiNaC::rename_dummy_indices_uniquely (exvector &va, const ex &b, bool modify_va=false)
 Returns b with all dummy indices, which are listed in va, renamed if modify_va is set to TRUE all dummy indices of b will be appended to va. More...
 
ex GiNaC::expand_dummy_sum (const ex &e, bool subs_idx=false)
 This function returns the given expression with expanded sums for all dummy index summations, where the dimensionality of the dummy index is a nonnegative integer. More...
 

Detailed Description

Implementation of GiNaC's indexed expressions.

Definition in file indexed.cpp.


This page is part of the GiNaC developer's reference. It was generated automatically by doxygen. For an introduction, see the tutorial.