The element-wise conjugate matrix

        This is defined only if all the entries in the matrix have a defined
        conjugate (i.e., they have a `conjugate` method). This is *not* the
        case for a matrix of operators. In such a case, only an
        :meth:`elementwise` :func:`adjoint` would be applicable, but this is
        mathematically different from a complex conjugate.

        Raises:
            NoConjugateMatrix: if any entries have no `conjugate` method

def conjugate(self):
        """The element-wise conjugate matrix

        This is defined only if all the entries in the matrix have a defined
        conjugate (i.e., they have a `conjugate` method). This is *not* the
        case for a matrix of operators. In such a case, only an
        :meth:`elementwise` :func:`adjoint` would be applicable, but this is
        mathematically different from a complex conjugate.

        Raises:
            NoConjugateMatrix: if any entries have no `conjugate` method
        """
        try:
            return Matrix(np_conjugate(self.matrix))
        except AttributeError:
            raise NoConjugateMatrix(
                "Matrix %s contains entries that have no defined "
                "conjugate" % str(self))