Skip to content

Commit 97f30d5

Browse files
Remove debug logs and ensure deterministic BCNOT test (#31)
1 parent d93f5ba commit 97f30d5

2 files changed

Lines changed: 5 additions & 7 deletions

File tree

tests/engine-real-calculations/bell/bell-basis.test.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,6 @@ describe('Testing non-Bell-diagonal matrices', () => {
257257

258258
// Current implementation: should return 0.4 (diagonal element)
259259
const fidelity = fidelityFromBellBasisMatrix(coherentMatrix, BellState.PHI_PLUS);
260-
console.log('Coherent matrix fidelity (current implementation):', fidelity);
261260

262261
// For comparison: if this were a diagonal matrix with same diagonal elements
263262
const diagonalData = [
@@ -268,7 +267,6 @@ describe('Testing non-Bell-diagonal matrices', () => {
268267
];
269268
const diagonalMatrix = new Matrix(diagonalData);
270269
const diagonalFidelity = fidelityFromBellBasisMatrix(diagonalMatrix, BellState.PHI_PLUS);
271-
console.log('Diagonal matrix fidelity:', diagonalFidelity);
272270

273271
// They should be the same for quantum fidelity F(ρ,|ψ⟩⟨ψ|) = ⟨ψ|ρ|ψ⟩
274272
expect(fidelity).toBeCloseTo(0.4, 5);
@@ -287,7 +285,6 @@ describe('Testing non-Bell-diagonal matrices', () => {
287285
const complexMatrix = new Matrix(complexData);
288286

289287
const fidelity = fidelityFromBellBasisMatrix(complexMatrix, BellState.PHI_PLUS);
290-
console.log('Complex matrix fidelity:', fidelity);
291288

292289
// Should still be 0.5 (the diagonal element) for F(ρ,|ψ⟩⟨ψ|) = ⟨ψ|ρ|ψ⟩
293290
expect(fidelity).toBeCloseTo(0.5, 5);
@@ -319,9 +316,6 @@ describe('Testing non-Bell-diagonal matrices', () => {
319316
const wernerBell = toBellBasis(wernerComp);
320317
const fidelityFromBell = fidelityFromBellBasisMatrix(wernerBell, BellState.PHI_PLUS);
321318

322-
console.log('Werner state fidelity from computational basis:', fidelityFromComp);
323-
console.log('Werner state fidelity from Bell basis:', fidelityFromBell);
324-
console.log('Werner state Bell basis matrix diagonal:', wernerBell.get(0,0).re);
325319

326320
// Both should give the same result
327321
expect(fidelityFromComp).toBeCloseTo(fidelityFromBell, 10);

tests/engine/operations.test.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,15 +120,19 @@ describe('operations', () => {
120120
// Let's just check if the fidelity calculation runs.
121121
const controlPair = createNoisyEPRWithChannel(0.1, NoiseChannel.UniformNoise);
122122
const targetPair = createNoisyEPRWithChannel(0.1, NoiseChannel.UniformNoise);
123+
const originalRandom = Math.random;
124+
Math.random = () => 0; // force success
123125
const result = bilateralCNOT(controlPair, targetPair);
126+
Math.random = originalRandom;
124127

125128
// Original test used calculateBellBasisFidelity(transformToBellBasis(rho))
126129
// New approach: Use helper function calculateFidelityWrtPhiPlus
127130
const initialFidelity = fidelityFromBellBasisMatrix(controlPair); // Helper uses get()
128131
const finalFidelity = fidelityFromBellBasisMatrix(result.afterMeasurement.controlPair); // Helper uses get()
129132

130133
expect(finalFidelity).toBeDefined();
131-
console.log(`Bilateral CNOT: Initial Fidelity=${initialFidelity}, Final Fidelity=${finalFidelity}, Success=${result.afterMeasurement.successful}`);
134+
expect(result.afterMeasurement.successful).toBe(true);
135+
expect(finalFidelity).toBeGreaterThanOrEqual(initialFidelity);
132136
// TODO: Add more rigorous tests, potentially with known input/output states if the operation simplifies
133137
// or via statistical analysis if the exact BCNOT+measurement implementation is confirmed.
134138
});

0 commit comments

Comments
 (0)