A method for amplitude estimation of a quantum circuit, wherein the method is applied to a computer, a quantum virtual machine is built in the computer by using resources of the computer, a quantum program is running in the quantum virtual machine, the quantum program comprises a quantum circuit, wherein the method for amplitude estimation of a quantum circuit comprises:
- determining a target quantum state of a target quantum bit in a target quantum circuit, calculating a first difference value between a current angle upper limit value and a current angle lower limit value that are corresponding to a to-be-estimated amplitude of the target quantum state, and determining the first difference value as a target difference;
- determining, based on a preset intermediate variable parameter, the current angle upper limit value, and the current angle lower limit value, a next angle amplification factor and a next flag parameter that are corresponding to a next iteration step, when the target difference is greater than a preset precision threshold;
- controlling a preset amplification quantum circuit to amplify the target quantum circuit by the next angle amplification factor, and measuring a target quantum state of the target quantum bit in the amplified target quantum circuit based on a preset total quantity of observation times;
- calculating a second difference value between a next angle upper limit value and a next angle lower limit value of the to-be-estimated amplitude based on the current angle upper limit value, the current angle lower limit value, the next angle amplification factor, the next flag parameter, and a measurement result of the target quantum state, determining the second difference value as a target difference and repeating the process until the target difference is not greater than the precision threshold;
- and
- determining, based on an angle upper limit value and an angle lower limit value that reach the precision threshold, a probability estimated value corresponding to a to-be-estimated quantum bit.