question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Bikeshed?] Rename `cirq.channel_matrix`?

See original GitHub issue

Is your design idea/issue related to a use case or problem? Please describe.

@Strilanc pointed out that the term “channel matrix” can be given a fairly broad interpretation. This makes it fairly ambiguous, potentially confusing and invites name collisions. Filing the issue to record a discussion and suggestions for a better name.

The term “channel matrix” is intended for one of the matrix representations of quantum channels. Consider a linear map E: L(H1) -> L(H2) from the space L(H1) of linear operators on the Hilbert space H1 to the space L(H2) of linear operators on the Hilbert space H2 (N.B. this two-tier structure is why E is sometimes called a “superoperator”). Note that L(H1) and L(H2) are both vector spaces. They do have more structure than that since their elements are linear operators themselves, but suppose we disregard that additional structure and just treat L(H1) and L(H2) as vector spaces. Then E is simply a linear operator and has a matrix representation M(E). This is what “channel matrix” refers to. In John Watrous’ book “The Theory of Quantum Information” M(E) is referred to as “the natural representation”.

Note that M(E) is distinct from the Choi matrix J(E) of E. In particular, if dim H1 = d1 and dim H2 = d2 then M(E) is a (d1^2)x(d2^2) matrix while J(E) is a (d1*d2)x(d1*d2) matrix.

Also note that cirq.channel_matrix has not yet been introduced into cirq. All we have is a function to compute it from Kraus operators, see #4146. Down the road cirq.channel_matrix or an alternative name proposed here will refer to a protocol that will use the utility introduced in #4146 to compute the matrix of channels that do not know their matrix.

Describe your design idea/issue

Some alternatives:

  • cirq.channel_matrix since this is literally the matrix of a channel, viewed as a linear operator that it is,
  • cirq.natural_representation following John Watrous’ terminology, though it is a bit long.

Related names worth keeping in mind that refer to other representations of quantum channels that already exist or may be introduced in future:

  • cirq.kraus,
  • cirq.choi,
  • cirq.stinespring.

@95-martin-orion @dabacon @balint @mpharrigan @Strilanc

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:9

github_iconTop GitHub Comments

1reaction
viathorcommented, Jun 23, 2021

Check what qiskit calls it.

0reactions
viathorcommented, Aug 25, 2021

Yes, (modulo deprecation, but no need to gate closing on that).

Read more comments on GitHub >

github_iconTop Results From Across the Web

No results found

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found