fluxions package

fluxions.elementary_functions module

class fluxions.elementary_functions.DifferentiableBinopFunction(f: fluxions.fluxion_node.Fluxion, g: fluxions.fluxion_node.Fluxion, func: Callable, deriv: Callable, func_name: str)

Bases: fluxions.fluxion_node.Binop

A node on the calcuulation graph that is an analytically differentiable function.

class fluxions.elementary_functions.DifferentiableFunctionFactory(func: Callable, deriv: Callable, func_name: str)

Bases: object

Factory for analytically differentiable functions

class fluxions.elementary_functions.DifferentiableUnopFunction(f: fluxions.fluxion_node.Fluxion, func: Callable, deriv: Callable, func_name: str)

Bases: fluxions.fluxion_node.Unop

A node on the calcuulation graph that is an analytically differentiable function.

class fluxions.elementary_functions.FluxionResult(val, diff)

Bases: fluxions.fluxion_node.Fluxion

Wrapper for the result of calling an elemenatry function on value objects

fluxions.fluxion_jacobian module

fluxions.fluxion_jacobian.jacobian(f, v, v_mapping)

f: single fluxion object or an array or list of fluxions, representing a scalar or vector function v: vector of variables in f with respect to which the Jacobian will be calculated v_mapping: dict mapping variables in f to scalar or vector of values

fluxions.fluxion_node module

class fluxions.fluxion_node.Addition(f: fluxions.fluxion_node.Fluxion, g: fluxions.fluxion_node.Fluxion)

Bases: fluxions.fluxion_node.Binop

Addition (sum) of two fluxions; h = f + g

class fluxions.fluxion_node.Binop(f: fluxions.fluxion_node.Fluxion, g: fluxions.fluxion_node.Fluxion)

Bases: fluxions.fluxion_node.Fluxion

Abstract class embodying a binary operation

class fluxions.fluxion_node.Const(a: Union[int, float])

Bases: fluxions.fluxion_node.Fluxion

A function returning a constant; floats are implicitly promoted to instances of Const

class fluxions.fluxion_node.Division(f: fluxions.fluxion_node.Fluxion, g: fluxions.fluxion_node.Fluxion)

Bases: fluxions.fluxion_node.Binop

Division (quotient) of two fluxions; h = f * g

class fluxions.fluxion_node.Fluxion

Bases: object

A Fluxion embodies a differentiable function

diff(*args)

Call forward_mode; discard value, only keep the derivative.

shape() → Tuple[int, int]

The shape of this fluxion according to numpy standard

val(*args)

Funcation evaluation; abstract base class

class fluxions.fluxion_node.FluxionInputType

Bases: enum.Enum

Different shapes of input that can be passed to a Fluxion in forward mode

ARGS = 4
ARRAY_N = 1
ARRAY_TxN = 2
DICT = 3
KWARGS = 5
class fluxions.fluxion_node.Multiplication(f: fluxions.fluxion_node.Fluxion, g: fluxions.fluxion_node.Fluxion)

Bases: fluxions.fluxion_node.Binop

Multiplication (product) of two fluxions; h = f * g

class fluxions.fluxion_node.Power(f: fluxions.fluxion_node.Fluxion, p: float = 0.0)

Bases: fluxions.fluxion_node.Unop

Raise a fluxion to the power p

class fluxions.fluxion_node.Subtraction(f: fluxions.fluxion_node.Fluxion, g: fluxions.fluxion_node.Fluxion)

Bases: fluxions.fluxion_node.Binop

Subtraction (difference) of two fluxions; h = f - g

class fluxions.fluxion_node.Unop(f: fluxions.fluxion_node.Fluxion)

Bases: fluxions.fluxion_node.Fluxion

Abstract class embodying a unary operation

class fluxions.fluxion_node.Var(var_name: str, initial_value: Optional[numpy.ndarray] = None)

Bases: fluxions.fluxion_node.Fluxion

Class embodying the concept of a variable that is an input to a function

fluxions.fluxion_node.Vars(*args)

Convenience function to return a tuple of unboound variables

Module contents

fluxions.jacobian(f, v, v_mapping)

f: single fluxion object or an array or list of fluxions, representing a scalar or vector function v: vector of variables in f with respect to which the Jacobian will be calculated v_mapping: dict mapping variables in f to scalar or vector of values