26#ifndef __NESTEDSUMS_LIST_POLYGAMMA_H__
27#define __NESTEDSUMS_LIST_POLYGAMMA_H__
29#include "ginac/ginac.h"
61 list_of_tgamma(
const GiNaC::ex & l,
const GiNaC::ex & i,
const GiNaC::ex & eps,
int o);
65 void archive(GiNaC::archive_node &node)
const override;
66 void read_archive(
const GiNaC::archive_node &node, GiNaC::lst &sym_lst)
override;
68 unsigned return_type(
void)
const override {
return GiNaC::return_types::noncommutative; }
70 void print(
const GiNaC::print_context & c,
unsigned level = 0)
const override;
71 unsigned precedence(
void)
const override {
return 50;}
72 GiNaC::ex
eval()
const override;
73 GiNaC::ex subs(
const GiNaC::exmap & m,
unsigned options = 0)
const override;
76 GiNaC::ex
eval_ncmul(
const GiNaC::exvector & v)
const override;
77 GiNaC::ex derivative(
const GiNaC::symbol & s)
const override;
78 unsigned calchash(
void)
const override;
83 virtual unsigned get_key(
void)
const;
90 GiNaC::ex
set_index(
const GiNaC::ex & new_index)
const;
100 GiNaC::ex
shift_index(
const GiNaC::ex & new_index)
const;
102 GiNaC::ex
concat(
const GiNaC::ex & l)
const;
110 const GiNaC::ex & l,
const GiNaC::ex & v,
const GiNaC::ex & ss,
111 const GiNaC::ex & eps,
int o,
int f);
113 const GiNaC::ex & v,
const GiNaC::ex & vr,
const GiNaC::ex & ss,
const GiNaC::ex & ssr,
114 const GiNaC::ex & eps,
int o,
int f);
116 const GiNaC::ex & v,
const GiNaC::ex & ss,
117 const GiNaC::ex & eps,
int o,
int f);
119 const GiNaC::ex & v,
const GiNaC::ex & vr,
const GiNaC::ex & ss,
const GiNaC::ex & ssr,
120 const GiNaC::ex & eps,
int o,
int f);
126 GiNaC::ex gamma_sequence;
128 GiNaC::ex expansion_parameter;
153 return gamma_sequence.nops();
163 return (
new list_of_tgamma(l))->setflag(GiNaC::status_flags::dynallocated);
173 return (
new list_of_tgamma(l,i,eps,o))->setflag(GiNaC::status_flags::dynallocated);
184 GiNaC::lst* vl =
new GiNaC::lst();
185 vl->setflag(GiNaC::status_flags::dynallocated);
187 for (j=0;j<l.nops();j++)
189 vl->append(GiNaC::ex_to<ratio_of_tgamma>(l.op(j)).set_values(i,eps,o,expand_status::no_eval_to_scalar));
191 return (
new list_of_tgamma(*vl,i,eps,o))->setflag(GiNaC::status_flags::dynallocated);
The class list_of_tgamma is a container for the class ratio_of_tgamma.
Definition list_polygamma.h:50
unsigned get_depth(void) const
Definition list_polygamma.h:151
GiNaC::ex eval_ncmul(const GiNaC::exvector &v) const override
Definition list_polygamma.cc:263
GiNaC::ex set_expansion_parameter(const GiNaC::ex &new_eps) const
Definition list_polygamma.cc:496
virtual GiNaC::ex eval_explicit() const
Definition list_polygamma.cc:327
GiNaC::ex index_eq_one(void) const
Definition list_polygamma.cc:596
friend GiNaC::ex create_transcendental_sum_type_B_and_set_gammas(const GiNaC::ex &nn, const GiNaC::ex &i, const GiNaC::ex &l, const GiNaC::ex &lr, const GiNaC::ex &v, const GiNaC::ex &vr, const GiNaC::ex &ss, const GiNaC::ex &ssr, const GiNaC::ex &eps, int o, int f)
Definition transcendental_B.h:150
virtual unsigned get_key(void) const
Definition list_polygamma.cc:360
GiNaC::ex shift_index(const GiNaC::ex &new_index) const
Definition list_polygamma.cc:610
GiNaC::ex eval() const override
Definition list_polygamma.cc:231
int pole_alert(void) const
Definition list_polygamma.cc:661
virtual GiNaC::ex hash_data(void) const
Definition list_polygamma.cc:373
GiNaC::ex get_index(void) const
Definition list_polygamma.h:141
int expansion_alert(void) const
Definition list_polygamma.cc:682
virtual GiNaC::ex subst_data(void) const
Definition list_polygamma.cc:386
GiNaC::ex set_index(const GiNaC::ex &new_index) const
Definition list_polygamma.cc:476
GiNaC::ex set_expansion(void) const
Definition list_polygamma.cc:405
GiNaC::ex shift_plus_one(void) const
Definition list_polygamma.cc:543
GiNaC::ex shift_minus_one(void) const
Definition list_polygamma.cc:570
GiNaC::ex concat(const GiNaC::ex &l) const
Definition list_polygamma.cc:632
GiNaC::ex set_order(int new_order) const
Definition list_polygamma.cc:516
friend GiNaC::ex create_transcendental_sum_type_C_and_set_gammas(const GiNaC::ex &nn, const GiNaC::ex &i, const GiNaC::ex &l, const GiNaC::ex &v, const GiNaC::ex &ss, const GiNaC::ex &eps, int o, int f)
Definition transcendental_C.h:137
friend GiNaC::ex create_transcendental_sum_type_A_and_set_gammas(const GiNaC::ex &nn, const GiNaC::ex &i, const GiNaC::ex &l, const GiNaC::ex &v, const GiNaC::ex &ss, const GiNaC::ex &eps, int o, int f)
Definition transcendental_A.h:134
friend GiNaC::ex create_transcendental_sum_type_D_and_set_gammas(const GiNaC::ex &nn, const GiNaC::ex &i, const GiNaC::ex &l, const GiNaC::ex &lr, const GiNaC::ex &v, const GiNaC::ex &vr, const GiNaC::ex &ss, const GiNaC::ex &ssr, const GiNaC::ex &eps, int o, int f)
Definition transcendental_D.h:154
Definition transcendental_A.h:57
The class transcendental_sum_type_B may contain and .
Definition transcendental_B.h:69
The class transcendental_sum_type_C involves a conjugation.
Definition transcendental_C.h:60
Definition transcendental_D.h:72
Definition basic_letter.cc:35
GiNaC::ex create_list_of_tgamma_and_set_gammas(const GiNaC::ex &l, const GiNaC::ex &i, const GiNaC::ex &eps, int o)
Definition list_polygamma.h:181
GiNaC::ex create_list_of_tgamma(const GiNaC::ex &l)
Definition list_polygamma.h:161