def _evolve(self, state, qargs=None):
state = self._format_state(state, density_matrix=True)<EOL>if qargs is None:<EOL><INDENT>if state.shape[<NUM_LIT:0>] != self._input_dim:<EOL><INDENT>raise QiskitError(<EOL>"<STR_LIT>"<EOL>)<EOL><DEDENT>shape_in = self._input_dim * self._input_dim<EOL>shape_out = (self._output_dim, self._output_dim)<EOL>return np.reshape(<EOL>np.dot(self._data, np.reshape(state, shape_in, order='<STR_LIT:F>')),<EOL>shape_out,<EOL>order='<STR_LIT:F>')<EOL><DEDENT>return self._evolve_subsystem(state, qargs)<EOL>
Evolve a quantum state by the QuantumChannel.

        Args:
            state (QuantumState): The input statevector or density matrix.
            qargs (list): a list of QuantumState subsystem positions to apply
                           the operator on.

        Returns:
            DensityMatrix: the output quantum state as a density matrix.

        Raises:
            QiskitError: if the operator dimension does not match the
            specified QuantumState subsystem dimensions.