def test_var_div_var(self): x = self.x y = self.y z = self.z p = self.p a = self.a b = self.b tol_d = self.tol_d tol_mp = self.tol_mp # f = Function(x / y) self.assertLessEqual( np.abs(f.eval_d().real / (-.44755270475041560619657805305047592426404601827) - 1), tol_d) self.assertLessEqual( np.abs(f.eval_d().imag / (-.13600253041648890000441351713180233327939034617) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float( "-.44755270475041560619657805305047592426404601827") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float( "-.13600253041648890000441351713180233327939034617") - 1), tol_mp)
def test_Float_construct(self): x_d = self.x_d y_d = self.y_d z_d = self.z_d p_d = self.p_d tol_d = self.tol_d x_mp = self.x_mp y_mp = self.y_mp z_mp = self.z_mp p_mp = self.p_mp tol_mp = self.tol_mp x = Float("4.3", "-9e-3") x = Float(y_mp) x = Float(mpfr_float("9.3"), mpfr_float("-3")) x = Float("9.2", "-43.2e2")
def test_plus(self): x = self.x y = self.y z = self.z p = self.p a = self.a b = self.b tol_d = self.tol_d tol_mp = self.tol_mp # f = Function(x + y + a) self.assertLessEqual(np.abs(f.eval_d().real / (5.53) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (-1.118) - 1), tol_d) # self.assertLessEqual(mp.abs(f.eval_mp().real / mpfr_float("5.53") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float("-1.118") - 1), tol_mp) # f = Function(x + Float("3.87")) self.assertLessEqual(np.abs(f.eval_d().real / (1.44) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (0.21) - 1), tol_d) # f = Function(x + mpfr_complex("3.87", "-2.1")) self.assertLessEqual(np.abs(f.eval_d().real / (1.44) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (-1.89) - 1), tol_d) # self.assertLessEqual(mp.abs(f.eval_mp().real / mpfr_float("1.44") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float("-1.89") - 1), tol_mp) # f = Function(x + (-5)) self.assertLessEqual(np.abs(f.eval_d().real / (-7.43) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (0.21) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float("-7.43") - 1), tol_mp) self.assertLessEqual(mp.abs(f.eval_mp().imag / mpfr_float("0.21") - 1), tol_mp) # f = Function(x) f += y f += a self.assertLessEqual(np.abs(f.eval_d().real / (5.53) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (-1.118) - 1), tol_d) # self.assertLessEqual(mp.abs(f.eval_mp().real / mpfr_float("5.53") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float("-1.118") - 1), tol_mp) # f = Function(x) f += Float("3.87") self.assertLessEqual(np.abs(f.eval_d().real / (1.44) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (0.21) - 1), tol_d)
def test_var_times_var(self): x = self.x y = self.y z = self.z p = self.p a = self.a b = self.b tol_d = self.tol_d tol_mp = self.tol_mp # f = Function(x * y * z) self.assertLessEqual(np.abs(f.eval_d().real / (77.7616926) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (-28.8346602) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float("77.7616926") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float("-28.8346602") - 1), tol_mp)
def test_power_rule(self): x = self.x; y = self.y; z = self.z; p = self.p; a = self.a; b = self.b; tol_d = self.tol_d; tol_mp = self.tol_mp; # f = x**2 + y**3; df = f.differentiate(); # self.assertLessEqual(np.abs(df.eval_d(x).real / (-4.86)-1), tol_d) self.assertLessEqual(np.abs(df.eval_d(x).imag / (0.42)-1), tol_d) # self.assertLessEqual(mp.abs(df.eval_mp(x).real / mpfr_float("-4.86")-1), tol_mp) self.assertLessEqual(mp.abs(df.eval_mp(x).imag / mpfr_float("0.42")-1), tol_mp) # df.reset() self.assertLessEqual(np.abs(df.eval_d(y).real / (58.9860)-1), tol_d) self.assertLessEqual(np.abs(df.eval_d(y).imag / (-56.3376)-1), tol_d) # self.assertLessEqual(mp.abs(df.eval_mp(y).real / mpfr_float("58.9860")-1), tol_mp) self.assertLessEqual(mp.abs(df.eval_mp(y).imag / mpfr_float("-56.3376")-1), tol_mp)
def test_I_construct(self): x_d = self.x_d y_d = self.y_d z_d = self.z_d p_d = self.p_d tol_d = self.tol_d x_mp = self.x_mp y_mp = self.y_mp z_mp = self.z_mp p_mp = self.p_mp tol_mp = self.tol_mp y = make_i() # self.assertLessEqual(np.abs(y.eval_d().real - (0)), tol_d) self.assertLessEqual(np.abs(y.eval_d().imag / (1.0) - 1), tol_d) # self.assertLessEqual(mp.abs(y.eval_mp().real - mpfr_float("0")), tol_mp) self.assertLessEqual(mp.abs(y.eval_mp().imag / mpfr_float("1.0") - 1), tol_mp)
def test_trancendental(self): x = self.x; y = self.y; z = self.z; p = self.p; a = self.a; b = self.b; tol_d = self.tol_d; tol_mp = self.tol_mp; # f = sin(x*y) + exp(z*y) - log(x*x); df = f.differentiate(); # self.assertLessEqual(np.abs(df.eval_d(x).real / (-17.648420086229721902138620795382021306411662490)-1), 9e-13) self.assertLessEqual(np.abs(df.eval_d(x).imag / (-803.11883403426275105632833868183320319093878729)-1), tol_d) # self.assertLessEqual(mp.abs(df.eval_mp(x).real / mpfr_float("-17.648420086229721902138620795382021306411662490")-1), tol_mp) self.assertLessEqual(mp.abs(df.eval_mp(x).imag / mpfr_float("-803.11883403426275105632833868183320319093878729")-1), tol_mp) # df.reset() self.assertLessEqual(np.abs(df.eval_d(y).real / (-100.97157179433748763552280062599971478593963953)-1), tol_d) self.assertLessEqual(np.abs(df.eval_d(y).imag / (361.98093991820979266721712882115615553425318528)-1), tol_d) # self.assertLessEqual(mp.abs(df.eval_mp(y).real / mpfr_float("-100.97157179433748763552280062599971478593963953")-1), tol_mp) self.assertLessEqual(mp.abs(df.eval_mp(y).imag / mpfr_float("361.98093991820979266721712882115615553425318528")-1), tol_mp) # df.reset() self.assertLessEqual(np.abs(df.eval_d(z).real / (-2.1642907643013779167501866500194314960002972412e-14)-1), tol_d) self.assertLessEqual(np.abs(df.eval_d(z).imag / (2.1105887207247540399884720817624768568595288922e-14)-1), tol_d) # self.assertLessEqual(mp.abs(df.eval_mp(z).real / mpfr_float("-2.1642907643013779167501866500194314960002972412e-14")-1), tol_mp) self.assertLessEqual(mp.abs(df.eval_mp(z).imag / mpfr_float("2.1105887207247540399884720817624768568595288922e-14")-1), tol_mp)
def test_sum_rule(self): x = self.x; y = self.y; z = self.z; p = self.p; a = self.a; b = self.b; tol_d = self.tol_d; tol_mp = self.tol_mp; # f = x+y+a; df = f.differentiate(); # self.assertLessEqual(np.abs(df.eval_d(x).real/(1.0)-1), tol_d) self.assertLessEqual(np.abs(df.eval_d(x).imag-0), tol_d) # self.assertLessEqual(mp.abs(df.eval_mp(x).real/mpfr_float("1.0")-1), tol_mp) self.assertLessEqual(mp.abs(df.eval_mp(x).imag-mpfr_float("0")), tol_mp) # df.reset() self.assertLessEqual(np.abs(df.eval_d(y).real/(1.0)-1), tol_d) self.assertLessEqual(np.abs(df.eval_d(y).imag-0), tol_d) # self.assertLessEqual(mp.abs(df.eval_mp(y).real/mpfr_float("1.0")-1), tol_mp) self.assertLessEqual(mp.abs(df.eval_mp(y).imag-mpfr_float("0")), tol_mp) # df.reset() self.assertLessEqual(np.abs(df.eval_d(z).real-0), tol_d) self.assertLessEqual(np.abs(df.eval_d(z).imag-0), tol_d) # self.assertLessEqual(mp.abs(df.eval_mp(z).real-mpfr_float("0.0")), tol_mp) self.assertLessEqual(mp.abs(df.eval_mp(z).imag-mpfr_float("0")), tol_mp)
def test_prod_rule(self): x = self.x; y = self.y; z = self.z; p = self.p; a = self.a; b = self.b; tol_d = self.tol_d; tol_mp = self.tol_mp; # f = x**2*y**4 - a*x*y*z**2; df = f.differentiate(); # self.assertLessEqual(np.abs(df.eval_d(x).real / (-559.28968169592)-1), tol_d) self.assertLessEqual(np.abs(df.eval_d(x).imag / (3577.05276993648)-1), tol_d) # self.assertLessEqual(mp.abs(df.eval_mp(x).real / mpfr_float("-559.28968169592")-1), tol_mp) self.assertLessEqual(mp.abs(df.eval_mp(x).imag / mpfr_float("3577.05276993648")-1), tol_mp) # df.reset() self.assertLessEqual(np.abs(df.eval_d(y).real / (1161.85042980828)-1), tol_d) self.assertLessEqual(np.abs(df.eval_d(y).imag / (-3157.24325320476)-1), tol_d) # self.assertLessEqual(mp.abs(df.eval_mp(y).real / mpfr_float("1161.85042980828")-1), tol_mp) self.assertLessEqual(mp.abs(df.eval_mp(y).imag / mpfr_float("-3157.24325320476")-1), tol_mp) # df.reset() self.assertLessEqual(np.abs(df.eval_d(z).real / (-520.5265859088)-1), tol_d) self.assertLessEqual(np.abs(df.eval_d(z).imag / (84.7479679056)-1), tol_d) # self.assertLessEqual(mp.abs(df.eval_mp(z).real / mpfr_float("-520.5265859088")-1), tol_mp) self.assertLessEqual(mp.abs(df.eval_mp(z).imag / mpfr_float("84.7479679056")-1), tol_mp)
def setUp(self): default_precision(30) self.x_d = complex(-2.43, .21) self.y_d = complex(4.84, -1.94) self.z_d = complex(-6.48, -.731) self.p_d = complex(-.321, -.72) self.tol_d = float(1e-15) # self.x_mp = mpfr_complex("-2.43", ".21") self.y_mp = mpfr_complex("4.84", "-1.94") self.z_mp = mpfr_complex("-6.48", "-.731") self.p_mp = mpfr_complex("-.321", "-.72") self.tol_mp = mpfr_float("1e-27")
def test_num_times_var(self): x = self.x y = self.y z = self.z p = self.p a = self.a b = self.b tol_d = self.tol_d tol_mp = self.tol_mp # f = Function(a * x * b * y) # self.assertLessEqual(np.abs(f.eval_d().real / (3.4011196056) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (-110.9953448712) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float("3.4011196056") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float("-110.9953448712") - 1), tol_mp)
def test_Float_eval(self): x_d = self.x_d y_d = self.y_d z_d = self.z_d p_d = self.p_d tol_d = self.tol_d x_mp = self.x_mp y_mp = self.y_mp z_mp = self.z_mp p_mp = self.p_mp tol_mp = self.tol_mp x = Float(x_mp) y = Float(y_mp) z = Float(z_mp) # self.assertLessEqual(np.abs(x.eval_d().real / (-2.43) - 1), tol_d) self.assertLessEqual(np.abs(x.eval_d().imag / (.21) - 1), tol_d) # self.assertLessEqual(mp.abs(y.eval_mp().real / mpfr_float("4.84") - 1), tol_mp) self.assertLessEqual( mp.abs(y.eval_mp().imag / mpfr_float("-1.94") - 1), tol_mp)
def test_Pi_construct(self): x_d = self.x_d y_d = self.y_d z_d = self.z_d p_d = self.p_d tol_d = self.tol_d x_mp = self.x_mp y_mp = self.y_mp z_mp = self.z_mp p_mp = self.p_mp tol_mp = self.tol_mp x = Pi() y = make_pi() # self.assertLessEqual( np.abs(x.eval_d().real / (3.1415926535897932384626433832795028841971693994) - 1), tol_d) self.assertLessEqual(np.abs(x.eval_d().imag - (0)), tol_d) # self.assertLessEqual( mp.abs(x.eval_mp().real / mpfr_float( "3.1415926535897932384626433832795028841971693994") - 1), tol_mp) self.assertLessEqual(mp.abs(x.eval_mp().imag - mpfr_float("0")), tol_mp) # self.assertLessEqual( np.abs(y.eval_d().real / (3.1415926535897932384626433832795028841971693994) - 1), tol_d) self.assertLessEqual(np.abs(y.eval_d().imag - (0)), tol_d) # self.assertLessEqual( mp.abs(y.eval_mp().real / mpfr_float( "3.1415926535897932384626433832795028841971693994") - 1), tol_mp) self.assertLessEqual(mp.abs(y.eval_mp().imag - mpfr_float("0")), tol_mp)
def test_E_construct(self): x_d = self.x_d y_d = self.y_d z_d = self.z_d p_d = self.p_d tol_d = self.tol_d x_mp = self.x_mp y_mp = self.y_mp z_mp = self.z_mp p_mp = self.p_mp tol_mp = self.tol_mp x = E() y = make_e() # self.assertLessEqual( np.abs(x.eval_d().real / (2.7182818284590452353602874713526624977572470937) - 1), tol_d) self.assertLessEqual(np.abs(x.eval_d().imag - (0)), tol_d) # self.assertLessEqual( mp.abs(x.eval_mp().real - mpfr_float( "2.7182818284590452353602874713526624977572470937")), tol_mp) self.assertLessEqual(mp.abs(x.eval_mp().imag - mpfr_float("0")), tol_mp) # self.assertLessEqual( np.abs(y.eval_d().real / (2.7182818284590452353602874713526624977572470937) - 1), tol_d) self.assertLessEqual(np.abs(y.eval_d().imag - (0)), tol_d) # self.assertLessEqual( mp.abs(y.eval_mp().real / mpfr_float( "2.7182818284590452353602874713526624977572470937") - 1), tol_mp) self.assertLessEqual(mp.abs(y.eval_mp().imag - mpfr_float("0")), tol_mp)
def test_Variable_eval(self): x_d = self.x_d y_d = self.y_d z_d = self.z_d p_d = self.p_d tol_d = self.tol_d x_mp = self.x_mp y_mp = self.y_mp z_mp = self.z_mp p_mp = self.p_mp tol_mp = self.tol_mp x = Variable("x") y = Variable("y") x.set_current_value(x_d) x.set_current_value(x_mp) # self.assertLessEqual(np.abs(x.eval_d().real / (-2.43) - 1), tol_d) self.assertLessEqual(np.abs(x.eval_d().imag / (.21) - 1), tol_d) # self.assertLessEqual( mp.abs(x.eval_mp().real / mpfr_float("-2.43") - 1), tol_mp) self.assertLessEqual(mp.abs(x.eval_mp().imag / mpfr_float(".21") - 1), tol_mp)
def test_Float_funcs(self): x_d = self.x_d y_d = self.y_d z_d = self.z_d p_d = self.p_d tol_d = self.tol_d x_mp = self.x_mp y_mp = self.y_mp z_mp = self.z_mp p_mp = self.p_mp tol_mp = self.tol_mp x = Float(x_mp) y = Float(y_mp) z = Float(z_mp) # self.assertEqual(x.degree(), 0) d = y.differentiate() self.assertLessEqual(mp.abs(d.eval_mp().real - mpfr_float("0")), tol_mp) self.assertLessEqual(mp.abs(d.eval_mp().imag - mpfr_float("0")), tol_mp) self.assertTrue(y.is_homogeneous()) self.assertTrue(y.is_polynomial())
def test_sub(self): x = self.x y = self.y z = self.z p = self.p a = self.a b = self.b tol_d = self.tol_d tol_mp = self.tol_mp # f = Function(x - y - a) self.assertLessEqual(np.abs(f.eval_d().real / (-10.39) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (1.538) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float("-10.39") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float("1.538") - 1), tol_mp) # f = Function(y - Float("3.87")) self.assertLessEqual(np.abs(f.eval_d().real / (0.97) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (-1.94) - 1), tol_d) # f = Function(y - Float("3.87", "0")) self.assertLessEqual(np.abs(f.eval_d().real / (0.97) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (-1.94) - 1), tol_d) # # f = Function(y - mpfr_complex("3.87", "-2.1")) self.assertLessEqual(np.abs(f.eval_d().real / (0.97) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (0.16) - 1), tol_d) # self.assertLessEqual(mp.abs(f.eval_mp().real / mpfr_float("0.97") - 1), tol_mp) self.assertLessEqual(mp.abs(f.eval_mp().imag / mpfr_float("0.16") - 1), tol_mp) # f = Function(y - (-5)) self.assertLessEqual(np.abs(f.eval_d().real / (9.84) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (-1.94) - 1), tol_d) # f = Function(x) f -= y f -= a self.assertLessEqual(np.abs(f.eval_d().real / (-10.39) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (1.538) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float("-10.39") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float("1.538") - 1), tol_mp) # f = Function(y) f -= Float("3.87") self.assertLessEqual(np.abs(f.eval_d().real / (0.97) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (-1.94) - 1), tol_d)
def setUp(self): default_precision(30) self.x = Variable("x") self.x.set_current_value(complex(-2.43, .21)) self.y = Variable("y") self.y.set_current_value(complex(4.84, -1.94)) self.z = Variable("z") self.z.set_current_value(complex(-6.48, -.731)) self.p = Variable("p") self.p.set_current_value(complex(-.321, -.72)) self.a = Float(mpfr_complex("3.12", ".612")) self.b = Float(mpfr_complex("-.823", "2.62")) self.tol_d = float(9e-14) # self.x.set_current_value(mpfr_complex("-2.43", ".21")) self.y.set_current_value(mpfr_complex("4.84", "-1.94")) self.z.set_current_value(mpfr_complex("-6.48", "-.731")) self.p.set_current_value(mpfr_complex("-.321", "-.72")) self.a = Float(mpfr_complex("3.12", ".612")) self.b = Float(mpfr_complex("-.823", "2.62")) self.tol_mp = mpfr_float("1e-27")
def test_power(self): x = self.x y = self.y z = self.z p = self.p a = self.a b = self.b tol_d = self.tol_d tol_mp = self.tol_mp # f = Function(y**3) self.assertLessEqual(np.abs(f.eval_d().real / (58.732432) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (-129.035608) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float("58.732432") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float("-129.035608") - 1), tol_mp) # f = Function(pow(y, 3)) self.assertLessEqual(np.abs(f.eval_d().real / (58.732432) - 1), tol_d) self.assertLessEqual(np.abs(f.eval_d().imag / (-129.035608) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float("58.732432") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float("-129.035608") - 1), tol_mp) # f = Function(x**p) self.assertLessEqual( np.abs(f.eval_d().real / (-.35190932545709434788093164550270669097948909024) - 1), tol_d) self.assertLessEqual( np.abs(f.eval_d().imag / (-6.7687858345625791466707575744042177964518271087) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float( "-.35190932545709434788093164550270669097948909024") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float( "-6.7687858345625791466707575744042177964518271087") - 1), tol_mp) # f = Function(pow(x, p)) self.assertLessEqual( np.abs(f.eval_d().real / (-.35190932545709434788093164550270669097948909024) - 1), tol_d) self.assertLessEqual( np.abs(f.eval_d().imag / (-6.7687858345625791466707575744042177964518271087) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float( "-.35190932545709434788093164550270669097948909024") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float( "-6.7687858345625791466707575744042177964518271087") - 1), tol_mp)
def test_trans_funcs(self): x = self.x y = self.y z = self.z p = self.p a = self.a b = self.b tol_d = self.tol_d tol_mp = self.tol_mp # f = Function(sin(x)) self.assertLessEqual( np.abs(f.eval_d().real / (-.66749329633668695550441899166308616328986315948) - 1), tol_d) self.assertLessEqual( np.abs(f.eval_d().imag / (-.16020928942503633132090203927960650380076680938) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float( "-.66749329633668695550441899166308616328986315948") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float( "-.16020928942503633132090203927960650380076680938") - 1), tol_mp) # f = Function(cos(y)) self.assertLessEqual( np.abs(f.eval_d().real / (0.45194679593300564730917329070452033759984813611) - 1), tol_d) self.assertLessEqual( np.abs(f.eval_d().imag / (-3.3798161097977088705360399142708324234265626016) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float( "0.45194679593300564730917329070452033759984813611") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float( "-3.3798161097977088705360399142708324234265626016") - 1), tol_mp) # f = Function(tan(z)) self.assertLessEqual( np.abs(f.eval_d().real / (-.11998086808607765336591715593714295443402911227) - 1), tol_d) self.assertLessEqual( np.abs(f.eval_d().imag / (-.63859741450762243500349270264429166927927928889) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float( "-.11998086808607765336591715593714295443402911227") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float( "-.63859741450762243500349270264429166927927928889") - 1), tol_mp) # f = Function(asin(x)) self.assertLessEqual( np.abs(f.eval_d().real / (-1.4763431474004472804452143435221887167393328861) - 1), tol_d) self.assertLessEqual( np.abs(f.eval_d().imag / (1.5406263884278099750127157814537559611048741005) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float( "-1.4763431474004472804452143435221887167393328861") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float( "1.5406263884278099750127157814537559611048741005") - 1), tol_mp) # f = Function(acos(y)) self.assertLessEqual( np.abs(f.eval_d().real / (0.38769800860408664087229892623614567735197135529) - 1), tol_d) self.assertLessEqual( np.abs(f.eval_d().imag / (2.3379037587834289977359318611458042347281923566) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float( "0.38769800860408664087229892623614567735197135529") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float( "2.3379037587834289977359318611458042347281923566") - 1), tol_mp) # f = Function(atan(z)) self.assertLessEqual( np.abs(f.eval_d().real / (-1.4195347801361539102032503530226060969949192059) - 1), tol_d) self.assertLessEqual( np.abs(f.eval_d().imag / (-0.16801358511827150554928904776095870747673962940e-1) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float( "-1.4195347801361539102032503530226060969949192059") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float( "-0.16801358511827150554928904776095870747673962940e-1") - 1), tol_mp) # f = Function(exp(y)) self.assertLessEqual( np.abs(f.eval_d().real / (-45.639359208255772966298371983389382308765171859) - 1), tol_d) self.assertLessEqual( np.abs(f.eval_d().imag / (-117.94721623715960520658000231550940351946595854) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float( "-45.639359208255772966298371983389382308765171859") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float( "-117.94721623715960520658000231550940351946595854") - 1), tol_mp) # f = Function(log(z)) self.assertLessEqual( np.abs(f.eval_d().real / (1.8750432590213669716781046977781508038070552297) - 1), tol_d) self.assertLessEqual( np.abs(f.eval_d().imag / (-3.0292589170775161726973168096174940982043177322) - 1), tol_d) # self.assertLessEqual( mp.abs(f.eval_mp().real / mpfr_float( "1.8750432590213669716781046977781508038070552297") - 1), tol_mp) self.assertLessEqual( mp.abs(f.eval_mp().imag / mpfr_float( "-3.0292589170775161726973168096174940982043177322") - 1), tol_mp)