#include <Zsum.h>
Inheritance diagram for Zsum:

Public Member Functions | |
| Zsum (const GiNaC::ex &nc) | |
| Zsum (const GiNaC::ex &nc, const GiNaC::ex &llc) | |
| void | archive (GiNaC::archive_node &node) const |
| void | read_archive (const GiNaC::archive_node &node, GiNaC::lst &sym_lst) |
| unsigned | return_type (void) const |
| void | print (const GiNaC::print_context &c, unsigned level=0) const |
| unsigned | precedence (void) const |
| GiNaC::ex | eval (int level=0) const |
| GiNaC::ex | subs (const GiNaC::exmap &m, unsigned options=0) const |
| virtual GiNaC::ex | convert_to_Ssum_exvector (const GiNaC::exvector &Z0, const GiNaC::exvector &Z1) const |
| virtual GiNaC::ex | shuffle_exvector (const GiNaC::exvector &Z0, const GiNaC::exvector &Z1, const GiNaC::exvector &Z2) const |
| virtual GiNaC::ex | set_index (const GiNaC::ex &i) const |
| virtual GiNaC::ex | shift_plus_one (void) const |
| virtual GiNaC::ex | shift_minus_one (void) const |
| virtual GiNaC::ex | adjust_upper_limit_downwards (const GiNaC::ex &i) const |
| virtual GiNaC::ex | adjust_upper_limit_upwards (const GiNaC::ex &i) const |
| virtual GiNaC::ex | adjust_upper_limit_plus_one (void) const |
| virtual GiNaC::ex | index_eq_one (void) const |
| virtual GiNaC::ex | get_head (int k) const |
| virtual GiNaC::ex | get_tail (int k) const |
| virtual GiNaC::ex | antipode (void) const |
| virtual GiNaC::ex | expand_members (int level=0) const |
| virtual GiNaC::ex | eval_explicit (int level=0) const |
| virtual GiNaC::ex | get_first_letter (void) const |
| virtual GiNaC::ex | remove_first_letter (void) const |
| virtual GiNaC::ex | remove_first_letter (const GiNaC::ex &nc) const |
| virtual GiNaC::ex | prepend_letter (const GiNaC::ex &lc) const |
| virtual GiNaC::ex | prepend_letter (const GiNaC::ex &nc, const GiNaC::ex &lc) const |
| virtual GiNaC::ex | append_letter (const GiNaC::ex &lc) const |
| virtual GiNaC::ex | append_letter_list (const GiNaC::ex &lc) const |
| GiNaC::ex | get_index (void) const |
| GiNaC::ex | get_letter_list (void) const |
| unsigned | get_depth (void) const |
| GiNaC::ex | get_weight (void) const |
Protected Member Functions | |
| GiNaC::ex | eval_ncmul (const GiNaC::exvector &v) const |
| GiNaC::ex | derivative (const GiNaC::symbol &s) const |
| unsigned | calchash (void) const |
| virtual GiNaC::ex | cast_to_Ssum (void) const |
| virtual GiNaC::ex | multiply_letter_with_last_letter (const GiNaC::ex &lc) const |
| virtual GiNaC::ex | multiply_letter_with_first_letter (const GiNaC::ex &lc) const |
| virtual GiNaC::ex | concat_two_sums (const GiNaC::ex &Z1, const GiNaC::ex &Z2) const |
Protected Attributes | |
| GiNaC::ex | n |
| GiNaC::ex | letter_list |
Friends | |
| GiNaC::ex | shuffle_Zsum (const GiNaC::ex &Z1, const GiNaC::ex &Z2) |
| GiNaC::ex | convert_Zsum_to_Ssum (const GiNaC::ex &Z1) |
| GiNaC::ex | remove_trivial_Zsum (const GiNaC::ex &expr) |
A Zsum is recursively defined by
with
for
and
for 
All letters should have their index set to _default_index.
|
|
Adjusts the upper summation limit
with For the empty sum we have
This routine assumes Reimplemented in Euler_Zagier_sum. |
|
|
Adjusts the upper summation limit
Reimplemented in Euler_Zagier_sum. |
|
|
Adjusts the upper summation limit
with For the empty sum we have
This routine assumes
This routine might give rise to poles for some values of Reimplemented in Euler_Zagier_sum. |
|
|
Calculates the antipode. Only for Zsums. |
|
|
Appends the letter lc to the letter_list. |
|
|
Appends the list lc to the letter_list. |
|
|
Creates a Ssum with the same upper summation index and the same letter_list. This is a crude cast, something like reinterpret_cast. |
|
||||||||||||
|
Takes Z1 as head and Z2 as tail and forms a new sum as the concatenation of the two. |
|
||||||||||||
|
Method to convert a Zsum to a Ssum. An efficient version for the conversion to Ssums, based on exvector (e.g. std::vector<GiNaC::ex> ). Z0 contains the result. Z1 is reversed order, so that we can use pop_back. The basic formula is
Reimplemented in Euler_Zagier_sum. |
|
|
The simplifications are done in the following order:
Reimplemented in classical_polylog, Euler_Zagier_sum, harmonic_polylog, multiple_polylog, multiple_zeta_value, and nielsen_polylog. |
|
|
Explicit evaluation |
|
|
A product of Zsums is simplified, if the last two have the same upper summation index. The function shuffle_Zsum is called for the multiplication. A product is also simplified if the difference between the two upper summation indices is an integer. The factor with the "larger" upper summation index is converted to the "smaller" index with the help of the function Zsum::adjust_upper_limit_downwards. Note that the algorithm returns a product, where both factors have the "smaller" index. |
|
|
Returns the depth. |
|
|
Returns the first letter from the letter_list. |
|
|
Returns from the Z-sum |
|
|
Returns the upper summation limit. |
|
|
Returns the letter_list. |
|
|
Returns from the Z-sum |
|
|
Returns the weight. |
|
|
Returns
for
and for
|
|
|
Returns a Zsum, where the letter lc is multiplied with the first letter in the letter list of the original Zsum.
If the sum is empty, e.g. |
|
|
Returns a Zsum, where the letter lc is multiplied with the last letter in the letter list of the original Zsum.
If the sum is empty, e.g. |
|
||||||||||||
|
Prepends the letter lc to the letter_list and sets the upper summation index to nc. |
|
|
Prepends the letter lc to the letter_list. |
|
|
Returns a Zsum with the first letter removed from the letter_list and the upper summation index set to nc. Reimplemented in Euler_Zagier_sum. |
|
|
Returns a Zsum with the first letter removed from the letter_list. Reimplemented in Euler_Zagier_sum. |
|
|
Sets the upper summation index to Reimplemented in Euler_Zagier_sum. |
|
|
Returns Reimplemented in Euler_Zagier_sum. |
|
|
Returns Reimplemented in Euler_Zagier_sum. |
|
||||||||||||||||
|
Method to multiply two Zsums. An efficient version for the multiplication of Zsums, based on exvector (e.g. std::vector<GiNaC::ex> ). Z0 contains the result. Z1 and Z2 are in reversed order, so that we can use pop_back. The basic formula is
Reimplemented in Euler_Zagier_sum. |
1.3.7