Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
194915b
Add RCS experiment
Feb 27, 2026
c73f29c
typo
Feb 27, 2026
60b82ca
fix docstrings
Feb 27, 2026
7e6e7e3
Merge branch 'main' into rcs_v0
mhucka Mar 3, 2026
c45382d
Add Gemini Code Assist config file (#462)
mhucka Mar 4, 2026
cbc089c
addressed comments
Mar 4, 2026
4debe3e
Merge branch 'main' into rcs_v0
Mar 4, 2026
b21fdb8
Fix incompatible return value found by typecheck
pavoljuhas Mar 5, 2026
fbb390b
Update recirq/random_circuit_sampling/rcs_experiment.py
shashwatk1998 Mar 6, 2026
5eee62e
Update recirq/random_circuit_sampling/rcs_experiment.py
shashwatk1998 Mar 6, 2026
d49d465
Update recirq/random_circuit_sampling/rcs_experiment.py
shashwatk1998 Mar 6, 2026
d7cb15d
addressed Alexis's comments
Mar 6, 2026
35d222a
Merge branch 'main' into rcs_v0
Mar 30, 2026
541f349
docs: add demonstration notebook for RCS and XEB analysis
Mar 30, 2026
3545e2c
update characterize_pairs and add a test for it using ideal fSim gates
Apr 13, 2026
5857254
addressed the comments on the notebook
Apr 13, 2026
f8e7354
Merge branch 'main' into rcs_v0
mhucka Apr 15, 2026
4420921
Add descriptive docstring for _get_phases in CZLayerGate. (#467)
mhucka Apr 15, 2026
8fb3ce4
Update Scorecard workflow (#471)
mhucka Apr 17, 2026
a5b31cc
Remove no-longer-used dev_tools/docs/sphinx/ (#472)
mhucka Apr 17, 2026
5580e85
addressed comments
Apr 21, 2026
c408905
Merge branch 'main' into rcs_v0
Apr 21, 2026
9b9ce51
Merge branch 'main' into rcs_v0
shashwatk1998 Apr 22, 2026
4ccb16d
Improved the introduction and added a conclusion
Apr 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions recirq/random_circuit_sampling/rcs_experiment.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ def characterize_pairs(
results = xeb_characterize.calibrate_z_phases(
sampler=sampler,
qubits=qubits,
two_qubit_gate= gate,
options=options,
)

Expand Down
497 changes: 497 additions & 0 deletions recirq/random_circuit_sampling/rcs_experiment_demonstration.ipynb

Large diffs are not rendered by default.

38 changes: 38 additions & 0 deletions recirq/random_circuit_sampling/rcs_experiment_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,3 +139,41 @@ def test_get_calibrated_circuit():
cirq.is_measurement(op)]
assert len(measurements) == 1
assert measurements[0].qubits == (q0, q1)


def test_characterize_pairs_ideal():
"""Verifies that characterization on a noiseless simulator returns ideal angles."""
q0, q1 = cirq.GridQubit(0, 0), cirq.GridQubit(0, 1)
qubits = [q0, q1]
sampler = cirq.Simulator()

theta = np.pi / 2
phi = np.pi / 6
base_gate = cirq.FSimGate(theta=theta, phi=phi)

char_results = rcs.characterize_pairs(
sampler=sampler,
qubits=qubits,
gate=base_gate,
theta=False,
phi=False,
zeta=True,
chi=True,
gamma=True
)


pair = tuple(sorted((q0, q1)))
assert pair in char_results

actual_gate = char_results[pair]
assert isinstance(actual_gate, cirq.PhasedFSimGate)

# Theta and phi angles should be close to the ideal values in ideal sim
assert actual_gate.theta == pytest.approx(theta, abs=1e-2)
assert actual_gate.phi == pytest.approx(phi, abs=1e-2)

# Z-phases (zeta, chi, gamma) should be effectively zero in ideal sim
assert actual_gate.zeta == pytest.approx(0, abs=1e-1)
assert actual_gate.chi == pytest.approx(0, abs=1e-1)
assert actual_gate.gamma == pytest.approx(0, abs=1e-1)
Loading