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

helpers.h

Go to the documentation of this file.
00001 00008 /* 00009 * Copyright (C) 2001 Stefan Weinzierl 00010 * 00011 * This program is free software; you can redistribute it and/or modify 00012 * it under the terms of the GNU General Public License as published by 00013 * the Free Software Foundation; either version 2 of the License, or 00014 * (at your option) any later version. 00015 * 00016 * This program is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU General Public License 00022 * along with this program; if not, write to the Free Software 00023 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00024 */ 00025 00026 #ifndef __NESTEDSUMS_HELPERS_H__ 00027 #define __NESTEDSUMS_HELPERS_H__ 00028 00029 #include "ginac/ginac.h" 00030 00031 namespace nestedsums { 00032 00033 GiNaC::ex nestedsums_helper_expand(const GiNaC::ex & expr, int level = 0); 00034 GiNaC::ex nestedsums_helper_multiply_via_triangle(const GiNaC::ex & A, const GiNaC::ex & B, 00035 const GiNaC::ex & expansion_parameter, int order); 00036 GiNaC::ex nestedsums_helper_multiply_via_triangle_speedy(const GiNaC::ex & A, const GiNaC::ex & B, 00037 const GiNaC::ex & expansion_parameter, int order); 00038 GiNaC::ex nestedsums_helper_multiply_laurent(const GiNaC::ex & A, const GiNaC::ex & B, 00039 const GiNaC::ex & expansion_parameter, int order); 00040 GiNaC::ex nestedsums_helper_multiply_laurent_speedy(const GiNaC::ex & A, const GiNaC::ex & B, 00041 const GiNaC::ex & expansion_parameter, int order); 00042 GiNaC::ex nestedsums_helper_expand_tgamma_fct(const GiNaC::ex & a1, const GiNaC::ex & b1, const GiNaC::ex & a2, const GiNaC::ex & b2, 00043 const GiNaC::ex & expansion_parameter, int order); 00044 GiNaC::ex nestedsums_helper_expand_lst_tgamma_fct(const GiNaC::ex & ll1, const GiNaC::ex & ll2, 00045 const GiNaC::ex & expansion_parameter, int order); 00046 00047 GiNaC::ex nestedsums_helper_expand_power(const GiNaC::ex & x, const GiNaC::ex & m, const GiNaC::ex & expansion_parameter, int order); 00048 GiNaC::ex nestedsums_helper_series(const GiNaC::ex & f, const GiNaC::ex & expansion_parameter, int order); 00049 00050 GiNaC::ex nestedsums_helper_bernoulli(int n); 00051 00052 GiNaC::ex nestedsums_helper_lowering_op_geo_0(const GiNaC::ex & x, int m); 00053 GiNaC::ex nestedsums_helper_lowering_op_geo_1(const GiNaC::ex & x, int m); 00054 00055 GiNaC::ex nestedsums_helper_arithmetic_sum_type_Z(const GiNaC::ex & n, const GiNaC::ex & m); 00056 GiNaC::ex nestedsums_helper_arithmetic_sum_type_S(const GiNaC::ex & n, const GiNaC::ex & m); 00057 00058 int nestedsums_helper_get_degree(const GiNaC::ex & expr, const GiNaC::ex & eps); 00059 int nestedsums_helper_ldegree(const GiNaC::ex & expr, const GiNaC::ex & eps); 00060 GiNaC::ex nestedsums_helper_coeff(const GiNaC::ex & expr, const GiNaC::ex & eps, int n = 1); 00061 00062 GiNaC::exvector exvector_from_lst(const GiNaC::ex & l); 00063 GiNaC::exvector reverse_exvector_from_lst(const GiNaC::ex & l); 00064 GiNaC::exvector exvector_append_lst(const GiNaC::exvector & v, const GiNaC::ex & l); 00065 GiNaC::exvector exvector_multiply_last_letter(const GiNaC::exvector & v, const GiNaC::ex & x); 00066 GiNaC::exvector exvector_increase_last_degree(const GiNaC::exvector & v); 00067 00068 class nestedsums_helper_less 00069 { 00070 public : 00071 bool operator() (const GiNaC::ex & a, const GiNaC::ex & b) const; 00072 }; 00073 00074 bool is_class_in_nestedsums(const GiNaC::ex & expr); 00075 bool is_expr_in_sym_lst(const GiNaC::ex & expr, const GiNaC::lst & sym_lst); 00076 00077 GiNaC::ex nestedsums_helper_normalize(const GiNaC::ex & expr, const GiNaC::lst & sym_lst = _empty_list); 00078 GiNaC::ex nestedsums_helper_sort(const GiNaC::ex & expr, const GiNaC::lst & sym_lst = _empty_list); 00079 00080 GiNaC::ex convert_Zsums_to_standard_form(const GiNaC::ex & expr, const GiNaC::lst & sym_lst = _empty_list); 00081 00082 void nestedsums_helper_clear_hashes(void); 00083 00084 } // namespace nestedsums 00085 00086 #endif // ndef __NESTEDSUMS_HELPERS_H__ 00087

Generated on Wed Jun 10 22:59:10 2009 for Nestedsums library by doxygen 1.3.7