diff options
| author | hachem <im@hachem.wtf> | 2024-09-22 13:07:30 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2024-09-22 13:07:30 +0200 |
| commit | 1a9ef4a7f0cbd4ed848ccf0903ebbbd4fdab6adf (patch) | |
| tree | 541a12284ab1508690170bb6751566661a0ab88c /libpsi-tester/src/main.rs | |
| parent | d3fa0e946c2b88ec0534353e09d704ed73712d1a (diff) | |
First quantum calculation
Diffstat (limited to 'libpsi-tester/src/main.rs')
| -rw-r--r-- | libpsi-tester/src/main.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libpsi-tester/src/main.rs b/libpsi-tester/src/main.rs index 4aaa92d..5ecc2f0 100644 --- a/libpsi-tester/src/main.rs +++ b/libpsi-tester/src/main.rs @@ -1,8 +1,10 @@ use libpsi::*; fn main() { - let bit_1 = qubit![(1.0, 2.0), (1.0, 2.0)]; - let bit_2 = qubit![(1.0, 2.0), (1.0, 2.0)]; - let register: QuantumRegister = quantum_register![bit_1, bit_2]; - println!("{}", register); + let mut register = quantum_register![qubit![(1.0, 0.0), (0.0, 0.0)]]; + let hadamard = matrix!([Complex::one(), Complex::one()]; [Complex::one(), -Complex::one()]) + .scale(complex!(1.0 / f64::sqrt(2.0), 0.0)); + println!("Before:\n{}", register[0]); + register.apply(&hadamard, 0); + println!("\nAfter H Gate:\n{}", register[0]); } |
