On this page

CompiledTensorEvaluator

symbolica.community.spenso Class

CompiledTensorEvaluator()

A compiled and optimized evaluator for maximum performance tensor evaluation.

This class wraps a compiled C++ shared library for extremely fast numerical evaluation of tensor expressions. It only supports complex-valued evaluation as this is the most general case.

A compiled and optimized evaluator for maximum performance tensor evaluation.

This class wraps a compiled C++ shared library for extremely fast numerical evaluation of tensor expressions. It only supports complex-valued evaluation as this is the most general case.

Create instances using the TensorEvaluator.compile() method.

Examples

compiled = evaluator.compile("eval_func", "code.cpp", "lib")
results = compiled.evaluate_complex(large_input_batch)

Member details

evaluate_complex

Method
#
evaluate_complex(inputs: Sequence[Sequence[complex]]) -> list[Tensor]

Evaluate the tensor expression for multiple complex-valued parameter inputs.

Uses the compiled C++ code for maximum performance evaluation with complex numbers.

Returns

list of Tensor

List of evaluated tensors, one for each input parameter set

Examples

complex_inputs = [
    [1.0+2.0j, 3.0+0.0j],
    [0.0+1.0j, 2.0+1.0j]
]
results = compiled_evaluator.evaluate_complex(complex_inputs)

Parameters

NameTypeDefaultDescription
inputsSequence[Sequence[complex]]

List of parameter value lists, where each inner list contains complex values for all parameters in the same order as specified when creating the original evaluator