StateTomographyFitter.fit¶
- StateTomographyFitter.fit(method='auto', standard_weights=True, beta=0.5, **kwargs)[source]¶
Reconstruct a quantum state using CVXPY convex optimization.
Fitter method
The
cvx
fitter method used CVXPY convex optimization package. Thelstsq
method uses least-squares fitting (linear inversion). Theauto
method will use ‘cvx’ if the CVXPY package is found on the system, otherwise it will default to ‘lstsq’.Objective function
This fitter solves the constrained least-squares minimization: \(minimize: ||a \cdot x - b ||_2\)
subject to:
\(x >> 0\)
\(\text{trace}(x) = 1\)
where:
a is the matrix of measurement operators \(a[i] = \text{vec}(M_i).H\)
b is the vector of expectation value data for each projector \(b[i] \sim \text{Tr}[M_i.H \cdot x] = (a \cdot x)[i]\)
x is the vectorized density matrix to be fitted
PSD constraint
The PSD keyword constrains the fitted matrix to be postive-semidefinite. For the
lstsq
fitter method the fitted matrix is rescaled using the method proposed in Reference [1]. For thecvx
fitter method the convex constraint makes the optimization problem a SDP. If PSD=False the fitted matrix will still be constrained to be Hermitian, but not PSD. In this case the optimization problem becomes a SOCP.Trace constraint
The trace keyword constrains the trace of the fitted matrix. If trace=None there will be no trace constraint on the fitted matrix. This constraint should not be used for process tomography and the trace preserving constraint should be used instead.
CVXPY Solvers:
Various solvers can be called in CVXPY using the solver keyword argument. See the CVXPY documentation for more information on solvers.
References:
- [1] J Smolin, JM Gambetta, G Smith, Phys. Rev. Lett. 108, 070502
(2012). Open access: arXiv:1106.5458 [quant-ph].
- Parameters
method (
str
) – The fitter method ‘auto’, ‘cvx’ or ‘lstsq’.standard_weights (
bool
) – (default: True) Apply weights to tomography data based on count probabilitybeta (
float
) – (default: 0.5) hedging parameter for converting counts to probabilities**kwargs – kwargs for fitter method.
- Raises
QiskitError – In case the fitting method is unrecognized.
- Return type
array
- Returns
The fitted matrix rho that minimizes \(||\text{basis_matrix} \cdot \text{vec}(\text{rho}) - \text{data}||_2\).