Superoperatorってなに

#ここに書いたことは、論文チラッと見て妄想で補完しただけなので、全部間違ってるかもしれない

そのSabryの最近の論文で、density matrix+superoperatorで量子力学を定式化すると、superoperatorはArrowの公理満たして、だから、量子回路の記述には、Arrow使うといいんじゃね?みたいなことが書いてあった気がする

superoperatorがArrowの公理満たすってのが何か深い意味がある事実なのかどうかはともかく(単にsuperoperatorの積はsuperoperatorだとか、そういう程度のことを言ってるだけなんじゃないかと思う)、古典的な普通の論理回路でもArrow使うといいよってのは、Hughesが最初から言ってるんで、それはいいことにする。

で、密度行列は分かるけど,superoperatorとか初めて聞いたのだった
http://en.wikipedia.org/wiki/Superoperator
によると、トレースを減らさない、完全正値写像という定義。多分、密度行列の時間発展は、superoperatorになるよってことだと思うんだけど、
・密度行列のトレースって時間発展しても1じゃね?トレースが減少しないって条件は弱いような
・密度行列は正行列だから、時間発展がpositive mapってのは自明だけど、completely positive mapになるって条件は強いような
という2点が腑に落ちない。まぁ、実はsuperoperatorは時間発展じゃないっていうオチかもしれないけど

以下,V,Wを複素ベクトル空間としたとき、Hom(V,V)からHom(W,W)へのsuperoperatorを単に、VからWへのsuperoperatorと呼ぶことにする。論文には、SuperというArrowがでている。例えばSuper (Bool,Bool,Bool) Boolという型は、概念的には、8次元ベクトル空間から、2次元ベクトル空間へのsuperoperatorの全体と考えればよいんだろう。通常の波動関数+ユニタリ変換という定式化に比べてのメリットは、一般にsuperoperatorの定義域と値域(上のVとW)が違っていても構わないってことかな。

問題点。最後の方に、この定義だと、arr(\(x,y)->y)みたいな物理的にありえない計算というか回路も書けてしまう、これ克服するには、線形型備えた「量子プログラミング言語」使うといいんじゃね?というようなことがサラッと書いてあるけど、どうだろうね。