Nestedsums library
unit_letter Class Reference

A unit_letter is a letter whose letter content equals 1. More...

#include <unit_letter.h>

Inheritance diagram for unit_letter:
letter basic_letter

Public Member Functions

 unit_letter (const GiNaC::ex &d)
 
 unit_letter (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
 
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 letter
 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
 
- 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 unit_letter is a letter whose letter content equals 1.

The model for a unit_letter is

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

Here $n$ is the degree and $i$ the summation 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{1}{i^{m_1}} \frac{1}{i^{m_2}} = \frac{1}{i^{m_1+m_2}}
    \]

and returns directly a unit_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 letter.

◆ eval()

ex eval ( ) const
override

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


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