WavefunctionSimulator.wavefunction(quil_program, memory_map=None)[source]

Simulate a Quil program and return the wavefunction.


If your program contains measurements or noisy gates, this method may not do what you want. If the execution of quil_program is non-deterministic then the final wavefunction only represents a stochastically generated sample and the wavefunctions returned by different wavefunction calls will generally be different.

  • quil_program (Program) – A Quil program.
  • memory_map (Optional[Any]) –

    An assignment of classical registers to values, representing an initial state for the QAM’s classical memory.

    This is expected to be of type Dict[str, List[Union[int, float]]], where the keys are memory region names and the values are arrays of initialization data.

    For now, we also support input of type Dict[MemoryReference, Any], but this is deprecated and will be removed in a future release.

Return type:



A Wavefunction object representing the state of the QVM.