class boulderopal.graph.FilterFunction(operation, frequencies, exact)

A tensor-valued filter function result.


  • inverse_powers (Tensor) – The values of the filter function at the given frequencies.
  • uncertainties (Tensor , optional) – The uncertainties of the filter function values. This field is None when the exact method is used for computing the filter function.
  • frequencies (np.ndarray) – The frequencies at which the filter function has been evaluated.
  • value_shape (tuple [ int ]) – The shape of the function value.
  • exact (bool) – Indicates whether filter function is exact.
  • name (str) – The name assigned to the node.


Graph.filter_function : Evaluate the filter function for a control Hamiltonian and a noise operator at the given frequency elements.


The value of a FilterFunction node can be fetched in a graph calculation by adding its name in the output_node_names parameter for the function call. This will add an item to the output dictionary in the calculation result object, whose key is name. The item’s value will be a dictionary with NumPy arrays with the “frequencies” and “inverse_powers” values. If the filter function calculation is not exact, the dictionary also contains an array with the filter function “uncertainties”.

Was this useful?