pygsti.modelmembers.operations.cptrop

Contents

pygsti.modelmembers.operations.cptrop#

The classes in this file help us represent CPTR (completely positive trace-reducing) channels using the error generator formalism.

By trace reducing, we formally mean trace non-increasing.

Definition#

A map is CPTR if and only if it has Kraus operators {K_i} where sum_i K_i^† K_i ≤ I.

Method#

Let K_i = u p^½ be the polar decomposition of K_i. (We denote the psd factor from the polar decomposition by p^½ instead of p because a K_i is itself a type of square-root.)

The Kraus-rank-1 channel σ ↦ (K_i) σ (K_i)^† can be represented as a composition of two linear maps:

  1. A “root-conj” operator σ ↦ p^½ σ p^½, parameterized by the psd matrix p, and

  2. A standard unitary evolution, σ ↦ u σ u^†, parameterized by u.

pyGSTi has long had dozens of ways of representing (noisy) unitary evolution. This file adds classes to represent the root-conj part of a CPTR map, and to sum multiple Kraus-rank-1 terms together when needed.

Classes

RootConjOperator(effect, basis)

Represents a linear operator that acts as ρ ↦ E^½ ρ E^½, where E is a Hermitian matrix represented by a POVMEffect object.

SummedOperator(operators, basis)

A linear operator whose superoperator is the sum of a list of constituent operators.