-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bugfix release version cannot run KaHyPar #100
Changes from 3 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -63,7 +63,6 @@ def test_copy(algorithm: SimulationAlgorithm) -> None: | |
simple_circ = Circuit(2).H(0).H(1).CX(0, 1) | ||
|
||
with CuTensorNetHandle() as libhandle: | ||
|
||
# Default config | ||
cfg = Config() | ||
state = simulate(libhandle, simple_circ, algorithm, cfg) | ||
|
@@ -531,15 +530,15 @@ def test_circ_approx_explicit_ttn(circuit: Circuit) -> None: | |
# Check for TTNxGate | ||
cfg = Config(truncation_fidelity=0.99, leaf_size=3, float_precision=np.float32) | ||
ttn_gate = simulate(libhandle, circuit, SimulationAlgorithm.TTNxGate, cfg) | ||
assert np.isclose(ttn_gate.get_fidelity(), 0.769, atol=1e-3) | ||
assert np.isclose(ttn_gate.get_fidelity(), 0.751, atol=1e-3) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Since NetworkX provides a worse partition than KaHyPar, the fidelity in the simulation drops by a bit. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are you sure that you want to update the expected value and not the tolerance? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hmm, I've been using these tests for a very rudimentary regression/improvement tracking, which is why they have a very particular value for the fidelity. It has happened before that changes that I did not expect that would change the fidelity did. If I made the tolerance margin larger, it's likely some of these wouldn't be caught. |
||
assert ttn_gate.is_valid() | ||
assert np.isclose(ttn_gate.vdot(ttn_gate), 1.0, atol=cfg._atol) | ||
|
||
# Fixed virtual bond dimension | ||
# Check for TTNxGate | ||
cfg = Config(chi=120, leaf_size=3, float_precision=np.float32) | ||
ttn_gate = simulate(libhandle, circuit, SimulationAlgorithm.TTNxGate, cfg) | ||
assert np.isclose(ttn_gate.get_fidelity(), 0.857, atol=1e-3) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See above There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, I'd rather change the fidelity. The value of the fidelity is consistent between different runs using the same code. |
||
assert np.isclose(ttn_gate.get_fidelity(), 0.854, atol=1e-3) | ||
assert ttn_gate.is_valid() | ||
assert np.isclose(ttn_gate.vdot(ttn_gate), 1.0, atol=cfg._atol) | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would be careful with allowing 4.0 here, do you need 2.x here, or should we just ask for 3.x to be installed? (see suggestion)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. I believe 3.x should work, but I'll quickly check.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, it works 👍