def qreport(self, header="State", state=None, visualize=False):
# This is only a simulator function for debugging. it CANNOT be done on a real Quantum Computer.
if state == None:
state = self.sys_state
print
print header
for i in range(len(state)):
if self.disp_zeros or np.absolute(state[i]) > self.maxerr:
barlen = 20
barstr = ""
if self.visualize or visualize:
barstr = " x"
amp = np.absolute(state[i].item(0))*barlen
intamp = int(amp)
if amp > self.maxerr:
barstr = " |"
for b in range(barlen):
if b <= intamp:
barstr = barstr+"*"
else:
barstr = barstr + "."
ststr = ("{:0"+str(self.nqbits)+"b} ").format(i)
ampstr = "{:.8f}".format(np.around(state[i].item(0),8))
print ststr + ampstr + barstr
评论列表
文章目录