sparse_pwc_operator

Graph.sparse_pwc_operator(signal, operator)

Create a sparse piecewise-constant operator (sparse-matrix-valued function of time).

Each of the piecewise-constant segments (time periods) is a scalar multiple of the operator.

Parameters

  • signal (Pwc) – The scalar-valued piecewise-constant function of time a(t)a(t).
  • operator (numpy.ndarray or scipy.sparse.spmatrix or Tensor) – The sparse operator AA to be scaled over time. If you pass a Tensor or NumPy array, it will be internally converted into a sparse representation.

Returns

The piecewise-constant sparse operator a(t)Aa(t)A.

Return type

SparsePwc

SEE ALSO

Graph.constant_sparse_pwc_operator : Create constant SparsePwcs.

Graph.density_matrix_evolution_pwc : Evolve a quantum state in an open system.

Graph.pwc_operator : Corresponding operation for Pwcs.

Graph.sparse_pwc_hermitian_part : Hermitian part of a SparsePwc operator.

Graph.sparse_pwc_sum : Sum multiple SparsePwcs.

Graph.state_evolution_pwc : Evolve a quantum state.

Examples

Create a sparse PWC operator.

>>> from scipy.sparse import coo_matrix
>>> sigma_x = np.array([[0, 1], [1, 0]])
>>> signal = graph.pwc_signal(values=np.array([1, 2, 3]), duration=0.1)
>>> graph.sparse_pwc_operator(signal=signal, operator=coo_matrix(sigma_x))
<SparsePwc: operation_name="sparse_pwc_operator", value_shape=(2, 2)>

See more examples in the How to simulate large open system dynamics user guide.

Was this useful?