code: def simulate_moment_steps(
          self,
          circuit: circuits.Circuit,
          param_resolver: 'study.ParamResolverOrSimilarType' = None,
          qubit_order: ops.QubitOrderOrList = ops.QubitOrder.DEFAULT,
          initial_state: Any = None
      ) -> Iterator:
          
          return self._simulator_iterator(
              circuit,
              study.ParamResolver(param_resolver),
              qubit_order,
              initial_state)
docs: Returns an iterator of StepResults for each moment simulated.
  
          If the circuit being simulated is empty, a single step result should
          be returned with the state being set to the initial state.
  
          Args:
              circuit: The Circuit to simulate.
              param_resolver: A ParamResolver for determining values of Symbols.
              qubit_order: Determines the canonical ordering of the qubits. This
                  is often used in specifying the initial state, i.e. the
                  ordering of the computational basis states.
              initial_state: The initial state for the simulation. The form of
                  this state depends on the simulation implementation. See
                  documentation of the implementing class for details.
  
          Returns:
              Iterator that steps through the simulation, simulating each
              moment and returning a StepResult for each moment.