首页
社区
课程
招聘
[转帖]SHOR量子算法的原理与程序模拟
发表于: 2011-11-20 15:52 5892

[转帖]SHOR量子算法的原理与程序模拟

2011-11-20 15:52
5892
在现存的模拟器中,选择了C++作为编程工具。为了降低
程序的复杂性,提高它的可读性,使用了模块化程序设计的思
想,把整个程序分成了几块,并大量地使用函数来优化程序机
构。程序的主要构成是几个块和一些函数,下面就一一介绍这
几个块和函数的基本功能和作用。
M1 既块它定义了一个复数类及其在复数域里面的
一些基本运算,如复数的+、一、*、/等,以及怎样给一个复数赋
值和怎样读出一个复数。以+为例,来看一下对复数的操作是
怎样进行的:
}f Oved~d’operator
C0mpl既C锄pl既::叩e豫llDr+(C0mpkx c){
Complex协1p;
doyle l'lf~r—
real,new
— in1a ;
new
— re =real+c.Real();
I跏
一imagir~'y=i玎1a舀磁町+c.h国 ();
map.Set(new—real,new一~ nm'y);
return map;
{
QLlbit块 它定义了一个量子位及其基本操作,主要是用一
个函数来表示量子位的态以及怎样读出一个量子位的态。
QuReg块它定义了量子寄存器的比特数和一些基本的赋
值和读出操作。
实际上,这些操作都是针对复数进行的,由于复数的运算并
不是很复杂,所以实现上面那些块的功能并不是非常困难的。
GetQ()函数我们必须建立一个足够大的量子寄存器来保
存0到q一1所有整数的叠加,在这里,q是2的幂,且n <=q
<2f2。
M~lexp()函数这个函数在输入为x,a和11时,返回x a
rl州11的值。
RegSize()函数这个输入整数a,将返回a在二进制状态下
的bit数。
Max()函数在两个输入的整数中,返回大的那一个。
GCD函数这个函数计算两个整数的最大公约数。由于一
个数模0是没有定义的,所以在这个函数中返回一1当作一个
错误信息来表示我们正在尝试着用某个数模0。
DFr()函数这个函数是对寄存器中的0一>q一1个入口进
行离散傅立叶变换。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 433
活跃值: (45)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
GAP4.0里有SHOR量子算法简单功能:

试了几个数N,根据定理,x只可选一半〈N的数,且GCD(N,x)=1
上传的附件:
2011-11-20 16:05
0
雪    币: 433
活跃值: (45)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
10255--------
上传的附件:
2011-11-20 16:09
0
雪    币: 433
活跃值: (45)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
GAP4。0传这,慢点,但文档很清楚
上传的附件:
2011-11-20 16:40
0
雪    币: 433
活跃值: (45)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
sage:

284^40 =1357480506719348681415846104104922531839793393933828474153874663790172001529528\
07029022907984510976

284^40 mod 1025==1

5598^876=1891538816827728130390690463111057602893363354156669879498183108602290438427190\
8861771314215722502938928543262006284809502647284411642142185517651138361525860\
5333746493421772894260226316889209515412378578938634727277621776180874697452580\
9966972508362117436875473953385609306113163217724533966350720942980605644932880\
1227955624204947619590769600696932257175511111808786140835647837413100637084978\
3293453221102847867997564788713338235966498851687625360437234573510680277940642\
4295558457999410994915611889405048804793410226249387289981088766409844209884166\
9221698979761325836240457858619810543350612508466542214970243680867970473497628\
5622604046431979523295946556237085707492378470349724195630117907462489254615096\
7413774497088743538695897821618016506992592872676203900630774942429071290986695\
8327454149697619316385295268338682053428405173920785964977957186570957952311296\
2526555472920889927472657979352528032053015053279374524337520426416935653772207\
0169704846821825390438949171561237924069181651044657055419082887122260777460485\
8151150162292747982975044345797252391519416296433107080754889038055529605984999\
2732192071278895303023606183857530394635334095463532721452873587663391645750944\
5086509272650258850864949065225209936786586239704374723118163224039988551174420\
1099423050901148925712858643486732332364691406818369579158751206853549307194936\
0732890284570622006276606743637543491341137903159419303947841031298714380878339\
3471948802715650460319308647286365135114647105969314094355249821376351284389488\
6809407839258914975153006939419764556714942325463679828858082524964598778677504\
3202931220790399002114113303089017498601032853246351632386487982588124197135513\
4503529206394380568189901681969389569964028112071228196796661096919005354016447\
3695834320111990042305152119508029183396650390793473717420178018481790039136499\
4274394888120351133558875288916544191960607605403025380162812729633861614303836\
2623389411379291181170822324727547612783573768183770974828893094758253965676772\
6633824335046393836638955844031906800173429187734723425251154702615519134969499\
3961431156397140656697953914407331787936348692213271856395869901057338850700422\
1532082204877915355555421787701797609992922206974838622557338993859217781811793\
5810199819703904957184013064578761364859950937791161390834030412434871245674775\
5156663395423113476201897009506473417618911278304722490027000567791217801437626\
6846553392484561665259770201139990320837611133718875052108385118372762776523639\
6124425119652386899626596423541090645607692075253651619493830923814238674423967\
7054893802611848728644835888165018438056344665668069969142028280557479844050061\
7039580836304507687967332409360966408339608885772844074733910840894146714265377\
3708221869851611850945638656122576615077415228848282925267177134611656742816501\
3054865707508976014730466867866190841629561552210534653097958544483147733950139\
1622707862627924881175016534575912965425187944261332460106584332844404041350197\
0551977844539177826420030822892834602584520772717944908413859837794980863738507\
9152640793068052327995918892064757033621300145498528492944864077683311006594707\
7353098676654357408334169064014823105599643639110754060351418630670757742050235\
6822519824884928416030969903669876183047727456071298263187679922757805346654598\
347061807039576934908550018254758692924686336
5598^876 mod 10255==1
2011-11-22 15:49
0
游客
登录 | 注册 方可回帖
返回
//