Nestedsums library
|
The class ratio_of_tgamma contains the ratio of two Gamma functions. More...
#include <polygamma.h>
Public Member Functions | |
ratio_of_tgamma (const GiNaC::ex &a1, const GiNaC::ex &b1, const GiNaC::ex &a2, const GiNaC::ex &b2) | |
ratio_of_tgamma (const GiNaC::ex &a1, const GiNaC::ex &b1, const GiNaC::ex &a2, const GiNaC::ex &b2, const GiNaC::ex &i, const GiNaC::ex &eps, int o, int f) | |
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 | eval_explicit () const |
GiNaC::ex | set_expansion (void) const |
GiNaC::ex | set_index (const GiNaC::ex &new_index) const |
GiNaC::ex | set_expansion_parameter (const GiNaC::ex &new_eps) const |
GiNaC::ex | set_order (int new_order) const |
GiNaC::ex | set_flag (int new_flag) const |
GiNaC::ex | set_values (const GiNaC::ex &new_index, const GiNaC::ex &new_eps, int new_order, int new_flag) const |
GiNaC::ex | get_index (void) const |
GiNaC::ex | shift_plus_one (void) const |
GiNaC::ex | shift_minus_one (void) const |
GiNaC::ex | index_eq_one (void) const |
GiNaC::ex | shift_index (const GiNaC::ex &new_index) const |
int | pole_alert (void) const |
int | expansion_alert (void) const |
Protected Member Functions | |
GiNaC::ex | eval_ncmul (const GiNaC::exvector &v) const override |
GiNaC::ex | derivative (const GiNaC::symbol &s) const override |
unsigned | calchash (void) const override |
GiNaC::ex | increase_numerator (int shift_order=0) const |
GiNaC::ex | decrease_numerator (int shift_order=0) const |
GiNaC::ex | increase_denominator (int shift_order=0) const |
GiNaC::ex | decrease_denominator (int shift_order=0) const |
GiNaC::ex | prefactor_increase_numerator (void) const |
GiNaC::ex | prefactor_decrease_numerator (void) const |
GiNaC::ex | prefactor_increase_denominator (void) const |
GiNaC::ex | prefactor_decrease_denominator (void) const |
Protected Attributes | |
GiNaC::ex | a1 |
GiNaC::ex | b1 |
GiNaC::ex | a2 |
GiNaC::ex | b2 |
GiNaC::ex | index |
GiNaC::ex | expansion_parameter |
int | order |
int | flag_expand_status |
Friends | |
class | list_of_tgamma |
The class ratio_of_tgamma contains the ratio of two Gamma functions.
The definition is
Here , , and are passed to the constructor. The index and the expansion parameter can be set via the set_index(const ex &) and set_expansion_parameter(const ex &) methods, respectively.
Additionally, this class contains an internal variable "order", which indicates to which order this object should be expanded. The "order" variable can be set via the method set_order(int). The expansion is performed by calling the method set_expansion(void).
This class assumes that for all , e.g. it does not handle possible poles in the Gamma function.
|
protected |
Returns
The order variable is adjusted according to order = order + shift_order.
|
protected |
Returns
The order variable is adjusted according to order = order + shift_order.
|
override |
If the flag flag_expand_status is set, the object is expanded in .
If and are zero, we have
Here the formula
is useful.
If we have
is interpreted as unit_letter(-1,index). The order parameter of ratio_of_tgamma of the term is decreased by one due to the explicit presence of .
If we have
The order parameter is adjusted according to the prefactors of . Note that this formula might give rise to poles for . These possible poles have to be dealt with at a higher level.
If we have
The order parameter is adjusted according to the prefactors of .
If we have
The order parameter is adjusted according to the prefactors of .
The return type is either Zsum or basic_letter * Zsum. If we do not get any poles.
If the index is an integer and the status flag not equal to no_eval_to_scalar, the object is evaluated explicitly.
|
virtual |
Explicit evaluation with the help of nestedsums_helper_expand_tgamma_fct.
|
overrideprotected |
No automatic simplifications
int expansion_alert | ( | void | ) | const |
Returns 1 if or are not integers, and 0 otherwise.
ex get_index | ( | void | ) | const |
Returns the index.
|
protected |
Returns
The order variable is adjusted according to order = order + shift_order.
|
protected |
Returns
The order variable is adjusted according to order = order + shift_order.
ex index_eq_one | ( | void | ) | const |
Returns the expansions of
up to order + shift_order.
int pole_alert | ( | void | ) | const |
Returns 1 if , and 0 otherwise.
|
protected |
Returns
|
protected |
Returns
|
protected |
Returns
|
protected |
Returns
ex set_expansion | ( | void | ) | const |
Sets the flag expansion_required. The object is then automatically expanded up to the order specified in the member variable order.
ex set_expansion_parameter | ( | const GiNaC::ex & | new_eps | ) | const |
Sets the member variable expansion_parameter to new_eps.
ex set_flag | ( | int | new_flag | ) | const |
Sets the member variable flag_expand_status to new_flag
ex set_index | ( | const GiNaC::ex & | new_index | ) | const |
Sets the member variable index to new_index.
ex set_order | ( | int | new_order | ) | const |
Sets the member variable order to new_order.
ex set_values | ( | const GiNaC::ex & | new_index, |
const GiNaC::ex & | new_eps, | ||
int | new_order, | ||
int | new_flag ) const |
Sets the member variables index, expansion_parameter and order to new values.
ex shift_index | ( | const GiNaC::ex & | new_index | ) | const |
ex shift_minus_one | ( | void | ) | const |
Returns
The order parameter is not changed.
ex shift_plus_one | ( | void | ) | const |
Returns
The order parameter is not changed.