Nestedsums library
letter Class Reference

A letter is a basic_letter with offset=0. More...

#include <letter.h>

Inheritance diagram for letter:
basic_letter unit_letter

Public Member Functions

 letter (const GiNaC::ex &l, const GiNaC::ex &d)
 
 letter (const GiNaC::ex &l, const GiNaC::ex &d, const GiNaC::ex &i)
 
void archive (GiNaC::archive_node &node) const override
 
void read_archive (const GiNaC::archive_node &node, GiNaC::lst &sym_lst) override
 
GiNaC::return_type_t return_type_tinfo () const override
 
void print (const GiNaC::print_context &c, unsigned level=0) const override
 
GiNaC::ex eval () const override
 
GiNaC::ex concat_speedy (const GiNaC::ex &l) const override
 
- Public Member Functions inherited from basic_letter
 basic_letter (const GiNaC::ex &l, const GiNaC::ex &d, const GiNaC::ex &o)
 
 basic_letter (const GiNaC::ex &l, const GiNaC::ex &d, const GiNaC::ex &o, const GiNaC::ex &i)
 
void archive (GiNaC::archive_node &node) const override
 
void read_archive (const GiNaC::archive_node &node, GiNaC::lst &sym_lst) override
 
unsigned return_type (void) const override
 
void print (const GiNaC::print_context &c, unsigned level=0) const override
 
unsigned precedence (void) const override
 
GiNaC::ex eval () const override
 
GiNaC::ex subs (const GiNaC::exmap &m, unsigned options=0) const override
 
virtual GiNaC::ex concat (const GiNaC::ex &l) const
 
virtual GiNaC::ex eval_explicit () const
 
virtual GiNaC::ex expand_members (int level=0) const
 
GiNaC::ex get_scale (void) const
 
GiNaC::ex get_degree (void) const
 
GiNaC::ex get_offset (void) const
 
GiNaC::ex get_index (void) const
 
GiNaC::ex set_index (const GiNaC::ex &i) const
 
GiNaC::ex forget_index (void) const
 
GiNaC::ex shift_index (const GiNaC::ex &new_index) const
 
GiNaC::ex index_eq_one (void) const
 
GiNaC::ex shift_plus_one (void) const
 
GiNaC::ex shift_minus_one (void) const
 
GiNaC::ex degree_minus_one (void) const
 
GiNaC::ex degree_plus_one (void) const
 

Additional Inherited Members

- Protected Member Functions inherited from basic_letter
GiNaC::ex eval_ncmul (const GiNaC::exvector &v) const override
 
GiNaC::ex derivative (const GiNaC::symbol &s) const override
 
unsigned calchash (void) const override
 
- Protected Attributes inherited from basic_letter
GiNaC::ex scale
 
GiNaC::ex degree
 
GiNaC::ex offset
 
GiNaC::ex index
 

Detailed Description

A letter is a basic_letter with offset=0.

The model for a letter is

\[
    \frac{x^i}{i^n}
\]

Here $x$ is the scale, $n$ is the degree and $i$ the index.

Member Function Documentation

◆ concat_speedy()

ex concat_speedy ( const GiNaC::ex & l) const
overridevirtual

Assumes that the indices are the same or equal to the default one.

The multiplication is performed according to

\[
       \frac{x^i}{i^{m_1}} \frac{y^i}{i^{m_2}} = \frac{(xy)^i}{i^{m_1+m_2}}
    \]

and returns directly a letter.

The result gets the index from the first letter, if this one differs from _default_index, otherwise the result gets the index from the second letter.

Reimplemented from basic_letter.

Reimplemented in unit_letter.

◆ eval()

ex eval ( ) const
override

If the scale equals one, evaluation returns a unit_letter .

If the index is an integer, the object is evaluated explicitly.


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