JP4260751B2 - ユニタリ行列分解装置、ユニタリ行列分解方法、ユニタリ行列分解プログラム及び記録媒体 - Google Patents
ユニタリ行列分解装置、ユニタリ行列分解方法、ユニタリ行列分解プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP4260751B2 JP4260751B2 JP2005004418A JP2005004418A JP4260751B2 JP 4260751 B2 JP4260751 B2 JP 4260751B2 JP 2005004418 A JP2005004418 A JP 2005004418A JP 2005004418 A JP2005004418 A JP 2005004418A JP 4260751 B2 JP4260751 B2 JP 4260751B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- unitary
- complex conjugate
- block diagonal
- eigenvector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
Description
<カルタン(Cartan)分解を用いた行列の分解手法(非特許文献1参照)>
この手法では、リー群に属する2j×2jの特殊ユニタリ行列G∈SU(2j)を入力として、KhanejaとGlaserによるカルタン分解を用いたユニタリ群の分解の枠組み(非特許文献2)に従ってユニタリ行列を分解する。すなわち、入力行列からG=exp(g)を満たすリー代数g∈su(2j)を計算し、それからカルタン分解によってgをkとmという2つの行列に分解し(g=k+m)、さらにkとmの行列の指数関数K=exp(k),M=exp(m)を計算することによりG=K・Mへ分解する。そして、これを再帰的に繰り返すことによりサイズ(行数及び列数)の小さなユニタリ行列の積まで分解する。なお、分解された行列が入力行列Gよりもサイズの小さなユニタリ行列となるためには、KとMが所定の条件を満たさなければならない。この手法ではリー代数におけるカルタン分解を用いることにより、この条件を満たしたKとMへの分解を可能としている。
Cosine-Sine分解は、行列の特異値分解の一種である(非特許文献3)。これを応用して、ユニタリ行列を次元の小さな行列の積に分解する技術が提案されている(非特許文献4,5)。
8×8の行列Gを例としてこのCosine-Sine分解を行った場合、この行列Gは、図13のようなパターンの行列の積へと分解される。なお、この図において、白い正方形は入力行列に関係なく必ず0となる成分を表し、色付きの正方形は入力の行列に依存して何らかの値となる成分を表している。
村上裕美,河野泰人,関川浩,Cartan分解を用いた量子回路の生成,第10回量子情報技術研究会(QIT10),予稿集 pp.123-126, 2004. N. Khaneja and S. Glaser, Cartan decomposition of SU(2n), constructive controllability of spin systems and universal quantum computing, Chemical Physics, Vol. 267 (Issues 1-3), pp.11-23, 2001. C. Paige and M. Wei, History and generality of the CS decomposition, Linear Algebra and its Applications, pp.303-326, 1994. M. Mottonen, J. Vartiainen, Ville Bergholm, and M. Salomaa, Quantum circuits for general multi-qubit gates, quant-ph/0404089. R. Tucci,"A Rudimentary Quantum Compiler," [online],1998年5月7日,[2004年12月28日検索],インターネット<http://jp.arxiv.org/abs/quant-ph/9805015>
またこの手法の場合、分解過程においてG=K・Mの分解が成り立つためには、kとmが可換(k・m=m・k)であるという条件が満たされなければならない。しかし一般のユニタリ行列においてこの性質は成り立たない。そのため、任意のユニタリ行列の分解にこの手法を適用することはできない。
また、NMR(Nuclear Magnetic Resonance)量子計算機への実装を前提とした場合、その量子計算機の構成上の利点を十分に得ることができ、結果として量子計算機を高速動作させることができる構成(Khaneja−Glaser分解の定義に合う形)が存在する(M.Nakahara, Y. Kondo, K. Hata, and S. Tanimura, "Demonstrating quantum algorithm acceleration with NMR quantum computer," インターネット<http://jp.arxiv.org/abs/quant-ph/0405050>参照)。しかし、Cosine-Sine分解による分解結果をこのようなNMR量子計算機の実装に適した構成に置き換えるのは容易なことではない。
また、本発明の他の目的は、分解結果をNMR量子計算機の実装に適した構成に容易に置き換え可能なユニタリ行列分解装置、ユニタリ行列分解方法、その機能をコンピュータに実行させるためのユニタリ行列分解プログラム及び記録媒体を提供することである。
またさらに、上記の処理によって生成されたブロック対角行列Yは、2×2の行列が対角上に配列された行列である。このような行列は、変換行列Wとその複素共役転置行列W*とを用いることにより、容易にNMR量子計算機への実装に適した構成に変換できる(後述)。
また、本発明は、KとMが可換でない行列Gにも適用できるため、任意のユニタリ行列の分解に適用することができる。
さらに、本発明では、ブロック対角行列Yを含む形で行列Gを分解することとしたため、分解結果の一部を容易にNMR量子計算機の実装に適した構成に置き換えることができる。
〔第1の実施形態〕
<使用する記号の定義>
まず、本形態で使用する記号を以下のように定義する。
i:虚数単位
A*:行列Aの複素共役転置行列
Is:s×sの単位行列
0s:s×sの全成分が0の行列
diag(a,b,c,d):対角成分がa,b,c,dの順に並んだ対角行列
∈:左辺が右辺の集合の元
‖・‖:・のノルム
図1は、本形態におけるユニタリ行列分解装置100の構成を例示したブロック図である。
図1に例示するように、この例のユニタリ行列分解装置100は、CPU(Central Processing Unit)110、入力部120、出力部130、補助記憶装置140、RAM(Random Access Memory)150、ROM(Read Only Memory)160及びバス170を有している。
図2は、図1のユニタリ行列分解プログラム領域141,151に格納されるユニタリ行列分解プログラム200の構成を例示した概念図である。
図2に例示するように、この例のユニタリ行列分解プログラム200は、G=K・M(ユニタリな行列K∈κ及び行列M∈μの積),X=M2を満たす行列Xを生成するための行列生成プログラム210と、行列Xをブロック対角化する行列Pを生成するための対角化行列生成プログラム220と、行列Pの複素共役転置行列P*を生成するための第1の複素共役転置行列生成プログラム231と、B=P*・X・Pの演算によってブロック対角行列Bを生成するための第1の行列積演算プログラム232と、ブロック対角行列Bを行列Mのブロック対角行列Y(=P*・M・P)に変換するための第1のブロック対角行列変換プログラム233と、M=P・Y・P*の演算によって行列Mを生成するための第2の行列積演算プログラム234と、行列Mの複素共役転置行列M*を生成するための第2の複素共役転置行列生成プログラム235と、K=G・M*の演算によって行列Kを生成するための第3の行列積演算プログラム236と、変換行列WについてY’=W・Y・W*の演算を行うための第2のブロック対角行列変換プログラム237と、K’=K・PやP*をそれらよりもサイズの小さな行列に分解するための行列分解プログラム238と、ユニタリ行列分解処理を制御するための制御プログラム239とを有している。
また、この例の対角化行列生成プログラム220は、行列Xの固有値と固有ベクトルとを算出するための固有値・固有ベクトル算出プログラム221と、対応する固有値が正の虚数である固有ベクトルuk(kは自然数)に対し、固有ベクトルuk+σjz・ukを行列Pの奇数列目の要素として生成し、固有ベクトルuk−σjz・ukを行列Pの偶数列目の要素として生成するための第1の要素生成プログラム222と、対応する固有値が実数である固有ベクトルvt(tは自然数)がσjz・vt=vt或いはσjz・vt=−vtを満たすか否かを判断し、σjz・vt=vtを満たす固有ベクトルvtを行列Pの奇数列目の要素として出力し、σjz・vt=−vtを満たす固有ベクトルvtを行列Pの偶数列目の要素として出力し、どちらにも属さない場合は、(vt+σjz・vt)/‖vt+σjz・vt‖(‖・‖はノルムを示す)で正規化したベクトルのうち、σjz・vt’=vt’(t’≠t)を満たす固有ベクトルvt’と線形独立なものを上記行列Pの奇数列目の要素として出力し、(vt−σjz・vt)/‖vt−σjz・vt‖で正規化したベクトルのうち、σjz・vt’=−vt’を満たす固有ベクトルvt’と線形独立なものを上記行列Pの奇数列目の要素として出力するための第2の要素生成プログラム223と、固有ベクトルuk+σjz・ukとσjz・vt=vtを満たす固有ベクトルvtとを奇数列目の要素とし、固有ベクトルuk−σjz・ukとσjz・vt=−vtを満たす固有ベクトルvtとを偶数列目の要素として行列Pを生成するための行列構成プログラム224とを有している。
<ハードウェアとソフトウェアとの協働>
CPU110は、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置140のユニタリ行列分解プログラム領域141に格納されているユニタリ行列分解プログラム200を、RAM150のユニタリ行列分解プログラム領域151に書き込む。同様にCPU110は、補助記憶装置140のデータ領域142に格納されている分解対象のユニタリ行列等のデータを、RAM150のデータ領域152に書き込む。そして、このユニタリ行列分解プログラム200やデータが書き込まれたRAM150上のアドレスがCPU110のレジスタ113に格納される。CPU110の制御部111は、レジスタ113に格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM150上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部112に順次実行させ、その演算結果をレジスタ113に格納していく。
ここでメモリ300は、レジスタ113、RAM150のデータ領域152、補助記憶装置140のデータ領域142等に相当する。また、行列生成部400、対角化行列生成部410、第1の複素共役転置行列生成部420、第1の行列積演算部430、第1のブロック対角行列変換部440、第2の行列積演算部450、第2の複素共役転置行列生成部460、第3の行列積演算部470、第2のブロック対角行列変換部480、行列分解部490及び制御部495は、それぞれ、行列生成プログラム210、対角化行列生成プログラム220、第1の複素共役転置行列生成プログラム231、第1の行列積演算プログラム232、第1のブロック対角行列変換プログラム233、第2の行列積演算プログラム234、第2の複素共役転置行列生成プログラム235、第3の行列積演算プログラム236、第2のブロック対角行列変換プログラム237、行列分解プログラム238及び制御プログラム239が、それぞれCPU110に読み込まれることにより構成されるものである。さらに、第3の複素共役転置行列生成部401、第4の行列積演算部402、固有値・固有ベクトル算出部411、第1の要素生成部412、第2の要素生成部413及び行列構成部414は、第3の複素共役転置行列生成プログラム211、第4の行列積演算プログラム212、固有値・固有ベクトル算出プログラム221、第1の要素生成プログラム222、第2の要素生成プログラム223及び行列構成プログラム224が、それぞれCPU110に読み込まれることにより構成されるものである。
次に本形態におけるユニタリ行列分解装置100の処理について説明する。
図4は本形態におけるユニタリ行列分解装置100の処理の全体を説明するためのフローチャートである。まずこの処理の全体について説明する。なお、以下の各処理は、制御部495の制御のもと実行される。
まず前処理として、分解対象のユニタリ行列をリストLGの要素としてメモリ300に格納しておく(ステップS11)。次に、行列生成部400(図3)が、リストLGの先頭に一番近い4次元以上の行列を分解対象のユニタリな行列Gとしてメモリ300から読み出す(ステップS12)。なお、行列Gのサイズは2j×2jであるものとする。その後、この行列Gを以下に述べる処理によってY’及びG1〜G4の行列に分解し、これらをそれぞれリストLY及びLGの要素としてメモリに格納する(ステップS13)。
図5は図4におけるステップS13の詳細を説明するためのフローチャートである。以下、この図に沿って図4のステップS13の詳細を説明していく。
ステップS12でメモリ300から読み出されたユニタリな行列Gは行列生成部400に入力される。行列生成部400は、G=K・M(ユニタリな行列K∈κ及び行列M∈μの積),X=M2を満たす行列Xを生成し、この行列Xをメモリ300に出力して格納する(ステップS21)。この例の場合、まず、第3の複素共役転置行列生成部401に行列Gが入力される。そして、この第3の複素共役転置行列生成部401がその複素共役転置行列G*を生成し、この複素共役転置行列G*をメモリ300に出力して格納する。次に、第4の行列積演算部402がメモリ300から行列Gと複素共役転置行列G*とを読み出す。読み出された行列Gと複素共役転置行列G*とは第4の行列積演算部402に入力され、第4の行列積演算部402は
X=σjz・G*・σjz・G ・・・(2)
の演算によって行列Xを生成し、この行列Xをメモリ300に出力して格納する。
X=σjz・G*・σjz・G
=θ(G*) ・G((1)の関係より)
=θ(M*・K*) ・K・M
=θ(M*)・θ(K*) ・K・M
=M・K*・K・M((1)の関係より)
=M2(Kがユニタリ行列でありK*・Kが単位行列となるため)
ステップS21の処理が終了すると、次に対角化行列生成部410が、メモリ300から行列Xを読み出す。この行列Xは対角化行列生成部410に入力され、対角化行列生成部410は、この行列Xをブロック対角化する行列Pを生成し、生成した行列Pをメモリ300に出力して格納する(ステップS22)。
図6は図5におけるステップS22の詳細をそれぞれ説明するためのフローチャートである。また、図7は図6におけるステップS42の詳細を、図8は図6におけるステップS43の詳細をそれぞれ説明するためのフローチャートである。
まず、固有値・固有ベクトル算出部411に行列Xが入力され、その固有値と固有ベクトルとを算出し、
リストE1=[[虚の固有値,対応する固有ベクトル],・・・]
リストE2=[[実の固有値,対応する固有ベクトル],・・・]
となるリストE1,E2をメモリ300に出力して格納する(ステップS41)。なお、虚の固有値の数をimとし、実の固有値の数をreとする。
E3[2ck‐1]=uk+σjz・uk
E3[2ck]=uk‐σjz・uk
を計算し、これらをリストE3の要素としてメモリ300に格納する(ステップS54)。その後、この例の第1の要素生成部412は、メモリ300のリストE1に、まだ調べていない正の固有値が存在するか否かを判断し、存在すればステップS52以降の処理に戻り、存在しなければステップS42(図6)の処理を終了する。なお、この例の処理の場合、E3は複素共役な固有値のペアに対応する固有ベクトルのペアを[u1+σjz・u1,u1‐σjz・u1][u2+σjz・u2,u2‐σjz・u2]・・・と配列したリストとなる。
ステップS43の処理が終了すると、行列構成部414は、メモリ300からリストE3,E4を読み出し、リストE3,E4に含まれる固有ベクトルを先頭から順に取り出してそれらを列とした行列P=(V1,V2,…,Vim,W1,W2,…,Wre)を生成し(V1,V2,…,VimはリストE3の要素。W1,W2,…,WreはリストE4の要素。)、メモリ300に格納する(ステップS44)。これは、固有ベクトルuk+σjz・ukとσjz・vt=vtを満たす固有ベクトルvtとを奇数列目の要素とし、固有ベクトルuk−σjz・ukとσjz・vt=−vtを満たす固有ベクトルvtとを偶数列目の要素として行列Pを生成することに相当する([ステップS22の詳細]の説明終了)。
次に、第1の行列積演算部430が、メモリ300から行列X、行列P及び複素共役転置行列P*を読み出す。これらは第1の行列積演算部430に入力され、第1の行列積演算部430は、B=P*・X・Pの演算によってブロック対角行列Bを生成し、このブロック対角行列Bをメモリ300に出力して格納する(ステップS24)。
また、1つのブロック対角行列Bからブロック対角行列Yへの変換に、複数種類の正方行列C,Dの組を用いることとしてもよい。例えば、式(3)のCから式(4)のDへの置き換えと式(3)のCから式(5)のDへの置き換えとを混合して、1つのブロック対角行列Bからブロック対角行列Yへの変換を行うこととしてもよい。
しかし、一般的には正方行列C,Dは2×2の行列であることが望ましい。すなわち、図6のステップS41で生成される虚の固有値は必ず複素共役のペアとなり、行列Pの虚の固有値に対応する要素数(im)は2の倍数となるが、これが2γ(γは2以上の自然数)の倍数となるとは限らない。よって、行列Pによってブロック対角化されるブロック対角行列Bの虚の固有値に対応する要素数も2の倍数となるが、これが2γの倍数となるとは限らない。これは、実の固有値に対応する要素数も2の倍数となるが、これが2γの倍数となるとは限らないことを意味している。そのため、2γ×2γの正方行列C,Dでブロック対角行列Bを置き換えると、虚の固有値に対応する要素及び実の固有値に対応する要素に置き換え残りが生じる場合がある。この場合、この置き換え残り部分を置き換える別のサイズの正方行列C,Dが必要となり処理が煩雑となる。よって、ブロック対角行列Bの虚の固有値に対応する要素数及び実の固有値に対応する要素数が明確でない場合には、正方行列C,Dは2×2の行列であることが望ましい。
次に、第2の複素共役転置行列生成部460が、メモリ300から行列Mを読み出す。この行列Mが入力された第2の複素共役転置行列生成部460は、この行列Mの複素共役転置行列M*を生成し、この複素共役転置行列M*をメモリ300に出力して格納する(ステップS27)。
次に、第2のブロック対角行列変換部480が、メモリからブロック対角行列Yを読み出す。このブロック対角行列Yは第2のブロック対角行列変換部480に入力され、第2のブロック対角行列変換部480は、
Y’=W・Y・W* ・・・(7)
ステップS13の処理が終了すると(図4に戻る)、制御部495が、メモリ300に格納されたリストLGを検索し、まだ調べていない行列がリストLGに含まれるか否かを判断する(ステップS14)。ここで、リストLGにまだ調べていない行列が含まれると判断された場合、制御部495は処理をステップS12に戻す。一方、リストLGに調べていない行列が存在しないと判断された場合、制御部495は処理を終了する。これにより、上述の行列G1,G2,G3,G4を行列Gとした処理が再帰的に繰り返され、最終的に2次元の基本ゲートを示す行列に分解される。
次に、3量子ビットの量子フーリエ変換を示すユニタリ行列を分解する場合の実施例を説明する。
リストLGの8×8の行列Gを分割対象とする(ステップ12)。ここで、行列Gは3量子ビットの量子フーリエ変換を示すユニタリ行列であるから、Gの(h,k)成分をG[h,k]と書くと
となる。
B=diag(−1, −1, −1, −1,1, 1, 1, 1,)
となる。
次に、K’=K・Pを計算すると、
K’=G1’・G2’
その後、G1〜G4をGとしてステップS12以降の処理を行う。
次に本発明における第2の実施形態について説明する。
本形態は第1の実施形態の変形例であり、第1の実施の形態でブロック対角行列Yを行列Y’に変換した代わりに、ブロック対角行列Yをそのまま基本ゲートを示す行列に分解する点のみが第1の実施の形態と相違する。以下では、第1の実施形態との相違点を中心に説明し、第1の実施の形態と共通する事項については説明を省略する。
第1の実施の形態と同様である。
<ソフトウェア構成>
図10は、本形態のユニタリ行列分解プログラム600の構成を例示した概念図である。本形態のユニタリ行列分解プログラム600と第1の実施形態のユニタリ行列分解プログラム200との相違点は、ユニタリ行列分解プログラム600が、第2のブロック対角行列変換プログラム237(図2)の代わりにブロック対角行列分解プログラム637を有する点である。
図11は、CPUにユニタリ行列分解プログラム600が読み込まれることにより実現される機能構成を例示したブロック図である。第1の実施の形態との相違点は、第2のブロック対角行列変換部(図3)の代わりにブロック対角行列分解部680が構成される点である。
<処理>
第1の実施の形態との相違点は図5のステップS29の処理のみである。すなわち、本形態では、ステップS29の処理の代わりにブロック対角行列Yをそのまま2×2の基本ゲートを示す行列に分解する。
この図に示すように、行列GはK’=K・Pとブロック対角行列Yと複素共役転置行列P*に分解され(図12(a))、ブロック対角行列Yが図12(b)(c)に示すように2×2の行列U1〜U4に分解される。なお、この分解の一般化については、例えば「上坂吉則著、コロナ社出版、”量子コンピュータの基礎数理”、ISBN4−339−02376−0」等参照。
なお、本発明は上述の各実施形態に限定されるものではなく、その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、上述した実施形態とは別の実行形態として、コンピュータが可搬型記録媒体から直接このプログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
200,600 ユニタリ行列分解プログラム
Claims (9)
- ユニタリ行列を分解するユニタリ行列分解装置であって、
ユニタリな行列Gが入力され、G=K・M(ユニタリな行列K∈κ及び行列M∈μの積),X=M2を満たす行列Xを生成し、当該行列Xを出力する行列生成手段と、
上記行列Xが入力され、当該行列Xをブロック対角化する行列Pを生成し、当該行列Pを出力する対角化行列生成手段と、
上記行列Pが入力され、当該行列Pの複素共役転置行列P*を生成し、当該複素共役転置行列P*を出力する第1の複素共役転置行列生成手段と、
上記行列Xと上記行列Pと上記複素共役転置行列P*とが入力され、B=P*・X・Pの演算によってブロック対角行列Bを生成し、当該ブロック対角行列Bを出力する第1の行列積演算手段と、
上記ブロック対角行列Bが入力され、当該ブロック対角行列Bの対角部分に並んだ正方行列Cを、C=D 2 を満たす正方行列Dに置き換えることにより、当該ブロック対角行列Bを、上記行列Mのブロック対角行列Y(=P*・M・P)に変換し、当該ブロック対角行列Yを出力する第1のブロック対角行列変換手段と、
上記ブロック対角行列Yと上記行列Pと上記複素共役転置行列P*とが入力され、M=P・Y・P*の演算によって行列Mを生成し、当該行列Mを出力する第2の行列積演算手段と、
上記行列Mが入力され、当該行列Mの複素共役転置行列M*を生成し、当該複素共役転置行列M*を出力する第2の複素共役転置行列生成手段と、
上記行列Gと上記複素共役転置行列M*とが入力され、K=G・M*の演算によって行列Kを生成し、当該行列Kを出力する第3の行列積演算手段と、
を有することを特徴とするユニタリ行列分解装置。 - 請求項1記載のユニタリ行列分解装置であって、
上記ブロック対角行列Yが入力され、制御NOT演算を表す行列をUCNOTとし、ウォルシューアダマール変換を表す行列をHとし、r×rの単位行列をIrとし、上記ブロック対角行列Yを2j×2j行列とし、
とし、W*を行列Wの複素共役転置行列とした場合における、Y’=W・Y・W*の演算を行い、当該行列Y’を出力する第2のブロック対角行列変換手段を、
さらに有することを特徴とするユニタリ行列分解装置。 - 請求項1記載のユニタリ行列分解装置であって、
上記行列生成手段が、
上記行列Gが入力され、その複素共役転置行列G*を生成し、当該複素共役転置行列G*を出力する第3の複素共役転置行列生成手段と、
上記行列Gと上記複素共役転置行列G*とが入力され、
とした場合における
X=σjz・G*・σjz・G
の演算によって上記行列Xを生成し、当該行列Xを出力する第4の行列積演算手段と、
を有する手段である、
ことを特徴とするユニタリ行列分解装置。 - 請求項1記載のユニタリ行列分解装置であって、
上記対角化行列生成手段が、
上記行列Xが入力され、その固有値と固有ベクトルとを算出し、当該固有値と固有ベクトルとを出力する固有値・固有ベクトル算出手段と、
上記固有値・固有ベクトル算出手段において算出された固有ベクトルのうち、対応する固有値が正の虚数である固有ベクトルuk(kは自然数)に対し、
とした場合における、固有ベクトルuk+σjz・ukを上記行列Pの奇数列目の要素として生成し、固有ベクトルuk−σjz・ukを上記行列Pの偶数列目の要素として生成し、当該固有ベクトルuk+σjz・uk及びuk−σjz・ukを出力する第1の要素生成手段と、
上記固有値・固有ベクトル算出手段において算出された固有ベクトルのうち、対応する固有値が実数である固有ベクトルvt(tは自然数)に対し、当該固有ベクトルvtがσjz・vt=vt或いはσjz・vt=−vtを満たすか否かを判断し、σjz・vt=vtを満たす固有ベクトルvtを上記行列Pの奇数列目の要素として出力し、σjz・vt=−vtを満たす固有ベクトルvtを上記行列Pの偶数列目の要素として出力し、どちらにも属さない場合は、(vt+σjz・vt)/‖vt+σjz・vt‖(‖・‖はノルムを示す)で正規化したベクトルのうち、σjz・vt’=vt’(t’≠t)を満たす固有ベクトルvt’と線形独立なものを上記行列Pの奇数列目の要素として出力し、(vt−σjz・vt)/‖vt−σjz・vt‖で正規化したベクトルのうち、σjz・vt’=−vt’を満たす固有ベクトルvt’と線形独立なものを上記行列Pの奇数列目の要素として出力する第2の要素生成手段と、
上記固有ベクトルuk±σjz・uk及びvtが入力され、上記固有ベクトルuk+σjz・ukとσjz・vt=vtを満たす固有ベクトルvtとを奇数列目の要素とし、上記固有ベクトルuk−σjz・ukとσjz・vt=−vtを満たす固有ベクトルvtとを偶数列目の要素として上記行列Pを生成し、当該行列Pを出力する行列構成手段と、
を有する手段である、
ことを特徴とするユニタリ行列分解装置。 - 請求項4記載のユニタリ行列分解装置であって、
上記行列構成手段が、
上記固有ベクトルuk+σjz・ukを2αk−1列目の要素とし(αkは自然数)、上記固有ベクトルuk−σjz・ukを2αk列目の要素として上記行列Pを生成する手段である、
ことを特徴とするユニタリ行列分解装置。 - 請求項5記載のユニタリ行列分解装置であって、
上記正方行列C及びDが2×2の行列である、
ことを特徴とするユニタリ行列分解装置。 - コンピュータを、行列生成手段と、対角化行列生成手段と、第1の複素共役転置行列生成手段と、第1の行列積演算手段と、第1のブロック対角行列変換手段と、第2の行列積演算手段と、第2の複素共役転置行列生成手段と、第3の行列積演算手段と、を有するユニタリ行列分解装置として機能させて実行するユニタリ行列分解方法であって、
行列生成手段が、入力されたユニタリな行列Gに対し、G=K・M(ユニタリな行列K∈κ及び行列M∈μの積),X=M2を満たす行列Xを生成し、当該行列Xを出力する手順と、
対角化行列生成手段が、前記行列生成手段が出力した上記行列Xをブロック対角化する行列Pを生成し、当該行列Pを出力する手順と、
第1の複素共役転置行列生成手段が、前記対角化行列生成手段が出力した上記行列Pの複素共役転置行列P*を生成し、当該複素共役転置行列P*を出力する手順と、
第1の行列積演算手段が、前記行列生成手段が出力した上記行列Xと、前記対角化行列生成手段が出力した上記行列Pと、前記第1の複素共役転置行列生成手段が出力した上記複素共役転置行列P*とを用い、B=P*・X・Pの演算によってブロック対角行列Bを生成し、当該ブロック対角行列Bを出力する手順と、
第1のブロック対角行列変換手段が、前記第1の行列積演算手段が出力した上記ブロック対角行列Bの対角部分に並んだ正方行列Cを、C=D 2 を満たす正方行列Dに置き換えることにより、当該ブロック対角行列Bを、上記行列Mのブロック対角行列Y(=P*・M・P)に変換し、当該ブロック対角行列Yを出力する手順と、
第2の行列積演算手段が、前記第1のブロック対角行列変換手段が出力した上記ブロック対角行列Yと、前記対角化行列生成手段が出力した上記行列Pと、前記第1の複素共役転置行列生成手段が出力した上記複素共役転置行列P*に対し、M=P・Y・P*の演算を行って行列Mを生成し、当該行列Mを出力する手順と、
第2の複素共役転置行列生成手段が、前記第2の行列積演算手段が出力した上記行列Mの複素共役転置行列M*を生成し、当該複素共役転置行列M*を出力する手順と、
第3の行列積演算手段が、入力された上記行列Gと、前記第2の複素共役転置行列生成手段が出力した上記複素共役転置行列M*とに対し、K=G・M*の演算を行って行列Kを生成し、当該行列Kを出力する手順と、
を有することを特徴とするユニタリ行列分解方法。 - 請求項1から6の何れかに記載のユニタリ行列分解装置としてコンピュータを機能させるためのユニタリ行列分解プログラム。
- 請求項8記載のユニタリ行列分解プログラムを格納したコンピュータ読取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005004418A JP4260751B2 (ja) | 2005-01-11 | 2005-01-11 | ユニタリ行列分解装置、ユニタリ行列分解方法、ユニタリ行列分解プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005004418A JP4260751B2 (ja) | 2005-01-11 | 2005-01-11 | ユニタリ行列分解装置、ユニタリ行列分解方法、ユニタリ行列分解プログラム及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006195587A JP2006195587A (ja) | 2006-07-27 |
JP4260751B2 true JP4260751B2 (ja) | 2009-04-30 |
Family
ID=36801645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005004418A Expired - Fee Related JP4260751B2 (ja) | 2005-01-11 | 2005-01-11 | ユニタリ行列分解装置、ユニタリ行列分解方法、ユニタリ行列分解プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4260751B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4758965B2 (ja) * | 2007-08-27 | 2011-08-31 | 日本電信電話株式会社 | ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体 |
JP5118461B2 (ja) * | 2007-12-11 | 2013-01-16 | 日本電信電話株式会社 | 量子演算装置、逆2次位相変換演算装置、それらの方法、プログラム及び記録媒体 |
JP5325072B2 (ja) * | 2009-10-22 | 2013-10-23 | 日本電信電話株式会社 | 行列分解装置、行列分解方法及びプログラム |
US8671369B2 (en) | 2009-12-08 | 2014-03-11 | University Of Seoul Industry Cooperation Foundation | Quantum Karnaugh map |
CN112100573B (zh) * | 2020-09-22 | 2024-07-05 | 中国科学院国家空间科学中心 | 一种极化su(2)群到su(3)群的转换方法及*** |
JPWO2023021666A1 (ja) * | 2021-08-19 | 2023-02-23 | ||
WO2023148827A1 (ja) * | 2022-02-01 | 2023-08-10 | 日本電信電話株式会社 | 量子コンパイル装置、量子コンパイル方法、およびプログラム |
-
2005
- 2005-01-11 JP JP2005004418A patent/JP4260751B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006195587A (ja) | 2006-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4260751B2 (ja) | ユニタリ行列分解装置、ユニタリ行列分解方法、ユニタリ行列分解プログラム及び記録媒体 | |
Schindler et al. | Quantum simulation of dynamical maps with trapped ions | |
Kökcü et al. | Fixed depth Hamiltonian simulation via Cartan decomposition | |
Wuensche et al. | Global dynamics of cellular automata: an atlas of basin of attraction fields of one-dimensional cellular automata | |
Gilmore | Lie groups, Lie algebras, and some of their applications | |
KR102100368B1 (ko) | 양자 데이터베이스를 위한 효과적 양자 메모리 구조 | |
Yuan et al. | The dual-threshold quantum image segmentation algorithm and its simulation | |
Shirai et al. | Quantum tangent kernel | |
CN114091363A (zh) | 基于量子算法的计算流体动力学模拟方法、装置及设备 | |
JP7251645B2 (ja) | 求解システム、求解方法および求解プログラム | |
Melnik | Mathematical and computational modeling: With applications in natural and social sciences, engineering, and the arts | |
Cassel | Matrix, numerical, and optimization methods in science and engineering | |
Saha et al. | Deep Learning Discrete Calculus (DLDC): a family of discrete numerical methods by universal approximation for STEM education to frontier research | |
Chen et al. | Antn: Bridging autoregressive neural networks and tensor networks for quantum many-body simulation | |
Cappelli et al. | From Vlasov-Poisson to Schrödinger-Poisson: Dark matter simulation with a quantum variational time evolution algorithm | |
JP2002042104A (ja) | 量子ソフトコンピューティングを使用した制御システムと制御方法 | |
JP4758965B2 (ja) | ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体 | |
US20040130956A1 (en) | Hardware quantum gate | |
Ivancova et al. | Quantum supremacy in end-to-end intelligent IT. Pt. I: Quantum software engineering-quantum gate level applied models simulators | |
JP4260680B2 (ja) | ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体 | |
Gerdt et al. | A mathematica package for simulation of quantum computation | |
US20040059765A1 (en) | Method and relative quantum gate for running a grover's or a Deutsch-Jozsa's quantum algorithm | |
Sadowski et al. | Image completion with nonnegative matrix factorization under separability assumption | |
Zulehner et al. | Advanced Simulation of Quantum Computations: Compact Representation Rather than Hardware Power | |
Liu et al. | Implicit density-functional theory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20061225 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080701 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080722 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090127 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090204 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |