[GSOC 2012] Interested in Symbolic Quantum Computing

54 views
Skip to first unread message

Guru Devanla

unread,
Mar 18, 2012, 7:33:47 AM3/18/12
to sy...@googlegroups.com
Hello All,

I am a 3rd year PhD student in the Computer Science Department at University of Illinois,Chicago, working on Quantum Algorithms with a focus on graph problems.  As part of GSOC 2012, I would like to work on implementing one/few of the ideas listed under Symbolic Quantum Computing.

I see that there is a laundry list of 4+ items listed right now: 
Quantum Error Correction
Solovay-Kitaev algorithm
Gate+circuit simplification using genetic algorithms.
etc.

I plan to go through the quantum modules and understand where the current implementation stands in terms of the above ideas during the next few days. Is it possible for someone here to give me pointers as well so that I don't go way offtrack trying to figure out what may be needed. 

I am also familiar with the libquantum C libraries that I have been using for my research.

For fulfilling the patch requirement, I have fixed one of the TODO items in the quantum module itself, that helped me get a head start. The pull request can be found here: 
https://github.com/sympy/sympy/pull/1137.  Please let me know if this is sufficient.

-Guru

Guru Devanla

unread,
Mar 18, 2012, 7:43:50 AM3/18/12
to sy...@googlegroups.com
Hello All,

I am a 3rd year PhD student in the Computer Science Department at University of Illinois,Chicago, working on Quantum Algorithms with a focus of graphs.  As part of GSOC 2012, I would like to work on implementing one/few of the ideas listed under Symbolic Quantum Computing.

I see that there is a laundary list of 4+ items listed:
Quantum Error Correction
Solovay-Kitaev algorithm
Gate+circuit simplification using genetic algorithms.
etc.


I plan to go through the quantum modules and understand where the current implementation stands in terms of the above ideas. Is it possible for someone here to give me pointers as well so that I don't go way offtrack trying to figure out what may be needed.  I am also familiar with the libquantum C libraries that I have been using for my research.

For fullfilling the patch requirement, I have fixed one of the TODO items in the quantum module. The pull request can be found here:

Sean Vig

unread,
Mar 18, 2012, 9:48:11 PM3/18/12
to sy...@googlegroups.com, Brian Ellison
Hi Guru,

It's great to hear you're interested in working with SymPy. As a side note, I'm a 1st year physics grad student at the Urbana-Champaign campus.

The hole in my quantum module knowledge is the quantum computation stuff. However, if you build yourself up from the Operator and State classes and don't stray too far from the quantum module, it's hard to get too far off track. If you start looking at it and you have any questions, you can ask here, or if you have more general questions on the quantum module, you can usually find me idling in the IRC channel as svig. The person that can help you the most with the computation stuff is Brian Granger.

Sean

--
You received this message because you are subscribed to the Google Groups "sympy" group.
To view this discussion on the web visit https://groups.google.com/d/msg/sympy/-/8851BfklMKcJ.

To post to this group, send email to sy...@googlegroups.com.
To unsubscribe from this group, send email to sympy+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sympy?hl=en.

Guru Devanla

unread,
Mar 19, 2012, 11:13:37 AM3/19/12
to sy...@googlegroups.com, Brian Ellison
Hi Sean,

Thanks for the note!  I will definitely seek your's and Brian's help as I proceed with my research this week. My understanding so far, is that, sympy's quantum module currently does not have a way to encode/decode QEC into register's. May be we should start with allowing one type of error code? So, I am going to be looking at that part first. Once, I figure out the scope of adding that functionality, I will venture into the other ideas that were listed.

Would you know or could you guess what kind of functionality is expected in terms of density matrices? 

Thanks
Guru

To unsubscribe from this group, send email to sympy+unsubscribe@googlegroups.com.
To unsubscribe from this group, send email to sympy+unsubscribe@googlegroups.com.
To unsubscribe from this group, send email to sympy+unsubscribe@googlegroups.com.

Alan Bromborsky

unread,
Mar 19, 2012, 11:26:53 AM3/19/12
to sy...@googlegroups.com
To view this discussion on the web visit https://groups.google.com/d/msg/sympy/-/DbwfZlv4vNAJ.

To post to this group, send email to sy...@googlegroups.com.
To unsubscribe from this group, send email to sympy+un...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
You might find the attached alternative treatment of quantum computing interesting.
A Geometric Algebra Perspective On Quantum Computational Gates And Universality In Quantum Computing.pdf

Brian Granger

unread,
Mar 19, 2012, 8:24:59 PM3/19/12
to sy...@googlegroups.com
Guru,

> I am a 3rd year PhD student in the Computer Science Department at University
> of Illinois,Chicago, working on Quantum Algorithms with a focus on graph
> problems.  As part of GSOC 2012, I would like to work on implementing
> one/few of the ideas listed under Symbolic Quantum Computing.

Great, nice to meet you. The list of topics below is a bit outdated,
but I will comment on the specific items inline below.

> I see that there is a laundry list of 4+ items listed right now:
> Quantum Error Correction

We have not done anything on this topics. It is a vast topic and
would require a good knowledge of quantum computing and error
correction. Would be very important and interesting though.

> Solovay-Kitaev algorithm

I would google around to find the proposal on this topic from last
summer (it was not selected). That would give you good ideas on how
to proceed. This algorithm is pretty complex though so in your
application you would need to demonstrate a solid understanding of it
and how you would implement it.


> Gate+circuit simplification using genetic algorithms.

I have had a student working on this during the year. He has made
good progress and should be finishing up the work in the next month.
His working pull request is here:

https://github.com/sympy/sympy/pull/959

But I want to emphasize that there are many other things you could
propose to do. If there are other topics that are close to your
research, definitely bring them up for discussion. I also have a
branch up with a good start to density matrices:

https://github.com/ellisonbg/sympy/tree/densityop

That would also make a very good GSOC project. Let me know if you are
interested in that.


> I plan to go through the quantum modules and understand where the current
> implementation stands in terms of the above ideas during the next few days.
> Is it possible for someone here to give me pointers as well so that I don't
> go way offtrack trying to figure out what may be needed.


> I am also familiar with the libquantum C libraries that I have been using
> for my research.

Are there things in libquantum that we don't have?

> For fulfilling the patch requirement, I have fixed one of the TODO items in
> the quantum module itself, that helped me get a head start. The pull request
> can be found here:
> https://github.com/sympy/sympy/pull/1137.  Please let me know if this
> is sufficient.

Another good thing to look at improving to get started is the circuit
plotting. It is currently very basic and you could probably find many
things to improve.

Cheers,

Brian

> -Guru
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/sympy/-/8851BfklMKcJ.
> To post to this group, send email to sy...@googlegroups.com.
> To unsubscribe from this group, send email to

--
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgra...@calpoly.edu and elli...@gmail.com

Guru Devanla

unread,
Mar 21, 2012, 7:26:44 PM3/21/12
to sy...@googlegroups.com, elli...@gmail.com
Hello Brian,

Thank you for the input. A little bit about myself: I have gained an  good understanding on quantum computing for the past 2 semesters and my current research is primarily on using quantum computing to understand graph properties. That said, I have a good grasp of quantum computing(A little bit about myself: I have been gaining an
understanding on quantum computing for the past 2 semester and my current research is primarily on using quantum computing to understand graph properties(but minimal on quantum error detection). But, since I have not really picked any  research topic I would be open to ideas from you.

__Proposal 1:__

That being said, I started off looking at the circuitplot functionality we currently have. As you said, currently the plot features are very basic. I tried to make a laundry list of ideas for this functionality, _based_ on the _TODO_ list in the file itself. Therefore to elaborate, I see these as some features we could build:

1. Break up long running circuits into chunks ( based on number of gates/line,
or use configured options). We could have multiple sub-plots.
2. Nested circuits? Add multiple plots for nested circuits.
3. Multi-target gate plotting. Right, now this is not available.  Also label ancilla bits?
4. Display intermediate states on the wire. I have found this very useful while
presenting the flow of the circuits. I have been doing this using pstricks. May be we could have an output to PSTricks as well?
5. Make pyplot parameters more configurable from the client. Currently, all the formatting values are hard-coded.
6. And of course, fix some bugs related to single gates.

7 As a side effect to this, gate_sort() may have to handle nested circuits, and we could see if the function needs improvements.

Would this alone be a good set of goal for GSOC? Would this have a good priority with respect to other Sympy GSOC project?


___Regarding density operators___: I looked at your densityop branch, and I see that it may be missing the partial trace operation(reduced density
operator.).  If you could elaborate on set of features you have in mind I can take it from there and see if there can be a proposal on that.

Regarding libquantum: One of the items libquantum has is a quantum error correction module, but right now it only supports Steane's 3-bit code. I would like to see if I can build some basic framework for error correction for sympy.  http://www.libquantum.de/api/1.1/Quantum-Error-Correction.html

For Sympy, I was thinking this would involve:

a. ability to encode qubits based on an Encoder.
b. apply the operator with errors ( how to represent the generic error model? ).
c. ability to decode using the recovery operator.

Should all these be inputs from the user?

I apologize for the long winding email, but I decided its better to put my thoughts out before I start taking a specific path.

Regards
Guru

> sympy+unsubscribe@googlegroups.com.


> For more options, visit this group at
> http://groups.google.com/group/sympy?hl=en.

Reply all
Reply to author
Forward
0 new messages