You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: examples/challenge_suite/problem_10.md
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,7 +65,13 @@ Required result keys:
65
65
-`energy_history`: NumPy array with shape `(max_steps,)`.
66
66
-`final_parameters`: final rotation tensor with shape `(n_layers, n_qubits, 3)`.
67
67
68
-
Each history records one value per optimizer update, evaluated immediately before applying that update. The evaluator derives initial/final energy density from the first/last entries of `energy_history`. The largest gate size and requested step count are fixed by the evaluator configuration and are not returned by the solution.
68
+
Each entry of `energy_history` must store the **energy density**
69
+
70
+
```text
71
+
<H> / n_qubits
72
+
```
73
+
74
+
evaluated immediately before the corresponding optimizer update, not the raw total energy `<H>`. The evaluator derives initial/final energy density from the first/last entries of `energy_history`. The largest gate size and requested step count are fixed by the evaluator configuration and are not returned by the solution.
69
75
70
76
## Evaluation Interface
71
77
@@ -75,7 +81,7 @@ The evaluator file is `evaluate_10.py`. It dynamically imports a solution module
75
81
python evaluate_10.py --solution solution_10
76
82
```
77
83
78
-
The evaluator consumes only the returned result dictionary. It prints solution time, exact-reference time, initial and final energy densities, exact ground-state energy density, VQE gap, energy-history length, largest gate size, returned keys, and pass/fail criteria. It does not save files or create plots by default.
84
+
The evaluator consumes only the returned result dictionary. It prints end-to-end solution time, exact-reference time, initial and final energy densities, exact ground-state energy density, VQE gap, energy-history length, largest gate size, returned keys, and pass/fail criteria. It does not save files or create plots by default.
Copy file name to clipboardExpand all lines: examples/challenge_suite/problem_4.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ Here `p01` is the probability for `0 -> 1` and `p10` is the probability for `1 -
34
34
35
35
Use four fixed 12-qubit inputs and the same noisy probe circuit for every input. The four inputs are a GHZ state `(|0...0> + |1...1>) / sqrt(2)`, Bell-like pair states `(|01> + |10>) / sqrt(2)` on pairs `(0,1), (2,3), ..., (10,11)`, `|0>^12`, and `|+>^12`.
36
36
37
-
The shared probe circuit is one even-bond brickwork entangler layer. On every bond `(0,1), (2,3), ..., (10,11)`, apply `RXX(0.31)` with convention `RXX(theta) = exp(-i theta X_i X_j / 2)`, and then apply the asymmetric bit-flip channel independently to the two qubits in that bond.
37
+
The shared probe circuit has two brickwork entangler sublayers. First apply one even-bond layer on bonds `(0,1), (2,3), ..., (10,11)`, where each bond receives `RXX(0.31)` with convention `RXX(theta) = exp(-i theta X_i X_j / 2)` followed by the asymmetric bit-flip channel independently on both qubits in that bond. Then apply one offset odd-bond layer on bonds `(1,2), (3,4), ..., (9,10)` with the same `RXX(0.31)` entangler and the same per-qubit asymmetric bit-flip channel after each odd-bond entangler.
38
38
39
39
All probes therefore have identical noisy entangler structure and differ only in the initial state.
40
40
@@ -99,15 +99,15 @@ The TensorCircuit-NG solution in `solution_4.py` can be evaluated with:
99
99
python evaluate_4.py --solution solution_4
100
100
```
101
101
102
-
Observed TensorCircuit-NG/JAX baseline in the current validation environment with the entangled-probe default configuration:
102
+
Observed TensorCircuit-NG/JAX baseline in the current validation environment with the two-sublayer entangled-probe default configuration:
103
103
104
-
- End-to-end solution time: `47.45s`.
105
-
- Initial loss: `6.70448504e-03`.
106
-
- Final loss: `3.09971142e-08`.
107
-
- Fitted `p01`: `0.03398004`.
108
-
- Fitted `p10`: `0.01109863`.
104
+
- End-to-end solution time: `32.91s`.
105
+
- Initial loss: `7.07078446e-03`.
106
+
- Final loss: `2.54623540e-08`.
107
+
- Fitted `p01`: `0.03403885`.
108
+
- Fitted `p10`: `0.01104033`.
109
109
- Trace-preserving error: `1.11022302e-16`.
110
110
111
111
## Implementation Hint
112
112
113
-
For a TensorCircuit-NG/JAX baseline, use `DMCircuit` with `apply_general_kraus` to insert the custom one-qubit channel after each entangling operation. The probes share one noisy entangler structure and differ only in their initial states, keeping the benchmark focused on the trainable channel. Keep the Kraus operators as differentiable tensor algebra, enforce positivity with sigmoid-parameterized probabilities, and verify trace preservation by contracting `sum_a K_a^\dagger K_a`.
113
+
For a TensorCircuit-NG/JAX baseline, use `DMCircuit` with `apply_general_kraus` to insert the custom one-qubit channel after each entangling operation in both the even-bond and odd-bond sublayers. The probes share one noisy entangler structure and differ only in their initial states, keeping the benchmark focused on the trainable channel. Keep the Kraus operators as differentiable tensor algebra, enforce positivity with sigmoid-parameterized probabilities, and verify trace preservation by contracting `sum_a K_a^\dagger K_a`.
0 commit comments