#C20.txt, April 7, 2025 Help20:=proc(): print(`Eq55(q,n,k,c,x), Eq56(q,n,k,c,x) , Eq57(q,n,k,c,x), Eq58(q,n,k,c,x), Eq59(q,n,k,c,x), Histogram56(q,k,n,x) `):end: read `C17.txt`: #Eq55(q,k,n,x): the value of Eq. (5.5) in Shor's paper Eq55:=proc(q,n,k,c,x) local a,su: su:=0: for a from 0 to q-1 do if x^a-x^k mod n=0 then su:=evalc(su+exp(2*Pi*I*a*c/q)): fi: od: evalf(abs(su/q)^2): end: #Eq56(q,k,n,c,x): the value of Eq. (5.5) in Shor's paper Eq56:=proc(q,n,k,c,x) local r,b: r:=Ord(x,n): if k>=r then RETURN(FAIL): fi: evalf(abs(add(exp(2*Pi*I*(b*r+k)*c/q),b=0..trunc((q-k-1)/r))/q)^2): end: #Eq56(q,k,n,c,x): the value of Eq. (5.6) in Shor's paper Eq56:=proc(q,n,k,c,x) local r,b: r:=Ord(x,n): if k>=r then RETURN(FAIL): fi: evalf(abs(add(exp(2*Pi*I*(b*r+k)*c/q),b=0..trunc((q-k-1)/r))/q)^2): end: #Eq57(q,k,n,c,x): the value of Eq. (5.7) in Shor's paper Eq57:=proc(q,n,k,c,x) local r,b: r:=Ord(x,n): if k>=r then RETURN(FAIL): fi: #evalf(abs(add(exp(2*Pi*I*(b*({r*c}_q)/q),b=0..trunc((q-k-1)/r))/q)^2): evalf(abs(add(exp(2*Pi*I*b*(mods(r*c,q))/q),b=0..trunc((q-k-1)/r))/q)^2): end: #Eq58(q,k,n,c,x): the value of Eq. (5.8) in Shor's paper (w/o the error term) Eq58:=proc(q,n,k,c,x) local r,b: r:=Ord(x,n): if k>=r then RETURN(FAIL): fi: evalf(abs(int(exp(2*Pi*I*b*(mods(r*c,q))/q),b=0..trunc((q-k-1)/r))/q)^2): end: #Eq59(q,k,n,c,x): the value of Eq. (5.9) in Shor's paper (w/o the error term) Eq59:=proc(q,n,k,c,x) local r,b,u: r:=Ord(x,n): if k>=r then RETURN(FAIL): fi: evalf(abs(int(exp(2*Pi*I*(mods(r*c,q))/r),u=0..r/q*trunc((q-k-1)/r))/q)^2): end: #Added after class #Histogram56(q,k,n,c): the plot of [c,Eq56(q,k,n,c,x)] for c from 1 to q-1 Histogram56:=proc(q,k,n,x) local c: plot([seq([c,Eq56(q,k,n,c,x)],c=1..q-1)]); end: