Quantum::Entanglement
おもしろいものみっけた。ネタなのかマジなのか。
http://www.perl.com/pub/a/2001/08/08/quantum.html
# EPR pair use Quantum::Entanglement qw(:DEFAULT :complex); $Quantum::Entanglement::destroy = 0; sub root_not { my ($prob, $val) = @_; return( $prob * i / sqrt(2) , $val, $prob / sqrt(2) , !$val ); } # fermion a (|0> applyed Hadamard matrix) $a = entangle( 1 => 0, 1 => 1 ); # fermion b (|0>) $b = entangle( 1 => 0 ); # ad-hoc controled not $b = q_logic(?&root_not, $b); $b = $a * $b; # entangled if ($a) { print "b must be 1 ($b).?n" } else { print "b must be 0 ($b).?n" }
ちょっと書いてみたけど、controled not が卑怯くさいし、途中で観測が起きてない保証もない。とりあえず定数時間で素因数分解でもさせてみると良いのだろうか。