Skip to content

QREv3 neutral atom models#3198

Open
brad-lackey wants to merge 6 commits intomainfrom
brlackey/neutral-atom-models
Open

QREv3 neutral atom models#3198
brad-lackey wants to merge 6 commits intomainfrom
brlackey/neutral-atom-models

Conversation

@brad-lackey
Copy link
Copy Markdown
Contributor

NeutralAtom class: architecture for a generic neutral atom platform.

SurfaceCodeLowMove class: a variant of the surface code that does syndome extraction with local moves.

Added properties: ACCELERATION, VELOCITY, ATOM_SPACING to support neutral atom platforms.

Comment thread source/pip/qsharp/qre/models/qec/_surface_code_low_move.py Outdated
Comment thread source/pip/qsharp/qre/models/qec/_surface_code_low_move.py
Comment thread source/pip/qsharp/qre/models/qubits/_neutral_atoms.py Outdated
Comment thread source/pip/qsharp/qre/models/qubits/_neutral_atoms.py Outdated
encoding=Encoding.PHYSICAL,
arity=1,
time=0,
error_rate=0.00001,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be configurable? It should also have a comment to explain why we currently do not set the error rate to 0.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a hack so that we can export the T gate without having to build a ISATransform wrapper around NeutralAtom. Once the magic state factories can handle T-gate error rates of 0, we can revert this back to zero.

encoding=Encoding.PHYSICAL,
arity=1,
time=2 * self.handoff_time,
error_rate=1e-4,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be configurable? Is this value ever used or are we only using the move instruction to provide timing information?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is, via the handoff_time keyword. The details of the move are handled at a higher level of the stack, so the only thing I can think of at the platform level for the PHYSICAL_MOVE is the handoff time.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was referring to the hard coded error rate of 1e-4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants