def __init__(
        self,
        *,
        dtype: type[np.complexfloating] = np.complex64,
        noise: cirq.NOISE_MODEL_LIKE = None,
        seed: cirq.RANDOM_STATE_OR_SEED_LIKE = None,
        split_untangled_states: bool = False,
    ):
        """Initializes the simulator.

        Args:
            dtype: The `numpy.dtype` used by the simulation.
            noise: A noise model to apply while simulating.
            seed: The random seed to use for this simulator.
            split_untangled_states: If True, optimizes simulation by running
                unentangled qubit sets independently and merging those states
                at the end.
        """
        self._dtype = dtype
        self._prng = value.parse_random_state(seed)
        self._noise = devices.NoiseModel.from_noise_model_like(noise)
        self._split_untangled_states = split_untangled_states
Initializes the simulator.

        Args:
            dtype: The `numpy.dtype` used by the simulation.
            noise: A noise model to apply while simulating.
            seed: The random seed to use for this simulator.
            split_untangled_states: If True, optimizes simulation by running
                unentangled qubit sets independently and merging those states
                at the end.
        
cirq-core/cirq/sim/simulator_base.py