Simulates the supplied Circuit or Schedule.

        This method returns a result which allows access to the entire
        wave function.

        Args:
            program: The circuit or schedule to simulate.
            param_resolver: Parameters to run with the program.
            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:
            SimulationTrialResults for the simulation. Includes the final state.

def simulate(
        self,
        program: Union[circuits.Circuit, schedules.Schedule],
        param_resolver: 'study.ParamResolverOrSimilarType' = None,
        qubit_order: ops.QubitOrderOrList = ops.QubitOrder.DEFAULT,
        initial_state: Any = None,
    ) -> 'SimulationTrialResult':
        """Simulates the supplied Circuit or Schedule.

        This method returns a result which allows access to the entire
        wave function.

        Args:
            program: The circuit or schedule to simulate.
            param_resolver: Parameters to run with the program.
            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:
            SimulationTrialResults for the simulation. Includes the final state.
        """
        return self.simulate_sweep(
            program,
            study.ParamResolver(param_resolver),
            qubit_order,
            initial_state)[0]