num_dual.HyperDual64

class num_dual.HyperDual64(re, eps1, eps2, eps1eps2)

Hyper-dual number using 64-bit-floats as fields.

A hyper-dual number consists of a + b ε1 + c ε2 + d ε1ε2

Examples

>>> from num_dual import HyperDual64 as HD64
>>> x = HD64(1.0, 0.0, 0.0, 0.0) # constructor
>>> y = HD64.from_re(2.0)        # from real value
>>> x + y
3 + [0]ε1 + [0]ε2 + [0]ε1ε2

Compute partial derivatives of a function.

>>> from num_dual import second_partial_derivative
>>> f, f_x, f_y, f_xy = second_partial_derivative(lambda x,y: x**2 * y - y**3, 3.0, 4.0)
>>> f
-28.0
>>> f_x
24.0
>>> f_y
-39.0
>>> f_xy
6.0
__init__()

Methods

__init__()

arccos()

Computes the arccosine of a (hyper) dual number.

arccosh()

Computes the inverse hyperbolic cosine of a (hyper) dual number.

arcsin()

Computes the arcsine of a (hyper) dual number.

arcsinh()

Computes the inverse hyperbolic sine of a (hyper) dual number.

arctan()

Computes the arctangent of a (hyper) dual number.

arctanh()

Computes the inverse hyperbolic tangent of a (hyper) dual number.

cbrt()

Cubic root.

cos()

Hyperbolic cosine function.

cosh()

Computes the hyperbolic cosine of a (hyper) dual number.

exp()

Calculate the exponential of (hyper) dual number.

exp2()

Calculate 2**x of (hyper) dual number x.

expm1()

Calculate exp(x) - 1.

from_re(re)

(Hyper) dual number from real part, setting all other parts to zero.

log()

Calculate natural logarithm.

log10()

Calculate logarithm with base 10.

log1p()

Returns ln(1+n) (natural logarithm) more accurately than if the operations were performed separately.

log2()

Calculate logarithm with base 2.

log_base(base)

Calculate logarithm with given base.

mul_add(a, b)

Fused multiply-add.

powd(n)

Power using self (hyper) dual number as exponent.

powf(n)

Power using 64-bin float as exponent.

powi(n)

Power using 32-bit integer as exponent.

recip()

Reciprocal value of self.

sin()

Hyperbolic sine function.

sin_cos()

Simultaneously computes the sine and cosine of the (hyper) dual number, x.

sinh()

Computes the hyperbolic sine of a (hyper) dual number.

sph_j0()

Computes the first spherical bessel function.

sph_j1()

Computes the second spherical bessel function.

sph_j2()

Computes the third spherical bessel function.

sqrt()

Sqaure root.

tan()

Computes the tangent of a (hyper) dual number (in radians).

tanh()

Computes the hyperbolic tangent of a (hyper) dual number.

Attributes

first_derivative

second_derivative

value

Real part.