Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

Bsum Class Reference

Bsums arise from Hoelder convolutions. More...

#include <Bsum.h>

List of all members.

Public Member Functions

 Bsum (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 &Z1) const
virtual GiNaC::ex expand_members (int level=0) const
GiNaC::ex get_index (void) const
GiNaC::ex get_letter_list (void) const
unsigned get_depth (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

Protected Attributes

GiNaC::ex n
GiNaC::ex letter_list

Friends

GiNaC::ex convert_Bsum_to_Ssum (const GiNaC::ex &C)
GiNaC::ex convert_Bsum_to_Zsum (const GiNaC::ex &C)


Detailed Description

Bsums arise from Hoelder convolutions.

A Bsum is defined by

\[ \sum\limits_{i_1=n+1}^N \sum\limits_{i_2=i_1+1}^N ... \sum\limits_{i_k=i_{k-1}+1}^N \frac{x_1^{i_1}}{i_1^{m_1}} \frac{x_2^{i_2}}{i_2^{m_2}} ... \frac{x_k^{i_k}}{i_k^{m_k}} \]

This is equivalent to

\[ \left( x_k^+ \right)^{m_k} \left( x_{k-1}^+ \right)^{m_{k-1}} ... \left( x_1^+ \right)^{m_1} \frac{x_k}{1-x_k} \frac{x_{k-1}x_k}{1-x_{k-1}x_k} ... \frac{x_1 ... x_k}{1-x_1 ... x_k} \left( x_1 ... x_k \right)^n \]

up to terms of the form

\[ \left( x^+ \right)^m \frac{x}{1-x} x^N = \sum\limits_{i=N+1}^\infty \frac{x^i}{i^m} \]


Member Function Documentation

ex convert_to_Ssum_exvector const GiNaC::exvector &  Z1  )  const [virtual]
 

The basic object is

\[ \left( \sum\limits_{j_1=1}^{n'} \sum\limits_{j_2=1}^{j_1} ... \sum\limits_{n=1}^{j_{l-1}} \frac{y_1^{j_1}}{j_1^{g_1}} ... \frac{y_l^{n}}{n^{g_l}} \right) \sum\limits_{i_1=n+1}^{N} ... \sum\limits_{i_k = i_{k-1}+1}^{N} \frac{x_1^{i_1}}{i_1^{m_1}} ... \frac{x_k^{i_k}}{i_k^{m_k}} \]

We use

\[ \sum\limits_{i_1=n+1}^{N} ... \sum\limits_{i_k = i_{k-1}+1}^{N} \frac{x_1^{i_1}}{i_1^{m_1}} ... \frac{x_k^{i_k}}{i_k^{m_k}} \]

\[ = (-1)^k S(n;m_1,...m_k;x_1,...,x_k) - (-1)^k S(N;m_1,...m_k;x_1,...,x_k) \]

\[ + (-1)^k S(N;m_2,...m_k;x_2,...,x_k) \sum\limits_{i_1=n+1}^{N} \frac{x_1^{i_1}}{i_1^{m_1}} ... \]

\[ + (-1)^k S(N;m_k;x_k) \sum\limits_{i_1=n+1}^{N} ... \sum\limits_{i_{k-1} = i_{k-2}+1}^{N} \frac{x_1^{i_1}}{i_1^{m_1}} ... \frac{x_{k-1}^{i_{k-1}}}{i_{k-1}^{m_{k-1}}} \]

ex eval int  level = 0  )  const
 

No automatic simplifications

ex eval_ncmul const GiNaC::exvector &  v  )  const [protected]
 

No automatic simplifications

unsigned get_depth void   )  const [inline]
 

Returns the depth.

GiNaC::ex get_index void   )  const [inline]
 

Returns the upper summation limit.

GiNaC::ex get_letter_list void   )  const [inline]
 

Returns the letter_list.


The documentation for this class was generated from the following files:
Generated on Wed Jun 10 22:59:10 2009 for Nestedsums library by doxygen 1.3.7