diff options
Diffstat (limited to 'tester')
| -rw-r--r-- | tester/main.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tester/main.c b/tester/main.c index 346b16a..858be2e 100644 --- a/tester/main.c +++ b/tester/main.c @@ -215,5 +215,18 @@ int main(void) psi_format_probability(probs[7], pbuf, sizeof pbuf)); psi_free_quantum_circuit(&ghz); + + struct PsiDensityMatrix dm = psi_new_density_matrix(1); + printf("dm = purity %g (pure? %d)\n", psi_purity_density_matrix(dm), psi_is_pure_density_matrix(dm, 1e-10)); + + struct PsiNoiseChannel bf = psi_bit_flip_channel(0.25); + psi_apply_noise_channel(&dm, bf, 0); + + double dprobs[2]; + psi_density_matrix_probabilities(dm, dprobs); + printf("noisy = p [%g, %g], purity %g\n", dprobs[0], dprobs[1], psi_purity_density_matrix(dm)); + + psi_free_noise_channel(&bf); + psi_free_density_matrix(&dm); } |
