JP4260680B2 - ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体 - Google Patents

ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体 Download PDF

Info

Publication number
JP4260680B2
JP4260680B2 JP2004150549A JP2004150549A JP4260680B2 JP 4260680 B2 JP4260680 B2 JP 4260680B2 JP 2004150549 A JP2004150549 A JP 2004150549A JP 2004150549 A JP2004150549 A JP 2004150549A JP 4260680 B2 JP4260680 B2 JP 4260680B2
Authority
JP
Japan
Prior art keywords
matrix
decomposition
diagonal
unitary
special
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
Application number
JP2004150549A
Other languages
English (en)
Other versions
JP2005332242A (ja
Inventor
裕美 村上
泰人 河野
浩 関川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004150549A priority Critical patent/JP4260680B2/ja
Publication of JP2005332242A publication Critical patent/JP2005332242A/ja
Application granted granted Critical
Publication of JP4260680B2 publication Critical patent/JP4260680B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

この発明は、任意のユニタリ行列を基本ゲートに分解するユニタリ行列分解方法、ユニタリ行列分解装置、その機能をコンピュータで実現するためのユニタリ行列分解プログラム及びそれを格納した記録媒体に関する。
行列を分解する数学的な手法の一つにカルタン(Cartan)分解がある(例えば、非特許文献1参照。)。カルタン分解は、リー(Lie)群(G=SU(2))に属する特殊ユニタリ行列を分解対象とし、そのリー代数表現(g=su(2))を利用して行列分解を行う手法である。ここで、リー群(SU(2))とリー代数表現(su(2))は2×2の行列の集合であり、exp(su(2))=SU(2)の関係にある。また、su(2)は歪エルミート(Hermite)行列全体となる。なお、この特殊ユニタリ行列を量子回路で実現する場合、nはこの量子回路への入力量子ビット数に相当する。また、特殊ユニタリ行列とは、行列式(determinant)の値が1のユニタリ行列を意味する。
ここで行列aに対するexp(a)は、
Figure 0004260680
で定義されるが、非特許文献1においてN.Khanejaは、パウリ(Pauli)のスピン行列
Figure 0004260680
を用い、リー群(SU(2))に対応するリー代数表現(su(2))を定義している。以下ではまず、このN.Khanejaによるsu(2)の定義について説明する。
<N.Khanejaによるsu(2)の定義>
まず、リー代数表現(su(2))における直交基底{iB}を以下の形でとる(iは虚数単位)。
Figure 0004260680
ここで、Ikα
Figure 0004260680
で定義される。なお、このIαは式(6)の右辺の先頭からk番目に位置する。また、αはx,y,zの何れかであり、Iαは上述の式(2)〜(4)の何れかとなる。さらに、Eは2×2の単位行列であり、
Figure 0004260680
はテンソル積を意味する。また、式(5)のqはBの行列式の値が1となるように選択される値である。
すると、リー代数表現(su(2))は
Figure 0004260680
と書ける。なお、span{*}は、{*}で定義される要素を基底とするベクトル空間を意味する。
<N.Khanejaによるカルタン分解>
次に、非特許文献1記載のカルタン分解について説明する。
カルタン分解では、与えられたリー代数表現g=su(2)を、直交する2つのベクトル空間(kとm=k)の直和
Figure 0004260680
に分解する。ここでは、式(5)で定義した直交基底を用い、kとmを以下のように定義する。
Figure 0004260680
n≧3の場合、このkとmがそれぞれ作る空間は、図9のような格子状の行列となる。なお、図9において色の付いていない部分には0が、色のついている部分には任意の値がそれぞれ入る。
そして、これらのリー代数表現g、k、mにそれぞれ対応するリー群G,K=exp(k)、M=exp(m)では、
G=KM …(10)
が成り立つ。これはリー群G=SU(2)の任意の元が、Kの元とMの元との積に分解できることを意味する。
次に、(g,k)の組に対するカルタン部分代数h(n)を定義する。このカルタン部分代数h(n)は、上記のベクトル空間mを含む極大可換部分代数である。ここでは、以下のようにカルタン部分代数h(n)を定義する。
Figure 0004260680
ここで、H=exp(h(n))⊂Gとすると、式(10)のM=exp(m)は、さらに
M=KHK …(12)
と変換できる。なお、式(12)におけるKは、式(10)のKと同じである。
従って、この式(12)より、式(10)に示すリー群Gは、
G=KM=K(KHK)=KHK ,(K=SU(2n-1),H=exp(h(n))⊂G) …(13)
と表すことができる。すなわち、リー群Gの任意の元は、それよりも次元の低い、Kの元と、(g,k)の組に対するカルタン部分代数h(n)に対応するリー群の元との積に分解できる。
以上のようなカルタン分解の産業上の利用分野としては、例えば、ユニタリ変換量子回路等のユニタリ行列の分解を例示できる。すなわち、任意のユニタリ行列を現実の量子回路で実現する場合、そのユニタリ行列を基本ゲートに分解しなければならない。そして、もし、このカルタン分解によって分解された各元を新たな入力元とし、このカルタン分解を再帰的に繰り返していくことができるならば、任意のユニタリ行列をシステマチックに基本ゲートに分解することも可能である。
N. Khaneja, S. Glaster,"Cartan Decomposition of SU(2n), constructive controllability of spin systems and universal quantum computing," quant-ph/0010100,2000.
しかし、従来、カルタン分解による分解結果から、KやHの性質を崩すことなく、これらリー群の元を独立に抽出する具体的な方法は知られていなかった。従って、従来は、量子回路等に対応するユニタリ行列にカルタン分解を再帰的に適用し、このユニタリ行列を基本ゲートに分解するといった処理をシステマチックに実現することもできなかった。
本発明はこのような点に鑑みてなされたものであり、ユニタリ行列にカルタン分解を再帰的に適用し、このユニタリ行列を自動的に基本ゲートに分解する処理をコンピュータ上で実現する技術を提供することを目的とする。
<第1の発明>
上記課題を解決するために、第1の本発明では、まず、分解対象である2×2の特殊ユニタリ行列F∈SU(2)の自然対数であるリー(Lie)代数表現f∈su(2)を、行列表現変換手段が抽出し、抽出されたリー代数表現fを、カルタン分解手段が、カルタン(Cartan)分解によって、直交する2つのベクトル空間k,mに含まれる要素k∈k,m∈mに分解する。
次に、対角行列計算手段が、U・exp(m)・Uを対角行列Dに対角化する特殊ユニタリ行列Uを算出する。なお、Uは、ベクトル空間mに含まれる極大可換部分代数であるカルタン部分代数h(n)の基底のすべてを同時対角化する行列を意味し、対角行列Dは、カルタン部分代数h(n)に対応するリー群exp(h(n))を行列Uによって対角化した行列を意味する(D∈U・exp(h(n))・U)。
そして、対角行列分解手段が、対角行列Dをトフォリ(Toffoli)ゲートTGの積に分解し、基本ゲート分解手段が、各トフォリゲートTGを基本ゲートBGの積に分解し、分解要素格納手段が、exp(k)、U、U、U 及びBGを、Fの分解要素(F=exp(k)・(U・U・BG・U ・U))として記憶手段に格納する。なお、本発明の「トフォリゲート」は、行の入れ替え等の簡易な操作によりトフォリゲートとなる行列をも含む概念である。
ここで、カルタン分解手段において、リー代数表現fを、直交するベクトル空間k,mに含まれる要素k∈k,m∈mに分解しているため、
Figure 0004260680
が成り立つ。また、k,mに対応するリー群K=exp(k)及びM=exp(m)は、F=Kの関係を満たす。
また、前述の式(12)でも示したとおり、このMは、
=K・exp(h)・K …(14)
と分解できる(h∈h(n),K,K∈K=exp(k))。
ここでM=K・exp(h)・Kを行列Uによって対角化すると、
・M・U=(U・K・U)(U・exp(h)・U)(U・K・U) …(15)
となる。そして、Uは、h(n)の基底のすべてを同時対角化する行列を意味するのであるから、hを対角化する行列でもあり、さらには、上述の式(1)の定義より、そのリー群exp(h)をも対角化する行列である。そして、D=U・exp(h(n))・Uとしているのだから、上述の式(15)は、
・M・U=U・K・U・D・U・K・U …(16)
となる。
また、対角行列計算手段において、U・exp(m)・Uを対角行列Dに対角化する特殊ユニタリ行列Uを算出しているが、M=exp(m)であるため、
(U・M・U)U=D
・M・U=U・D・U …(17)
が成り立つ。ここで、式(16)と(17)とが成り立つためには、
=U・U・U …(18)
=U・U ・U …(19)
であれば十分である。
そして、この式(18)(19)を上述の式(14)に代入すると、
=K・exp(h)・K
=(U・U・U)・exp(h)・(U・U ・U
=U・U・(U・exp(h)・U)・U ・U
=U・U・D・U ・U
となる。
すなわち、この式より、分解対象である特殊ユニタリ行列Fは、
F=K
=K・U・U・D・U ・U …(20)
と分解できることが分かる。
この式(20)において、行列Uの量子回路は公知である(後述)。また、対角行列Dは、対角行列分解手段及び基本ゲート分解手段により、基本ゲートBGの積に分解できる。従って、残りのKとUが基本ゲートまで分解できれば、Fを基本ゲートに分解できる。そこで、次は、これらKとUを、それぞれ分解対象である特殊ユニタリ行列として本発明の処理を再帰的に繰り返す。なお、Uは対角行列計算手段が算出したものであるからUを、分解対象である特殊ユニタリ行列として特定することは容易であり、また、Uが特定できるならば、残りのKを式(20)から抽出することも容易である。これにより、Fを基本ゲートレベルまで分解できる。
<第2の発明>
上記課題を解決するために、第2の本発明では、まず、分解対象である2×2の特殊ユニタリ行列F∈SU(2)の自然対数であるリー(Lie)代数表現f∈su(2)を、行列表現変換手段が抽出し、抽出されたリー代数表現fを、カルタン分解手段が、カルタン(Cartan)分解によって、直交する2つのベクトル空間k,mに含まれる要素k∈k,m∈mに分解する。
次に、mを対角行列Dに対角化する特殊ユニタリ行列Uを、対角行列計算手段が算出し、対角行列分解手段が、exp(D)をトフォリ(Toffoli)ゲートTGの積に分解し、基本ゲート分解手段が、上記各トフォリゲートTGを基本ゲートBGの積に分解し、分解要素格納手段が、上記exp(k)、U、U 及びBGを、Fの分解要素(F=exp(k)・(U・BG・U ))として記憶手段に格納する。
ここで、カルタン分解手段において、リー代数表現fを、直交するベクトル空間k,mに分解しているため、k1∈k,m∈mとすると、
Figure 0004260680
が成り立つ。また、k,mに対応するリー群K=exp(k)及びM=exp(m)は、F=Kの関係を満たす。
また、対角行列計算手段において、mを対角行列Dに対角化する特殊ユニタリ行列Uを算出している。そして、上述の式(1)の定義より、この特殊ユニタリ行列Uは、mのリー群M=exp(m)を対角行列exp(D)に対角化する行列である。従って、この特殊ユニタリ行列Uを用いれば、Mは、
=U・exp(D)・U …(21)
と書ける。
従って、分解対象である特殊ユニタリ行列Fは、
F=K
=K・U・exp(D)・U …(22)
と分解できることが分かる。
この式(22)において、対角行列Dは、対角行列分解手段及び基本ゲート分解手段により、基本ゲートBGの積に分解できる。従って、残りのKとUが基本ゲートまで分解できれば、Fを基本ゲートに分解できる。そこで、次は、これらKとUを、それぞれ分解対象である特殊ユニタリ行列として本発明の処理を再帰的に繰り返す。なお、Uは対角行列計算手段が算出したものであるからUを、分解対象である特殊ユニタリ行列として特定することは容易であり、また、Uが特定できるならば、残りのKを式(22)から抽出することも容易である。これにより、Fを基本ゲートレベルまで分解できる。
以上のように、本発明では、カルタン分解結果の一部を対角行列に置き換えることとしたため、再帰的にカルタン分解を適用することが可能となる。これにより、任意のユニタリ行列を自動的に基本ゲートに分解する処理をコンピュータ上で実現することが可能となる。
以下、本発明の実施の形態を図面を参照して説明する。
〔第1の実施の形態〕
まず、本発明における第1の実施の形態について説明する。
<構成>
まず、本形態におけるユニタリ行列分解装置の構成を説明する。
図1は、本形態におけるユニタリ行列分解装置1の構成を説明するためのブロック図である。
ユニタリ行列分解装置1は、公知のコンピュータに所定のプログラムを実行させることにより構築され、入力部2、主記憶装置3(「記憶手段」に相当)、構造判定部4、行列表現変換部5、カルタン分解部6、対角行列計算部7、M分解部、対角行列分解部9、基本ゲート分解部10、分解要素格納部11及び出力部12を有している。
<主記憶装置>
主記憶装置3は、2×2の特殊ユニタリ行列(SU(2))と、当該特殊ユニタリ行列の自然対数であるリー(Lie)代数表現(su(2))と、を対応付けて格納する。そして、分解対象とした行列を、その分解後の積の形に置き換えていく。
<構造判定部>
構造判定部4は、主記憶装置3に格納された特殊ユニタリ行列が基本ゲートであるか否かを判断し、基本ゲートでないと判断した特殊ユニタリ行列を主記憶装置3から抽出し、抽出した特殊ユニタリ行列がSU(4)に含まれるか否かを判定する。
ここで、抽出した特殊ユニタリ行列がSU(4)に含まれると判定された場合、構造判定部4は、その特殊ユニタリ行列を基本ゲート分解部10に渡す。一方、抽出した特殊ユニタリ行列がSU(4)に含まれないと判定された場合、構造判定部4は、その特殊ユニタリ行列を行列表現変換部5に渡す。なお、この行列表現変換部5に渡される特殊ユニタリ行列は、主記憶装置3に格納された特殊ユニタリ行列のうち、基本ゲートを除く、n≧3の特殊ユニタリ行列となる(「分解対象の特殊ユニタリ行列F」に相当)。また、特殊ユニタリ行列がSU(4)に含まれる(特殊ユニタリ行列がn=2である)とは、特殊ユニタリ行列が4×4の行列となっている場合に限られず、各行や列の0以外の要素の数の最大値が4である場合も含まれる。
<行列表現変換部>
行列表現変換部5は、構造判定部4から受け取った分解対象の特殊ユニタリ行列F∈SU(2)に対応するリー代数表現f∈su(2)が主記憶装置3に格納されているか否かを判断する。
ここで、対応するリー代数表現fが格納されていると判断された場合、行列表現変換部5は、分解対象の特殊ユニタリ行列F∈SU(2)に対応するリー代数表現f∈su(2)を主記憶装置3から抽出する。一方、対応するリー代数表現fが格納されていないと判断された場合、行列表現変換部5は、対角行列計算部7を呼び出し、当該Fを対角行列Dに対角化する行列Uを計算させ、U・log(D)・U の演算結果を、当該Fに対応するリー代数表現fとして、主記憶装置3に格納する。
<対角行列計算部>
対角行列計算部7は、入力された行列を対角化するユニタリ行列を求める。そして、その対角化するユニタリ行列Uと、それによって対角化した対角行列Dとを出力する。具体的には、例えば、以下のアルゴリズムによりこの演算を行う。
[アルゴリズム1:入力行列のサイズが小さい場合]
1.固有方程式 det(A−λI)=0を厳密に解いて固有値λ∈Cを求める。なお、Aはm(=2)次の入力行列を、Iは単位行列を、det(...)は行列式の値をそれぞれ意味する。
2.求まった各固有値λをAν=λνに代入し、この方程式を解くことにより、各固有値λに対応する固有ベクトルν∈C,ν≠0を求める。
3.求められた固有値λ,λ,…,λ、及びこれらの固有値に対応する固有ベクトルν,ν,…,νから、
U=(ν,ν,…,ν
D=diag(λ,λ,…,λ
を算出する。なお、diag(λ,λ,…,λ)は、λ,λ,…,λを対角成分とする対角行列を意味する。
[アルゴリズム2:入力行列のサイズが大きい場合]
1.入力行列AをHermite行列B(B=Bなる行列)に変換する。
2.BをHermite三重対角行列Jに変換する(相似変換)。
3.Jについて,固有方程式 det(J‐λI)を解く。ここで、Jの固有値はBと等しく、Jは三重対角行列であるため、Bから直接固有方程式を解くよりも簡単に解を求めることができる。
4. 求まったBの固有値からAの固有値λ∈Cを算出する。
5.以降はアルゴリズム1と同様である。
なお、アルゴリズム2の「1.」におけるHermite行列への変換には、以下のような手法を利用できる。
(a)入力行列Aがユニタリ行列の場合、B=A+Aとすれば、BはHermite行列となる。この場合、Aの固有値をαとすれば、Bの固有値βは、β=α+α (α は、αの共役複素数)である(「4.」の処理に対応)。
(b)入力行列Aが歪みHermite行列の場合、B=iAとすれば、BはHermite行列となる。この場合、Aの固有値をαとすれば、Bの固有値βは、β=‐iαである(「4.」の処理に対応)。
なお、上記の方法の他にも、適切な相似変換(前処理)を行うことで、QR法やベキ乗法などのよく知られている固有値問題を解くアルゴリズムを利用すれば、固有値を求めることができる。
<基本ゲート分解部>
基本ゲート分解部10は、トフォリゲートやSU(4)に含まれる行列(主記憶装置3に格納された特殊ユニタリ行列のうち、基本ゲートを除く、n=2の特殊ユニタリ行列)を、SU(2)とCNOTの積(基本ゲートの積)に分解する。
<カルタン分解部>
カルタン分解部6は、受け取ったリー代数表現fを、カルタン(Cartan)分解によって、直交する2つのベクトル空間k,mに含まれる要素k∈k,m∈mの直和に分解する。そして、分解されたmをM分解部8へ渡す。その後、M分解部8から返された分解結果をkとともに、分解要素格納部11へ渡す。
<M分解部>
M分解部8は、受け取ったmを対角行列計算部7へ渡し、U・exp(m)・Uを対角行列D(D∈U・exp(h(n))・U)に対角化する特殊ユニタリ行列Uを算出させる。そして、M分解部8は、対角行列計算部7において算出された特殊ユニタリ行列Uと対角行列Dとを受け取り、exp(m)をU・U・D・U ・Uで置き換える。また、M分解部8は、この対角行列Dを対角行列分解部9に渡し、対角行列分解部9から返された分解結果で対角行列Dを置き換え、それらとU、U、U とをカルタン分解部6へ返す。
[行列Uの説明]
前述のように、Uはベクトル空間mに含まれる極大可換部分代数であるカルタン部分代数h(n)の基底のすべてを同時対角化する行列である。すなわち、前述の式(11)で定義されるカルタン部分代数h(n)の基底には、それらすべてを同時対角化するような行列Uが存在する。例えば、g∈su(2)の場合を考えると、(g,k)の組に対するカルタン部分代数h(n)は、
Figure 0004260680
より、
h1=i(α1σ12σ23σ34σ4)∈h(3)
と書ける。この場合、h(3)の基底σ,σ,σ,σのすべてを同時対角化する行列、すなわち、任意のh∈h(3)に対して、
Uh *・h(n)・Uh1・Uh *・σ1・Uh2・Uh *・σ2・Uh3・Uh *・σ3・Uh4・Uh *・σ4・Uh=Dh
が成り立つような行列Uが存在し、その行列Uは以下のようになる。
Figure 0004260680
ここで、Uh *・σ・Uh(p=1,2,3,4)を計算すると、それぞれ対角行列が求まることから、同時対角化できることがわかる。
このような行列Uは、n≧3のとき、図3のように規則的に構成することができ、かつ、U =U −1=Uが成り立つ。すなわち、n=3のときは、図3の(a)に示すように、2つのCNOTゲート21,22と、その目標ビット経路上にCNOTゲート21,22に挟まれて配置されたアダマール(Hadamard)ゲート31と、これらの目標ビット及び制御ビット以外の第3の量子ビット経路上に配置されるアダマールゲート32‐1とによって行列Uh(3)が構成される(Uh(β)は、n=βの行列Uを意味する。)。また、n=4のときは、図3の(b)に示すように、さらに第4の量子ビット経路上に配置されるアダマールゲート32‐2が追加されることによって行列Uh(4)が構成される。そして、これを一般化すると、図3の(c)に示すように、2つのCNOTゲート21,22と、その目標ビット経路上にCNOTゲート21,22に挟まれて配置されたアダマールゲート31と、アダマールゲート32‐1〜nとによって行列Uh(n)が構成される(行列Uの説明終わり)。
<対角行列分解部>
対角行列分解部9は、2×2の対角行列を、2n−1個のn量子ビットのトフォリ(Toffoli)ゲートの積に分解する。なお、ここでの「トフォリゲート」には、簡易な操作によりトフォリゲートの形になる行列も含まれる。
例えば、n=3のときの対角行列
Figure 0004260680
の場合、対角行列分解部9は、この対角行列Dを4個の3量子ビットのトフォリゲートの積に分解する。すなわち、D=F
Figure 0004260680
と分解する。
ここで、Fは3量子ビットのトフォリゲートそのものである。F,F,Fは、行の入れ替えをすれば、やはり3量子ビットのトフォリゲートで実現できる。例えば、Fの場合は、まず上半分と下半分とを入れ替え(第1量子ビットの0,1を反転させる)、次に下半分のうち、さらに上半分と下半分とを入れ替える(第2量子ビットの0,1を反転させる)ことで3量子ビットのトフォリゲートの形になる。本発明では、F,F,Fのようなものも「トフォリゲート」と呼ぶことにする。
対角行列分解部9は、対角行列をトフォリゲートに分解すると、次に、基本ゲート分解部10を呼び出し、このトフォリゲートを基本ゲートに分解させる。そして、その分解結果をM分解部8に返す。
<基本ゲート分解部>
基本ゲート分解部10は、SU(4)に含まれる特殊ユニタリ行列や、トフォリゲートを、行・列の入れ替えや対角化を利用して基本ゲートの積に分解する。なお、n量子ビットのトフォリゲートは、O(n2)の基本ゲートで実現できる(例えば、b「A.Barenco et al., Elementary gates for quantum computation, Phys. Rev. A52, pp.3457-3467,1995.」や「C. Moore and M. Nilsson, parallel quantum computation and quantum codes, SIAM J. Comp, Vol.31, No.3, pp.799-815, 2001.」を参照。)。
<分解要素格納部>
分解要素格納部11は、exp(k)、U、U、U 及び基本ゲートBGを、Fの分解要素(F=exp(k)・(U・U・BG・U ・U=exp(m)))として主記憶装置3に格納する(ここで、k∈k、m∈m)。
<処理>
次に、本形態におけるユニタリ行列分解方法について説明する。
図2は、本形態におけるユニタリ行列分解方法を説明するためのフローチャートである。以下、図1及び図2を用い、本形態におけるユニタリ行列の分解分解処理について説明する。
まず、任意のユニタリ行列が入力部2から入力される。入力されたユニタリ行列は、入力部2において特殊ユニタリ行列F∈SU(2)に変換され、行列リストFとして主記憶装置3に格納される。
次に、構造判定部4が、主記憶装置3に格納されたすべての特殊ユニタリ行列F(主記憶装置3の行列リストに含まれる行列F)が基本ゲートであるか否かが判断する(ステップS1)。ここで、主記憶装置3に格納されたすべての特殊ユニタリ行列Fが基本ゲートであると判断された場合には処理を終了する。
一方、基本ゲートでない特殊ユニタリ行列Fが行列リストに存在すると判断された場合、構造判定部4は、行列リストの中で最初の基本ゲートでない特殊ユニタリ行列Fを主記憶装置3から読み出す(抽出する)(ステップS2)。特殊ユニタリ行列Fを抽出した構造判定部4は、抽出した特殊ユニタリ行列がSU(4)に含まれるか否かを判断する(ステップS3)。ここで、抽出した特殊ユニタリ行列がSU(4)に含まれると判断された場合(n<3であると判断された場合)、構造判定部4は、その特殊ユニタリ行列Fを基本ゲート分解部10に送り、基本ゲート分解部10は、この特殊ユニタリ行列Fを基本ゲートの積で置き換えて主記憶装置3に格納して処理を終了する。
一方、抽出した特殊ユニタリ行列がSU(4)に含まれないと判断された場合(n≧3であると判断された場合)、構造判定部4は、その特殊ユニタリ行列F(「分解対象である特殊ユニタリ行列F」に相当)を行列表現変換部5に送る。これを受け取った行列表現変換部5は、その分解対象である特殊ユニタリ行列Fに対応するリー代数表現fが計算されているか否か(主記憶装置3に格納されているか否か)を判断する(ステップS5)。ここで、対応するリー代数表現fが計算されていないと判断された場合、行列表現変換部5は、このリー代数表現fを求めて主記憶装置3に格納する(ステップS6)。具体的には、例えばまず、行列表現変換部5が対角行列計算部7を呼び出し、分解対象である特殊ユニタリ行列Fを対角行列Dに対角化する行列Uを算出させ、この行列U及び対角行列Dを受け取る。そして、行列表現変換部5は、
log(F)=log(U・D・U
=U・log(D)・U
の演算結果を、当該Fに対応するリー代数表現fとして主記憶装置3に格納する。このようにFを対角行列Dに分解してlogの演算を行うことにより、直接log(F)を計算するよりも演算量を低減させることができる。なお、logは式(1)で定義した指数演算に対応する自然対数である。
一方、ステップS5の判断で、対応するリー代数表現fが計算されていると判断された場合、行列表現変換部5は、リー代数表現fの算出を行わない。
その後、行列表現変換部5は、分解対象である特殊ユニタリ行列F∈SU(2)に対応するリー代数表現f∈su(2)を主記憶装置3から抽出し(ステップS7)、カルタン分解部6に送る。カルタン分解部6は、送られたリー代数表現fを、カルタン分解によって、直交する2つのベクトル空間k,mに含まれる要素k∈k,m∈mに分解し、対応するF=exp(f)をexp(k)・exp(m)で置き換える関係を保存しておく(ステップS8)。なお、このカルタン分解は、前述のように(図9)、分解された各行列の要素を格子状にとればよい。
カルタン分解部6において分解されたmは、M分解部8に送られ、M分解部8は、これを対角行列計算部7に送る。そして、対角行列計算部7は、U・exp(m)・Uを対角行列Dに対角化する特殊ユニタリ行列Uを算出し、対角行列Dと特殊ユニタリ行列UとをM分解部8に返す。M分解部8は、exp(m)をU・U・D・U ・Uで置き換える関係を保存しておく(ステップS9)。
次に、M分解部8は、対角行列Dを対角行列分解部9に送り、対角行列分解部9は、対角行列DをトフォリゲートTGの積に分解する(ステップS10)。対角行列分解部9は、対角行列DをトフォリゲートTGの積で置き換える関係を保存し、これらのトフォリゲートTGを基本ゲート分解部10に送る。基本ゲート分解部10は、送られた各トフォリゲートTGを基本ゲートBGの積に分解し(ステップS11)、トフォリゲートTGを基本ゲートBGの積に置き換えた関係を対角行列分解部9に返す。
対角行列分解部9は、保存しておいた「対角行列DをトフォリゲートTGの積で置き換える関係」を用い、基本ゲート分解部10から受け取った基本ゲートBGの積で対角行列Dを置き換える。そして、その基本ゲートBGの積で置き換えられた対角行列DをM分解部8に返す。
M分解部8は、保存しておいた「exp(m)をU・U・D・U ・Uで置き換える関係」を用い、対角行列分解部9から送られた基本ゲートBGの積(=D)でU・U・D・U ・Uを置き換え、その置き換え結果exp(m)=U・U・BG・U ・Uをカルタン分解部6に返す。
カルタン分解部6は、保存しておいた「F=exp(f)をexp(k)・exp(m)で置き換える関係」を用い、M分解部8から送られたexp(m)=U・U・BG・U ・UでF=exp(f)を置き換え、その置き換え結果F=exp(k)・U・U・BG・U ・Uを分解要素格納部11に送る。
分解要素格納部11は、exp(k)、k、U、U、U 及びBGを、Fの分解要素(F=exp(k)・(U・U・BG・U ・U))として主記憶装置3に格納する(ステップS12)。
ここで、主記憶装置3に格納されたUの量子回路構成は前述の通り公知である(図3)。また、当然、基本ゲートBGの回路構成も公知である。従って、exp(k)及びUがU或いはBGに分解できれば、Fは実現可能な量子回路に分解されたことになる。そのため、以降は、このexp(k)及びUを新たな特殊ユニタリ行列F∈SU(2)として、上述したステップS1〜S12までの処理を再帰的に繰り返す。これにより、すべての行列が実現可能な量子回路に分解される。
<3量子ビットのFourier変換の行列の分解>
次に、本形態の具体例について説明する。この例では、3量子ビット(n=3)のFourier変換の行列の分解を行う。
<基本行列>
まず、この例の分解に使用する基本的な行列を示す。
Figure 0004260680
Eは2×2の単位行列で、NはNOTゲート、Hはアダマールゲートである。また、Cは第1量子ビットが1のときだけ、第2量子ビットの状態を反転させる制御NOT(CNOT)ゲートで、CはCNOTの逆で、第1量子ビットが0ときだけ、第2量子ビットの状態を反転させるゲートである。また、Sは第1量子ビットと第2量子ビットの状態を入れ替えるSWAPゲートである。
<入力>
3量子ビットのFourier変換の行列U∈SU(8)は、次の行列である。
Figure 0004260680
まず、この行列U(「F」に相当)を入力部2(図1)に入力し、主記憶装置3に格納する。この行列Uは、基本ゲートでなく(ステップS1)、SU(4)にも含まれない(ステップS3)。また、この時点では、行列Uに対応するLie代数表現も計算されていない(ステップS4)。そこでまず、行列表現変換部5は、対角行列計算部7を呼び出し、行列Uに対応するLie代数表現fを求める(ステップS5,S6)。つまり、U=exp(f)であることから、行列表現変換部5は、Uを対角行列Dに対角化する行列Uを利用し、
=U・D・U =exp(f)
f=log(U)=log(U・D・U )=U・log(D)・U
により、Lie代数表現fを求める。ここで、この対角化を実現する行列Uは、ユニタリ行列の性質を満たすようにUの固有ベクトルを縦に並べた行列である。すなわち、
Figure 0004260680
である。
そして、行列Uに対応するLie代数表現fは、
Figure 0004260680
である。このように算出されたLie代数表現fは、行列Uに対応付けられて主記憶装置3に格納される。
次に、行列表現変換部5は、主記憶装置3から行列Uに対応するLie代数表現fを抽出し(ステップS7)、カルタン分解部6に送る。カルタン分解部6は、カルタン分解を利用して、このfを
Figure 0004260680
という2つの行列k,mの直和に分解する(ステップS8)。この分解は、図9のように格子状に要素を抽出することによってできる。すなわち、
Figure 0004260680
となる。そして、K1=exp(k),M=exp(m)より、U=K1・Mの分解が求まる。
カルタン分解部6で算出されたmは、M分解部8に送られ、M分解部8は、対角行列計算部7を呼び出し、M=exp(m)をM=U・U・D・U ・Uで置き換える(ステップS9)。ここで、Uは前述の式(23)で示される行列であり、図3の量子回路で実現できるものである。DはU・M・Uの固有値が対角成分にならんだ対角行列で、
=diag(i,−i,i,−i,1,1,1,1) …(24)
となる。
この対角行列Dは、対角行列分解部9において、<対角行列分解部>の説明で述べたように、4個の3量子ビットのトフォリゲートの積に分解されるが、F,Fは単位行列となるため、2個の3量子ビットのトフォリゲートの積に分解される(ステップS10)。そして、さらに基本ゲート分解部10において以下のような基本ゲートの積に分解される(ステップS11)。
Figure 0004260680
である。
また、このような対角化を実現する行列U
Figure 0004260680
である。
そして、以上のような対角行列Dの基本ゲートの積、行列U、U 、U、K1=exp(k),kは、分解要素格納部11において主記憶装置3に格納される(ステップS12)。
<Uの分解>
次に、UやK1は基本ゲートでないため(ステップS1)、構造判定部4において、まず行列Uが、主記憶装置3から読み出される(ステップS2)。ここで、式(25)に示すように、各行や列に含まれる0以外の要素の数は最大値は4である。よって、この行列UはSU(4)に含まれ、構造判定部4は、この行列Uを基本ゲート分解部10に送る。そして、基本ゲート分解部10は、以下のように、この行列Uを基本ゲートの積で置き換える(ステップS4)。
Figure 0004260680
Figure 0004260680
ここで、Uは行と列を入れ替える行列であり、基本ゲート分解部10は、トフォリゲートTを用いて、さらにこのUを以下のように構成する。
Figure 0004260680
このT8は、第1量子ビットと第2量子ビットの状態が共に1の場合にのみ、第3量子ビットの状態を反転させる制御NOTゲートである。
また、基本ゲート分解部10は、Tを以下の行列のテンソル積に分解する。
Figure 0004260680
<Uの分解>
さらに、基本ゲート分解部10は、Uを以下の形に分解する。
Figure 0004260680
以上のような分解結果は主記憶装置3に格納される。
<K=K2・M2への分解>
次に、まだK1は基本ゲートでないため(ステップS1)、構造判定部4においてK1が主記憶装置3から読み出される(ステップS2)。K1もSU(4)に含まれるため、構造判定部4は、このK1基本ゲート分解部10に送る。そして、基本ゲート分解部10は、以下のように、このK1を基本ゲートの積で置き換える(ステップS4)。
まず、基本ゲート分解部10は、K1=exp(k)に対応するリー代数表現k1を主記憶装置3から抽出する。そして、基本ゲート分解部10は、カルタン分解によって、このリー代数表現k1をkとmとの直和に分解する。具体的には、例えば、k1から図4の(a)の要素を取り出したものをkとし、図4の(b)の要素を取り出したものをmとする。すると、
Figure 0004260680
となる。従って、
Figure 0004260680
Figure 0004260680
となる。
<Kの分解>
次に基本ゲート分解部10は、上記の式(26)に示されるKを、以下の形に書き換える。
Figure 0004260680
Figure 0004260680
ここで、Uは、Kの行や列を入れ替えて作られた行列であり、Sがその行と列の入れ替えを表している。具体的には、
Figure 0004260680
であり、このSの操作は、
1.第2量子ビットと第3量子ビットを入れ替える。
2.第1量子ビットと第2量子ビットを入れ替える。
3.第1量子ビットの否定(NOT)をとる。
という操作から構成されている。
<Uの分解>
次に基本ゲート分解部10は、対角行列計算部7を呼び出して、上記の式(28)で示すUを、以下のように対角行列Dを含む行列の積に分解する。
Figure 0004260680
さらに、基本ゲート分解部10は、式(29)のUを、以下の形に分解する。
Figure 0004260680
次に基本ゲート分解部10は、式(30)のDを、以下の形に分解する。
Figure 0004260680
<Mの分解>
また、基本ゲート分解部10は、前述の式(27)に示されるMを、以下の形に分解する。
Figure 0004260680
ここで、Tは2ビットのトフォリゲートであり、これをsingle-qubit rotationsとCNOTに分解する手法は既に知られている(例えば、b「A.Barenco et al., Elementary gates for quantum computation, Phys. Rev. A52, pp.3457-3467,1995.」や「C. Moore and M. Nilsson, parallel quantum computation and quantum codes, SIAM J. Comp, Vol.31, No.3, pp.799-815, 2001.」を参照。)。
そして、以上のような分解結果は主記憶装置3に格納される。
以上のような処理により、求まったFuorier変換の分解は以下のようになる。
Figure 0004260680
また、図5の(a)は、上記の式(31)に示すUのカルタン分解により求まる量子回路を示している。この図に示すように、Uの量子回路は、U回路41、U 回路42、D回路43、U回路44、U回路45、M回路46、K回路47を直列に配置して構成される。
図5の(b)は、D回路43を基本ゲートに分解した構成(式(35))を示している。この図に示すように、D回路43は、4つのNOTゲート43a〜43dと2つの制御ユニタリ(T)ゲート43e,43fによって構成される。
図5の(c)は、M回路46を基本ゲートに分解した構成(式(33))を示している。この図に示すように、M回路46は、2つのSWAPゲート46a,46bと1つの制御ユニタリゲート(T)46cによって構成される。
図6の(a)は、U回路44を基本ゲートに分解した構成(式(34))を示している。この図に示すように、U回路44は、8つのNOTゲート44a〜44h、4つの制御ユニタリゲート(T)44i〜44p、1つの制御ユニタリゲート(T)44k、1つの制御ユニタリゲート(T)44m、2つのCNOTゲート(C)44q,44r,1つのNCNOTゲート(C:第1量子ビットが0ときだけ、第2量子ビットの状態を反転させるゲート)44s、2つのアダマールゲート(H)44t,44u、1つのSWAPゲート(S)44vによって構成される。
図6の(b)は、K回路47を基本ゲートに分解した構成(式(32))を示している。この図に示すように、K回路47は、4つのSWAPゲート(S)47a〜47d、4つのNOTゲート47e〜47h、2つのCNOTゲート(C)47i,47j、2つの制御ユニタリゲート(T)47m,47s、3つの制御ユニタリゲート(T)47k,47n、47r、1つの制御ユニタリゲート(T)47q、1つの制御ユニタリゲート(T)47pによって構成される。
〔第2の実施の形態〕
次に、本発明における第2の実施の形態について説明する。
本形態は第1の実施の形態の変形例である。本形態では、前述の同時対角化行列を用いず、リー代数表現された行列を対角化する行列を利用してユニタリ行列の分解を行う。以下では、第1の実施の形態との相違点を中心に説明し、第1の実施の形態と共通する事項については説明を省略する。
<構成>
まず、本形態におけるユニタリ行列分解装置の構成を説明する。
図7は、本形態におけるユニタリ行列分解装置100の構成を説明するためのブロック図である。なお、図7において第1の実施の形態のユニタリ行列分解装置1(図1)と共通する機能構成については図1と同じ符号を付した。
ユニタリ行列分解装置100の構成の第1の実施の形態との相違点は、第1の実施の形態のユニタリ行列分解装置1のM分解部8の代わりにm分解部108を具備する点である。
<M分解部>
m分解部108は、受け取ったmを対角行列計算部7へ渡し、mを対角行列Dに対角化する特殊ユニタリ行列Uを算出させる。そして、m分解部108は、対角行列計算部7において算出された特殊ユニタリ行列Uをと対角行列Dとを受け取り、exp(m)をU・exp(D)・U で置き換える。また、m分解部108は、この対角行列Dを対角行列分解部9に渡し、対角行列分解部9から返された分解結果で対角行列Dを置き換え、それらとU、U とをカルタン分解部6へ返す。
<処理>
次に、本形態におけるユニタリ行列分解方法について説明する。
図8は、本形態におけるユニタリ行列分解方法を説明するためのフローチャートである。以下、図7及び図8を用い、本形態におけるユニタリ行列の分解分解処理について説明する。
まず、任意のユニタリ行列が入力部2から入力される。入力されたユニタリ行列は、入力部2において特殊ユニタリ行列F∈SU(2)に変換され、行列リストFとして主記憶装置3に格納される。
次に、構造判定部4が、主記憶装置3に格納されたすべての特殊ユニタリ行列F(主記憶装置3の行列リストに含まれる行列F)が基本ゲートであるか否かが判断する(ステップS21)。ここで、主記憶装置3に格納されたすべての特殊ユニタリ行列Fが基本ゲートであると判断された場合には処理を終了する。
一方、基本ゲートでない特殊ユニタリ行列Fが行列リストに存在すると判断された場合、構造判定部4は、行列リストの中で最初の基本ゲートでない特殊ユニタリ行列Fを主記憶装置3から読み出す(抽出する)(ステップS22)。特殊ユニタリ行列Fを抽出した構造判定部4は、抽出した特殊ユニタリ行列がSU(4)に含まれるか(n≧3であるか)否かを判断する(ステップS23)。ここで、抽出した特殊ユニタリ行列がSU(4)に含まれると判断された場合(n<3であると判断された場合)、構造判定部4は、その特殊ユニタリ行列Fを基本ゲート分解部10に送り、基本ゲート分解部10は、この特殊ユニタリ行列Fを基本ゲートの積で置き換えて主記憶装置3に格納して処理を終了する。
一方、抽出した特殊ユニタリ行列がSU(4)に含まれないと判断された場合(n≧3であると判断された場合)、構造判定部4は、その特殊ユニタリ行列F(「分解対象である特殊ユニタリ行列F」に相当)を行列表現変換部5に送る。これを受け取った行列表現変換部5は、その分解対象である特殊ユニタリ行列Fに対応するリー代数表現fが計算されているか否か(主記憶装置3に格納されているか否か)を判断する(ステップS25)。ここで、対応するリー代数表現fが計算されていないと判断された場合、行列表現変換部5は、第1の実施の形態と同様に、このリー代数表現fを求めて主記憶装置3に格納する(ステップS26)。一方、ステップS25の判断で、対応するリー代数表現fが計算されていると判断された場合、行列表現変換部5は、リー代数表現fの算出を行わない。
その後、行列表現変換部5は、分解対象である特殊ユニタリ行列F∈SU(2)に対応するリー代数表現f∈su(2)を主記憶装置3から抽出し(ステップS27)、カルタン分解部6に送る。カルタン分解部6は、送られたリー代数表現fを、カルタン分解によって、直交する2つのベクトル空間k,mに含まれる要素k∈k,m∈mに分解し、対応するF=exp(f)をexp(k)・exp(m)で置き換える関係を保存しておく(ステップS28)。
カルタン分解部6において分解されたmは、m分解部108に送られ、m分解部108は、これを対角行列計算部7に送る。そして、対角行列計算部7は、mを対角行列Dに対角化する特殊ユニタリ行列Uを算出し、対角行列Dと特殊ユニタリ行列Uとをm分解部108に返す。m分解部108は、exp(m)をU・exp(D)・U で置き換える関係を保存しておく(ステップS29)。
次に、m分解部108は、対角行列exp(D)を対角行列分解部9に送り、対角行列分解部9は、対角行列exp(D)をトフォリゲートTGの積に分解する(ステップS30)。対角行列分解部9は、対角行列exp(D)をトフォリゲートTGの積で置き換える関係を保存し、これらのトフォリゲートTGを基本ゲート分解部10に送る。基本ゲート分解部10は、送られた各トフォリゲートTGを基本ゲートBGの積に分解し(ステップS31)、トフォリゲートTGを基本ゲートBGの積に置き換えた関係を対角行列分解部9に返す。
対角行列分解部9は、保存しておいた「対角行列exp(D)をトフォリゲートTGの積で置き換える関係」を用い、基本ゲート分解部10から受け取った基本ゲートBGの積で対角行列exp(D)を置き換える。そして、その基本ゲートBGの積で置き換えられた対角行列exp(D)をm分解部108に返す。
m分解部18は、保存しておいた「exp(m)をU・exp(D)・U で置き換える関係」を用い、対角行列分解部9から送られた基本ゲートBGの積(=exp(D))でU・exp(D)・U を置き換え、その置き換え結果exp(m)=U・BG・U をカルタン分解部6に返す。
カルタン分解部6は、保存しておいた「F=exp(f)をexp(k)・exp(m)で置き換える関係」を用い、m分解部108から送られたexp(m)=U・BG・U でF=exp(f)を置き換え、その置き換え結果F=exp(k)・U・BG・U を分解要素格納部11に送る。
分解要素格納部11は、exp(k)、k、U、U 及びBGを、上記Fの分解要素(F=exp(k)・(U・BG・U =exp(m)))として主記憶装置3に格納する(ステップS32)。
ここで、主記憶装置3に格納された基本ゲートBGの回路構成も公知である。従って、exp(k)及びUがBGに分解できれば、Fは実現可能な量子回路に分解されたことになる。そのため、以降は、このexp(k)及びUを新たな特殊ユニタリ行列F∈SU(2)として、上述したステップS21〜S32までの処理を再帰的に繰り返す。これにより、すべての行列が実現可能な量子回路に分解される。
なお、この発明は上述の各実施の形態に限定されるものではなく、その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本発明の産業上の利用分野としては、量子コンピュータを構成する任意のユニタリ変換量子回路の設計支援分野等を例示できる。本発明を適用することにより、容易に任意のユニタリ変換量子回路をCNOT等の基本ゲートに分解することができる。
第1の実施の形態におけるユニタリ行列分解装置の構成を説明するためのブロック図。 第1の実施の形態におけるユニタリ行列分解方法を説明するためのフローチャート。 カルタン部分代数h(n)の基底のすべてを同時対角化する行列Uの量子回路を示した図。 カルタン分解の手法を説明するための図。 分解結果に対応する量子回路を示した図。 分解結果に対応する量子回路を示した図。 第2の実施の形態におけるユニタリ行列分解装置の構成を説明するためのブロック図。 第2の実施の形態におけるユニタリ行列分解方法を説明するためのフローチャート。 カルタン分解の手法を説明するための図。
符号の説明
1,100 ユニタリ行列分解装置
2 入力部
3 主記憶装置(記憶手段)
4 構造判定部(構造判定手段)
5 行列表現変換部(行列表現変換手段)
6 カルタン分解部(カルタン分解手段)
7 対角行列計算部(対角行列計算手段)
8 M分解部
9 対角行列分解部(対角行列分解手段)
10 基本ゲート分解部(基本ゲート分解手段)
11 分解要素格納部(分解要素格納手段)
12 出力部
108 m分解部

Claims (7)

  1. コンピュータを、行列表現変換手段と、カルタン分解手段と、対角行列計算手段と、対角行列分解手段と、構造判定手段とを有するユニタリ行列分解装置として機能させて実行するユニタリ行列分解方法であって、
    (a)行列表現変換手段が、基本ゲートを示す行列を除く、分解対象である2×2 (n≧3)の特殊ユニタリ行列F∈SU(2の自然対数f=log(F)であるリー(Lie)代数表現された行列f∈su(2 )が記憶手段に格納されているか否かを判定し、当該リー代数表現された行列f∈su(2 )が記憶手段に格納されていない場合に自然対数f=log(F)を計算し、その演算結果を分解対象のリー代数表現された行列f∈su(2として記憶手段に格納するステップと、
    (b)カルタン分解手段が、記憶手段から分解対象のリー代数表現された行列fを読み出し、f=k +m かつk ・m =m ・k を満たす2 ×2 の行列k 及び行列m を生成し、生成した行列k を記憶手段に格納し、行列m を出力するステップと、
    (c)対角行列計算手段が、上記カルタン分解手段が出力した行列m を用い、
    Figure 0004260680
    とした場合における、2 ×2 の行列U ・exp(m )・U の各固有値λと各固有ベクトルνとを算出し、各固有ベクトルνを列とする特殊ユニタリ行列U を生成して記憶手段に格納し、各固有値λを対角成分に配置した2 ×2 の対角行列D を生成して出力するステップと、
    (d)対角行列分解手段が、上記対角行列計算手段が出力した上記対角行列D が具備する2 個の対角成分からそれぞれ重複なく抽出した2個の要素と、2 −2個の1とをそれぞれの対角成分とする、2 n−1 個の2 ×2 の対角行列TG を、記憶手段に格納するステップと、を有し、
    構造判定手段が、上記カルタン分解手段が生成した行列k が基本ゲートを示す行列でなく、なおかつ、当該行列k の各行や各列の0以外の要素数の最大値が2 n’ (n’≧3)である場合に、当該行列k を新たな分解対象のリー代数表現された行列fとして上記ステップ(b)〜(d)を実行させ、上記対角行列計算手段が生成した特殊ユニタリ行列U が基本ゲートを示す行列でなく、なおかつ、当該特殊ユニタリ行列U の各行や各列の0以外の要素数の最大値が2 n’ (n’≧3)である場合に、当該特殊ユニタリ行列U を新たな分解対象である特殊ユニタリ行列Fとして上記ステップ(a)〜(d)を実行させる、
    ことを特徴とするユニタリ行列分解方法。
  2. コンピュータを、行列表現変換手段と、カルタン分解手段と、対角行列計算手段と、対角行列分解手段と、構造判定手段とを有するユニタリ行列分解装置として機能させて実行するユニタリ行列分解方法であって、
    (a)行列表現変換手段が、基本ゲートを示す行列を除く、分解対象である2×2 (n≧3)の特殊ユニタリ行列F∈SU(2の自然対数f=log(F)であるリー(Lie)代数表現された行列f∈su(2 )が記憶手段に格納されているか否かを判定し、当該リー代数表現された行列f∈su(2 )が記憶手段に格納されていない場合に自然対数f=log(F)を計算し、その演算結果を分解対象のリー代数表現された行列f∈su(2として記憶手段に格納するステップと、
    (b)カルタン分解手段が、記憶手段から分解対象のリー代数表現された行列fを読み出し、f=k +m かつk ・m =m ・k を満たす2 ×2 の行列k 及び行列m を生成し、生成した行列 を記憶手段に格納し、行列m を出力するステップと、
    (c)対角行列計算手段が、上記カルタン分解手段が出力した行列m の各固有値λと各固有ベクトルνとを算出し、各固有ベクトルνを列とする特殊ユニタリ行列U を生成して記憶手段に格納し、各固有値λを対角成分に配置した2 ×2 の対角行列D を出力するステップと、
    (d)対角行列分解手段が、上記対角行列計算手段が出力した対角行列D から定まるexp(Dが具備する2 個の対角成分からそれぞれ重複なく抽出した2個の要素と、2 −2個の1とをそれぞれの対角成分とする、2 n−1 個の2 ×2 の対角行列TG を、記憶手段に格納するステップと、を有し、
    構造判定手段が、上記カルタン分解手段で生成された行列k が基本ゲートを示す行列でなく、なおかつ、当該行列k の各行や各列の0以外の要素数の最大値が2 n’ (n’≧3)である場合に、当該行列k を新たな分解対象のリー代数表現された行列fとして上記ステップ(b)〜(d)を実行させ、上記対角行列計算手段で生成された特殊ユニタリ行列U が基本ゲートを示す行列でなく、なおかつ、当該特殊ユニタリ行列U の各行や各列の0以外の要素数の最大値が2 n’ (n’≧3)である場合に、当該特殊ユニタリ行列U を新たな分解対象である特殊ユニタリ行列Fとして上記ステップ(a)〜(d)を実行させる、
    ことを特徴とするユニタリ行列分解方法。
  3. ユニタリ行列を分解するユニタリ行列分解装置であって、
    ×2の特殊ユニタリ行列(SU(2))と、当該特殊ユニタリ行列の自然対数であるリー(Lie)代数表現された行列(su(2))と、を対応付けて格納する記憶手段と、
    基本ゲートを示す行列を除く、分解対象である2×2 (n≧3)の特殊ユニタリ行列F∈SU(2の自然対数f=log(F)であるリー(Lie)代数表現された行列f∈su(2 )が記憶手段に格納されているか否かを判定し、当該リー代数表現された行列f∈su(2 )が記憶手段に格納されていない場合に自然対数f=log(F)を計算し、その演算結果を分解対象のリー代数表現された行列f∈su(2として記憶手段に格納する行列表現変換手段と、
    記憶手段から分解対象のリー代数表現された行列fを読み出し、f=k +m かつk ・m =m ・k を満たす2 ×2 の行列k 及び行列m を生成し、生成した行列k を記憶手段に格納し、行列m を出力するカルタン分解手段と、
    上記カルタン分解手段が出力した行列m を用い、
    Figure 0004260680
    とした場合における、2 ×2 の行列U ・exp(m )・U の各固有値λと各固有ベクトルνとを算出し、各固有ベクトルνを列とする特殊ユニタリ行列U を生成して記憶手段に格納し、各固有値λを対角成分に配置した2 ×2 の対角行列D を生成して出力する対角行列計算手段と、
    上記対角行列計算手段が出力した上記対角行列D が具備する2 個の対角成分からそれぞれ重複なく抽出した2個の要素と、2 −2個の1とをそれぞれの対角成分とする、2 n−1 個の2 ×2 の対角行列TG を、記憶手段に格納する対角行列分解手段と、
    上記カルタン分解手段が生成した行列k が基本ゲートを示す行列でなく、なおかつ、当該行列k の各行や各列の0以外の要素数の最大値が2 n’ (n’≧3)である場合に、当該行列k を新たな分解対象のリー代数表現された行列fとして、上記カルタン分解手段と上記対角行列計算手段と対角行列分解手段との各処理を実行させ、上記対角行列計算手段が生成した特殊ユニタリ行列U が基本ゲートを示す行列でなく、なおかつ、当該特殊ユニタリ行列U の各行や各列の0以外の要素数の最大値が2 n’ (n’≧3)である場合に、当該特殊ユニタリ行列U を新たな分解対象である特殊ユニタリ行列Fとして、上記行列表現変換手段と上記カルタン分解手段と上記対角行列計算手段と対角行列分解手段との各処理を実行させる構造判定手段と、
    を有することを特徴とするユニタリ行列分解装置。
  4. ユニタリ行列を分解するユニタリ行列分解装置であって、
    ×2の特殊ユニタリ行列(SU(2))と、当該特殊ユニタリ行列の自然対数であるリー(Lie)代数表現された行列(su(2))と、を対応付けて格納する記憶手段と、
    基本ゲートを示す行列を除く、分解対象である2×2 (n≧3)の特殊ユニタリ行列F∈SU(2の自然対数f=log(F)であるリー(Lie)代数表現された行列f∈su(2 )が記憶手段に格納されているか否かを判定し、当該リー代数表現された行列f∈su(2 )が記憶手段に格納されていない場合に自然対数f=log(F)を計算し、その演算結果を分解対象のリー代数表現された行列f∈su(2として記憶手段に格納する行列表現変換手段と、
    記憶手段から分解対象のリー代数表現された行列fを読み出し、f=k +m かつk ・m =m ・k を満たす2 ×2 の行列k 及び行列m を生成し、生成した行列 を記憶手段に格納し、行列m を出力するカルタン分解手段と、
    上記カルタン分解手段が出力した行列m の各固有値λと各固有ベクトルνとを算出し、各固有ベクトルνを列とする特殊ユニタリ行列U を生成して記憶手段に格納し、各固有値λを対角成分に配置した2 ×2 の対角行列D を出力する対角行列計算手段と、
    上記対角行列計算手段が出力した対角行列D から定まるexp(Dが具備する2 個の対角成分からそれぞれ重複なく抽出した2個の要素と、2 −2個の1とをそれぞれの対角成分とする、2 n−1 個の2 ×2 の対角行列TG を、記憶手段に格納する対角行列分解手段と、
    上記カルタン分解手段で生成された行列k が基本ゲートを示す行列でなく、なおかつ、当該行列k の各行や各列の0以外の要素数の最大値が2 n’ (n’≧3)である場合に、当該行列k を新たな分解対象のリー代数表現された行列fとして、上記カルタン分解手段と上記対角行列計算手段と対角行列分解手段との各処理を実行させ、上記対角行列計算手段で生成された特殊ユニタリ行列U が基本ゲートを示す行列でなく、なおかつ、当該特殊ユニタリ行列U の各行や各列の0以外の要素数の最大値が2 n’ (n’≧3)である場合に、当該特殊ユニタリ行列U を新たな分解対象である特殊ユニタリ行列Fとして、上記行列表現変換手段と上記カルタン分解手段と上記対角行列計算手段と対角行列分解手段との各処理を実行させる構造判定手段と、
    を有することを特徴とするユニタリ行列分解装置。
  5. 請求項3又は4のユニタリ行列分解装置であって、
    上記対角行列計算手段は、
    分解対象の特殊ユニタリ行列F∈SU(2)に対応するリー代数表現された行列=log(F)∈su(2)が上記記憶手段に格納されていない場合、上記分解対象の特殊ユニタリ行列Fの各固有値λ’と各固有ベクトルν’とを求め、各固有ベクトルν’を列とする行列U を生成し、生成した行列U を記憶手段に格納し、各固有値λ’を対角成分に配置した2 ×2 の対角行列D を生成して出力する手段であり、
    上記行列表現変換手段は、
    ・log(D)・U の演算によって上記自然対数f=log(F)を算出する手段である、
    ことを特徴とするユニタリ行列分解装置。
  6. 請求項からの何れかに記載のユニタリ行列分解装置としてコンピュータを機能させるためのユニタリ行列分解プログラム。
  7. 請求項に記載のユニタリ行列分解プログラムを格納したコンピュータ読取可能な記録媒体。
JP2004150549A 2004-05-20 2004-05-20 ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体 Expired - Fee Related JP4260680B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004150549A JP4260680B2 (ja) 2004-05-20 2004-05-20 ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004150549A JP4260680B2 (ja) 2004-05-20 2004-05-20 ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2005332242A JP2005332242A (ja) 2005-12-02
JP4260680B2 true JP4260680B2 (ja) 2009-04-30

Family

ID=35486857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004150549A Expired - Fee Related JP4260680B2 (ja) 2004-05-20 2004-05-20 ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP4260680B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4758965B2 (ja) * 2007-08-27 2011-08-31 日本電信電話株式会社 ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体
JP5325072B2 (ja) * 2009-10-22 2013-10-23 日本電信電話株式会社 行列分解装置、行列分解方法及びプログラム
CN113850389B (zh) * 2020-06-28 2023-08-11 本源量子计算科技(合肥)股份有限公司 一种量子线路的构建方法及装置
CN113128691B (zh) * 2021-04-27 2022-03-08 北京百度网讯科技有限公司 量子门标定方法及装置、电子设备和介质

Also Published As

Publication number Publication date
JP2005332242A (ja) 2005-12-02

Similar Documents

Publication Publication Date Title
Heyfron et al. An efficient quantum compiler that reduces T count
Schindler et al. Quantum simulation of dynamical maps with trapped ions
Farrell et al. Preparations for quantum simulations of quantum chromodynamics in 1+ 1 dimensions. I. Axial gauge
JP2022511331A (ja) 量子ボルツマンマシンを実装及び最適化するためのハイブリッド量子古典コンピュータシステム
Pedro et al. On a cellular division method for topology optimization
Brennen et al. Why should anyone care about computing with anyons?
US20230040584A1 (en) Computer-implemented method of solving a hamiltonian
Ender et al. Parity quantum optimization: Compiler
JP4260751B2 (ja) ユニタリ行列分解装置、ユニタリ行列分解方法、ユニタリ行列分解プログラム及び記録媒体
JPWO2017131081A1 (ja) 量子情報処理システム、量子情報処理方法、プログラム、及び記録媒体
Murta et al. Preparing valence-bond-solid states on noisy intermediate-scale quantum computers
JP4260680B2 (ja) ユニタリ行列分解方法、ユニタリ行列分解装置、ユニタリ行列分解プログラム及び記録媒体
Burgholzer et al. Simulation paths for quantum circuit simulation with decision diagrams what to learn from tensor networks, and what not
Smith et al. Programming physical quantum systems with pulse-level control
Karasözen et al. Structure preserving integration and model order reduction of skew-gradient reaction–diffusion systems
JP7265965B2 (ja) 機械学習装置および機械学習方法
US11574030B1 (en) Solving optimization problems using a hybrid computer system
Ma et al. Low rank approximation in simulations of quantum algorithms
Tankasala et al. Quantum-kit: simulating shor's factorization of 24-bit number on desktop
Nikahd et al. One-way quantum computer simulation
de Avila et al. Quantum computing simulation through reduction and decomposition optimizations with a case study of shor's algorithm
Smith et al. Summary: Chicago Quantum Exchange (CQE) Pulse-level Quantum Control Workshop
Nautrup et al. Measurement-based quantum computation from Clifford quantum cellular automata
KR102168677B1 (ko) 양자정보 포킹 방법과 응용
Batra et al. Recommender system expedited quantum control optimization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060719

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080820

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

LAPS Cancellation because of no payment of annual fees