aboutsummaryrefslogtreecommitdiff
path: root/tester
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-09-12 03:58:36 +0200
committerhachem <im@hachem.wtf>2026-09-12 03:58:36 +0200
commitc5cca4cb708cb10bb3143c57d161e75f85fea88f (patch)
tree5b7b68ef81e6c241b6db47b6b2a9723602642639 /tester
parent00d22403a3ddad8692252a7974d586f32cf745bf (diff)
add: density noise backend
Diffstat (limited to 'tester')
-rw-r--r--tester/main.c13
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);
}