matrix_props.is_absolutely_k_incoherent

Checks if the matrix is absolutely $k$-incoherent.

Functions

is_absolutely_k_incoherent(mat, k[, tol])

Determine whether a quantum state is absolutely k-incoherent [1].

Module Contents

matrix_props.is_absolutely_k_incoherent.is_absolutely_k_incoherent(mat, k, tol=1e-15)

Determine whether a quantum state is absolutely k-incoherent [1].

Formally, for positive integers \(n\) and \(k\), a mixed quantum state is said to be absolutely k-incoherent if \(U \rho U^* \in \mathbb{I}_{k, n}\) for all unitary matrices \(U \in \text{U}(\mathbb{C}^n)\).

This function checks if the provided density matrix is absolutely k-incoherent based on the criteria introduced in [1] and the corresponding QETLAB functionality [2]. When necessary, an SDP is set up via cvxpy.

The notion of absolute k-incoherence is connected to the notion of quantum state antidistinguishability as discussed in [3].

Examples

import numpy as np
from toqito.matrix_props import is_absolutely_k_incoherent
mat = np.array([[2, 1, 2],
            [1, 2, -1],
            [2, -1, 5]])
is_absolutely_k_incoherent(mat, 4)
True

References

Parameters:
  • mat (numpy.ndarray) – Matrix to check for absolute k-incoherence.

  • k (int) – The positive integer indicating the absolute coherence level.

  • tol (float) – Tolerance for numerical comparisons (default is 1e-15).

Raises:

ValueError – If the input matrix is not square.

Returns:

True if the quantum state is absolutely k-incoherent, False otherwise.

Return type:

bool