pymc.SymbolicRandomVariable.perform#

SymbolicRandomVariable.perform(node, inputs, outputs)#

Calculate the function on the inputs and put the variables in the output storage.

Parameters:
node

The symbolic Apply node that represents this computation.

inputs

Immutable sequence of non-symbolic/numeric inputs. These are the values of each Variable in node.inputs.

output_storage

List of mutable single-element lists (do not change the length of these lists). Each sub-list corresponds to value of each Variable in node.outputs. The primary purpose of this method is to set the values of these sub-lists.

Notes

The output_storage list might contain data. If an element of output_storage is not None, it has to be of the right type, for instance, for a TensorVariable, it has to be a NumPy ndarray with the right number of dimensions and the correct dtype. Its shape and stride pattern can be arbitrary. It is not guaranteed that such pre-set values were produced by a previous call to this Op.perform(); they could’ve been allocated by another Op’s perform method. An Op is free to reuse output_storage as it sees fit, or to discard it and allocate new memory.