def __init__(
        self,
        qid_shape: tuple[int, ...],
        grouping: dict[int, int],
        M: list[qtn.Tensor],
        format_i: str,
        estimated_gate_error_list: list[float],
        simulation_options: MPSOptions = MPSOptions(),
    ):
        """Creates an MPSQuantumState

        Args:
            qid_shape: Dimensions of the qubits represented.
            grouping: How to group qubits together, if None all are individual.
            M: The tensor list for maintaining the MPS state.
            format_i: A string for formatting the group labels.
            estimated_gate_error_list: The error estimations.
            simulation_options: Numerical options for the simulation.
        """
        self._qid_shape = qid_shape
        self._grouping = grouping
        self._M = M
        self._format_i = format_i
        self._format_mu = 'mu_{}_{}'
        self._simulation_options = simulation_options
        self._estimated_gate_error_list = estimated_gate_error_list
Creates an MPSQuantumState

        Args:
            qid_shape: Dimensions of the qubits represented.
            grouping: How to group qubits together, if None all are individual.
            M: The tensor list for maintaining the MPS state.
            format_i: A string for formatting the group labels.
            estimated_gate_error_list: The error estimations.
            simulation_options: Numerical options for the simulation.
        
cirq-core/cirq/contrib/quimb/mps_simulator.py