pyrc.core.solver.symbolic#

class ArraySymbolicEvaluator(semi_symbolic_array: ndarray, time_symbols: list[Symbol])#

Bases: SymbolicEvaluator

Parameters:
  • semi_symbolic_array (np.ndarray) – 1D or column array (shape (n,) or (n, 1)) with sympy expressions or numeric values.

  • time_symbols (list[Symbol]) – Ordered list of time-dependent symbols.

__init__(semi_symbolic_array: ndarray, time_symbols: list[Symbol])#
Parameters:
  • semi_symbolic_array (np.ndarray) – 1D or column array (shape (n,) or (n, 1)) with sympy expressions or numeric values.

  • time_symbols (list[Symbol]) – Ordered list of time-dependent symbols.

class SparseSymbolicEvaluator(semi_symbolic_matrix: MutableSparseMatrix, time_symbols: list[Symbol])#

Bases: SymbolicEvaluator

Parameters:
  • semi_symbolic_matrix (SparseMatrix) – Sparse matrix with time-dependent symbols or numeric values.

  • time_symbols (list[Symbol]) – Ordered list of time-dependent symbols.

__init__(semi_symbolic_matrix: MutableSparseMatrix, time_symbols: list[Symbol])#
Parameters:
  • semi_symbolic_matrix (SparseMatrix) – Sparse matrix with time-dependent symbols or numeric values.

  • time_symbols (list[Symbol]) – Ordered list of time-dependent symbols.

class SymbolicEvaluator(entries: dict[tuple[int, int], Any], time_symbols: list[Symbol])#

Bases: ABC

Parameters:
  • entries (dict[tuple[int, int], any]) – Mapping from (i, j) index to sympy expression or numeric value.

  • time_symbols (list[Symbol]) – Ordered list of time-dependent symbols.

__init__(entries: dict[tuple[int, int], Any], time_symbols: list[Symbol])#
Parameters:
  • entries (dict[tuple[int, int], any]) – Mapping from (i, j) index to sympy expression or numeric value.

  • time_symbols (list[Symbol]) – Ordered list of time-dependent symbols.

evaluate(time_values=None)#
Parameters:

time_values (array-like, optional) – Values for time-dependent symbols in same order as time_symbols.

Return type:

Output structure with evaluated values.