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