Hipace
|
Classes | |
class | MyCxxPrinter |
Functions | |
def | printcxxpow (expr) |
def | Taylor_polynomial_sympy (function_expression, variable_list, evaluation_point, degree) |
def | get_order (fn) |
Variables | |
int | order = 18 |
v_xfnorm = sp.Symbol('xf') | |
v_yfnorm = sp.Symbol('yf') | |
v_xsnorm = sp.Symbol('xs') | |
v_ysnorm = sp.Symbol('ys') | |
v_cx = sp.Symbol('x') | |
v_cy = sp.Symbol('y') | |
v_sval = sp.Symbol('s_v') | |
v_radius_2 = sp.Symbol('radius_2') | |
f_exact = sp.log((v_xfnorm-v_xsnorm)**2 + (v_yfnorm-v_ysnorm)**2) | |
def | f_approx = Taylor_polynomial_sympy(f_exact, (v_xsnorm,v_ysnorm), (0,0), order) |
f_approx_sum = list(f_approx.args) | |
key | |
list | f_approx_all = [sp.separatevars(fn,(v_xsnorm,v_ysnorm),dict=True) for fn in f_approx_sum] |
j = i | |
list | c = f_approx_all[j]["coeff"] / f_approx_all[i]["coeff"] |
int | i = 0 |
def MakeOpenBoundary.get_order | ( | fn | ) |
def MakeOpenBoundary.printcxxpow | ( | expr | ) |
def MakeOpenBoundary.Taylor_polynomial_sympy | ( | function_expression, | |
variable_list, | |||
evaluation_point, | |||
degree | |||
) |
Mathematical formulation reference: https://math.libretexts.org/Bookshelves/Calculus/Supplemental_Modules_(Calculus)/Multivariable_Calculus/3%3A_Topics_in_Partial_Derivatives/Taylor__Polynomials_of_Functions_of_Two_Variables :param function_expression: Sympy expression of the function :param variable_list: list. All variables to be approximated (to be "Taylorized") :param evaluation_point: list. Coordinates, where the function will be expressed :param degree: int. Total degree of the Taylor polynomial :return: Returns a Sympy expression of the Taylor series up to a given degree, of a given multivariate expression, approximated as a multivariate polynomial evaluated at the evaluation_point
MakeOpenBoundary.c = f_approx_all[j]["coeff"] / f_approx_all[i]["coeff"] |
def MakeOpenBoundary.f_approx = Taylor_polynomial_sympy(f_exact, (v_xsnorm,v_ysnorm), (0,0), order) |
list MakeOpenBoundary.f_approx_all = [sp.separatevars(fn,(v_xsnorm,v_ysnorm),dict=True) for fn in f_approx_sum] |
MakeOpenBoundary.f_approx_sum = list(f_approx.args) |
int MakeOpenBoundary.i = 0 |
MakeOpenBoundary.j = i |
MakeOpenBoundary.key |
int MakeOpenBoundary.order = 18 |
MakeOpenBoundary.v_cx = sp.Symbol('x') |
MakeOpenBoundary.v_cy = sp.Symbol('y') |
MakeOpenBoundary.v_radius_2 = sp.Symbol('radius_2') |
MakeOpenBoundary.v_sval = sp.Symbol('s_v') |
MakeOpenBoundary.v_xfnorm = sp.Symbol('xf') |
MakeOpenBoundary.v_xsnorm = sp.Symbol('xs') |
MakeOpenBoundary.v_yfnorm = sp.Symbol('yf') |
MakeOpenBoundary.v_ysnorm = sp.Symbol('ys') |