26#ifndef __NESTEDSUMS_Bsum_H__
27#define __NESTEDSUMS_Bsum_H__
29#include "ginac/ginac.h"
59 class Bsum :
public GiNaC::basic
62 GINAC_DECLARE_REGISTERED_CLASS(
Bsum, GiNaC::basic)
66 Bsum(
const GiNaC::ex & nc,
const GiNaC::ex & llc);
70 void archive(GiNaC::archive_node &node)
const override;
71 void read_archive(
const GiNaC::archive_node &node, GiNaC::lst &sym_lst)
override;
73 unsigned return_type(
void)
const override {
return GiNaC::return_types::noncommutative; }
75 void print(
const GiNaC::print_context & c,
unsigned level = 0)
const override;
76 unsigned precedence(
void)
const override {
return 60;}
77 GiNaC::ex
eval()
const override;
78 GiNaC::ex subs(
const GiNaC::exmap & m,
unsigned options = 0)
const override;
81 GiNaC::ex
eval_ncmul(
const GiNaC::exvector & v)
const override;
82 GiNaC::ex derivative(
const GiNaC::symbol & s)
const override;
83 unsigned calchash(
void)
const override;
89 virtual GiNaC::ex expand_members(
int level = 0)
const;
100 friend GiNaC::ex convert_Bsum_to_Ssum(
const GiNaC::ex & C);
101 friend GiNaC::ex convert_Bsum_to_Zsum(
const GiNaC::ex & C);
108 GiNaC::ex letter_list;
111GINAC_DECLARE_UNARCHIVER(
Bsum);
142 return letter_list.nops();
150inline GiNaC::ex
create_Bsum(
const GiNaC::ex & nc,
const GiNaC::ex & llc)
152 return (
new Bsum(nc,llc))->setflag(GiNaC::status_flags::dynallocated);
Bsums arise from Hoelder convolutions.
Definition Bsum.h:60
unsigned get_depth(void) const
Definition Bsum.h:140
GiNaC::ex eval_ncmul(const GiNaC::exvector &v) const override
Definition Bsum.cc:175
GiNaC::ex get_letter_list(void) const
Definition Bsum.h:130
GiNaC::ex eval() const override
Definition Bsum.cc:163
GiNaC::ex get_index(void) const
Definition Bsum.h:120
virtual GiNaC::ex convert_to_Ssum_exvector(const GiNaC::exvector &Z1) const
Definition Bsum.cc:224
Definition basic_letter.cc:35
ex convert_Bsum_to_Ssum(const ex &C)
Definition Bsum.cc:302
ex convert_Bsum_to_Zsum(const ex &C)
Definition Bsum.cc:318
GiNaC::ex create_Bsum(const GiNaC::ex &nc, const GiNaC::ex &llc)
Definition Bsum.h:150
ex create_Bsum_from_exvector(const ex &nc, const exvector &v)
Definition Bsum.cc:334