Return the Bures distance between mixed quantum states

    Note: Bures distance cannot be calculated within the tensor backend.

def bures_distance(rho0: Density, rho1: Density) -> float:
    """Return the Bures distance between mixed quantum states

    Note: Bures distance cannot be calculated within the tensor backend.
    """
    fid = fidelity(rho0, rho1)
    op0 = asarray(rho0.asoperator())
    op1 = asarray(rho1.asoperator())
    tr0 = np.trace(op0)
    tr1 = np.trace(op1)

    return np.sqrt(tr0 + tr1 - 2.*np.sqrt(fid))