blog <| code

Week 2: Activity Summary

06-02-2012 In GSoc.

This week there was fewer lines of code than last week. But, with this week I have almost(except partial trace) merged all changes from @ellisonbg's densityop branch and ready to extend the implementation to incorporate other features.  Most of the time I spent this week is to review and structure my work for the coming weeks and address comments on previous PR . I have provided a detailed plan below.

Tasks performed this week

1. Responded to and completed all comments on last weeks pull PR1312.
2. Pushed a minor code change branch to my git account. This change handles entropy for general density operators.  (I am still waiting for the previous pull request to get merged, since this pull request was branched off that).
3. Review and understand the partial trace operations and qubit related implementation.  Further notes will be prepared for the discussion.
4. Understand current implementation of tensor products to plan work for coming weeks.

My plan for weeks 3,4,5,6 ( based on design discussion we have had regarding partial trace )

(Note, the detailed plan here still meets the timeline outlined in the proposal. The only change is I will be working fewer hours during Week 4(June 10-16), since I am at the summer school. Hopefully, I can contain the work to not flow into later weeks). 

Week 3/4

Implement/test partial trace methods [ _eval_partial_trace ] and other required methods for following classes:

QubitDensity (name suggestion needed!) : for this I will use the current bit-twiddling algorithm but add detailed test cases.
TensorProduct : Code to handle density operators ( both qubit based and generic) during expand, mul operations.
TensorProduct : _eval_partial_trace method will split the sub-system to trace. and then based on states inside Tr(|i><k|). [This needs more discussions during the next few days and during IRC session.]
Sub-classes of 'State' : Need to decide which subclasses need and how it should be done.

Week 5

Symbolic Trace operations and Partial Trace operations.

Week 6

Changes to qapply for L and R operations and any operations that would be needed based on changes so far. (will also fix the bug identified in PR 1312)