Equation

class gpype.backend.transform.equation.Equation(expression=None, **kwargs)[source]

Bases: IONode

Mathematical expression evaluation node for data transformation.

Applies custom mathematical expressions to input data using SymPy. Automatically creates input ports from expression variables and compiles to optimized NumPy functions. Handles ‘in’ keyword via internal aliasing.

Parameters:

expression (str)

class Configuration(input_ports=None, output_ports=None, **kwargs)[source]

Bases: Configuration

Configuration class for Equation parameters.

Parameters:
  • input_ports (list)

  • output_ports (list)

class Keys[source]

Bases: Keys

Configuration key constants for the Equation.

EXPRESSION = 'expression'
__init__(expression=None, **kwargs)[source]

Initialize Equation node with mathematical expression.

Parses expression using SymPy, extracts variables to create input ports, and compiles to optimized NumPy function.

Parameters:
  • expression (str) – Mathematical expression string. Must be valid SymPy expression. Variables become input port names. ‘in’ keyword handled via internal aliasing.

  • **kwargs – Additional configuration parameters for IONode.

Raises:
  • ValueError – If expression is None or empty.

  • SymPy parsing errors – If expression cannot be parsed.

setup(data, port_context_in)[source]

Setup Equation node and validate input port configurations.

Parameters:
  • data (dict[str, ndarray]) – Initial data dictionary for port configuration.

  • port_context_in (dict[str, dict]) – Input port context with channel counts, sampling rates, and frame sizes.

Return type:

dict[str, dict]

Returns:

Output port context with validated configuration.

step(data)[source]

Apply mathematical expression to input data.

Evaluates compiled function on current frame of input data in the order of sorted variable names from expression.

Parameters:

data (dict[str, ndarray]) – Dictionary with input data arrays for each expression variable. Keys are variable names, values are NumPy arrays.

Return type:

dict[str, ndarray]

Returns:

Dictionary with expression evaluation result on output port.