Menu

Multi-Site, Two-Point Operator

Technical
2014-02-07
2014-02-07
  • David Maurice Larue

    On Wed, Nov 20, 2013 at 2:25 PM, Aaron R. Glick aglick@mymail.mines.edu

    Hello Michael,

    My name is Aaron Glick, and I'm in Dr. Carr's group working on the
    quantum game of life. I'm doing to simulations in MPS, and I've
    come across some questions.

    Namely, is there a way to add an MPO term with more than two
    operators? I've been looking through the documentation, and all of
    the examples only have two operators, (i.e. for the finite function
    \Sigma_{i,i+1<=j<=i+3} (n_{i} n_{j})). For our Hamiltonian, we want
    to look at 5 operators each acting on a different site.
    Specifically, I have: n_{i-2} n_{i-1} b_{i} n_{i+1} n_{i+2}.

    I know you can look at neighboring interactions with the finite
    function specification, but it appears in the code that you can only
    have it look at two sites simultaneously. I know how to define
    generic matrix operators, but I don't think you can write say the
    number operator for a different site by just redefining the matrix
    elements.

    Is there a way to get products of more than two operators being
    evaluated at more than 2 sites?

    Please let me know if I can provide more information of my problem,
    or if there's an section of the code that I can look at to solve my
    problem.

    Also, I'm going to help finalize the MPS documentation and code so
    that we can get it open source. Is there anything that you know of
    explicitly that you wanted to add to MPS but did not have time?

    Thank you,
    Aaron Glick

     
  • David Maurice Larue

    Subject: Re: MPS Question on Multi-Site Operators
    Date: Wed, 20 Nov 2013 14:51:47 -0700
    From: Michael Wall mwall.physics@gmail.com

    Hi Aaron,

    I'll answer your questions in a somewhat random order...

    Also, I'm going to help finalize the MPS documentation and code so
    that we can get it open source.  Is there anything that you know of
    explicitly that you wanted to add to MPS but did not have time?
    

    Lots... I think there was a wish list document that was included with
    the code, is that still around? Maybe some of the things on there are
    not so important. Two things that I do think are important are that we
    include TEBD-style time evolution together with the Krylov method which
    is currently included. TEBD would only work for nearest-neighbor
    Hamiltonians, of course, but it is faster and more people are used to
    it. The other essential thing I see is a unified format to input and
    output the MPS form of quantum states. This will help when people want
    to restart simulations or start from given initial states. It would be
    nice if all of us using the code could come up with a unified idea of
    what is essential to include in the open source code, as well as a list
    of its present capabilities.

    Namely, is there a way to add an MPO term with more than two operators?
    
    Is there a way to get products of more than two operators being
    evaluated at more than 2 sites?
    

    Not in the present version of the code, which only treats pairs of
    sites, as you note. However, in principle, this is straightforward with
    MPOs. How familiar are you with the theory of MPOs? For example, if
    you wanted to include a term like \sum_{i} a_i b_{i+1} c_{i+2}, the MPO
    matrix would be
    (I 0 0 0)
    (a 0 0 0)
    (0 b 0 0)
    (0 0 c I )
    This is similar to the finiteFunction MPO, except that it involves a
    product rather than a sum. The main reason that I didn't include
    higher-body terms in the code was it was unclear how to do so
    generally without requiring that the functions have an overly
    cumbersome syntax. Also, it should be noted that what you are doing is
    extraordinarily unusual... most folks don't measure more that two-point
    correlation functions. That being said...

    Specifically, I have: n_{i-2} n_{i-1} b_{i} n_{i+1} n_{i+2}
    

    If all the operators in the string are contiguous, then this is just a
    generalization of what I wrote earlier. This can probably be coded up
    fairly easily and have a straightforward syntax. What would we call
    this? Many-body? Finite string? Also, note that you would get the
    expectation of this operator summed over all sites rather than its
    expectation for a given i. This is what you want, right?

    A final option is to give the user the option of providing an actual MPO
    matrix to the code. While this would enable arbitrary observables, this
    really would be an experts-only functionality and so I never invested
    much time in it. Because many of the things I'm talking about are
    design questions for the code, I've cc'ed Lincoln. Lincoln, any thoughts?

    If we do decide to include the many-body operator functionality as I've
    described it above, this would be fairly straightforward for me to
    include. Still, I would like to have a unified svn repository of all
    materials to be open sourced before anyone modifies anything. Hope this
    helps.

    -Michael

     
  • David Maurice Larue

    Date: Wed, 27 Nov 2013 10:37:07 -0700
    From: Lincoln Carr lcarr@mines.edu
    Subject: Re: MPS Question on Multi-Site Operators

    Hi Michael,

    [...]

    Our standing issues are:
    1. Dynamics does not produce correct critical exponents, so we're stuck
    on the several Kibble-Zurek projects till we resolve the matter
    2. Need mutual information -- nonlocal two-point operators
    3. Need products of 3, 4, and 5 spatially contiguous operators

    Sincerely,
    Lincoln

     
  • David Maurice Larue

    Date: Wed, 27 Nov 2013 15:12:01 -0700
    Subject: Re: MPS Question on Multi-Site Operators
    From: Michael Wall mwall.physics@gmail.com

    Hi Lincoln,

    [...]

    As for the outstanding issues, I wouldn't call 1 an outstanding issue of
    the code. Rather, we should benchmark the dynamics methods in MPS using
    other methods, such as exact diagonalization or BdG. I am aware of only
    two papers using MPS methods for KZ physics .

    One is http://arxiv.org/pdf/cond-mat/0701768.pdf, where they say:

    We find the rescaled plots to overlap reasonably well confirming the
    expected \sqrt{\tau_Q} scaling. The overlap is not perfect, but the
    scaling is expected when \tau_Q\gg 1 which is not quite satisfied
    by the \tau_Q available from our numerical simulations.

    The other is PRB 85, 100505(R) (2012), where they carefully modify the KZ
    scaling to account for finite size effects.

    3 will be easy to take care of. Once the svn is up I can work on this.

    For 2, the code implements the expectation of arbitrary two-point
    operators. The difficulty is that the mutual information is not the result
    of measuring a two-point Hermitian observable. For implementing quantum
    information measures such as this, the question is just how the users asks
    for them from the code. Do we have a pre-defined suite of quantum
    information measures available? Do we have the code output specific
    density matrices, and then the user can postprocess as they see fit? I'm
    more in favor of the latter approach.

    The other two major outstanding issues I see were mentioned in my response
    to Aaron above. Namely, TEBD-style time evolution and input/output of
    states.

    -Michael

     
  • David Maurice Larue

    Date: Mon, 2 Dec 2013 17:33:42 -0700
    From: Lincoln Carr lcarr@mines.edu
    Subject: Re: MPS Question on Multi-Site Operators

    Hi Michael,

    We will likely piggyback on physics.mines.edu in some fashion via
    Scales' server. We have moved the SVN to top priority, for both MPS and
    TEBD.

    I agree the easiest and most general approach to the mutual information
    is to have the code output specific density matrices. Then the user can
    do post-processing. We would however need rho_ij as well as rho_i,
    rho_j to get mutual information. The diagonalization of the rho's to do
    the trace would be pretty small, so no problem post-processing. Then,
    yes, you're right, we can do a variety of entropy-type measures, of
    which mutual information is one. But we do need a single and two point
    reduced density matrix.

    Sincerely,
    Lincoln

     
  • David Maurice Larue

    Date: Tue, 3 Dec 2013 13:25:37 -0700
    Subject: Re: MPS Question on Multi-Site Operators
    From: Michael Wall mwall.physics@gmail.com

    Hi Lincoln,

    I agree that outputting density matrices is the most flexible approach.
    For the single-site density matrices, these are computed already, and it
    is just a matter of outputting them. In this case, outputting all density
    matrices as a list seems reasonable. That is, the user just asks for the
    single site density matrices and the code returns all such density
    matrices.

    For the two-point reduced density matrices, does it make sense to have the
    user explicitly specify which two sites they want? In your case you will
    always want all two-point density matrices, right? But the general user
    probably doesn't want all of this information, and these are quite
    expensive to calculate.

    -Michael

     
  • David Maurice Larue

    Date: Mon, 16 Dec 2013 11:44:10 -0700
    From: Lincoln Carr lcarr@mines.edu
    Subject: Re: MPS Question on Multi-Site Operators

    Hi Michael,

    We plan to use the full set of two-point reduced density matrices for a
    variety of calculations. Actually, we're rather hoping to spark a new
    field. So setting up code that easily gives people this information
    will help. Why not have an option to calculate either only two lattice
    sites or all of them? If all of them, perhaps outputting only mutual
    information is a good idea after all, as otherwise we will get a huge
    amount of data to read/write from the hard drive. What do you think?

    Due to dynamics we really do need all, I believe. That is, we can't
    assume reflection symmetry around the middle of the lattice.

    Sincerely,
    Lincoln

     
  • David Maurice Larue

    Date: Tue, 14 Jan 2014 11:42:06 -0700
    From: Lincoln Carr lcarr@mines.edu
    Subject: two point operators

    Hi Michael,

    After some discussion, we have concluded that we would like to write two
    point operators to disk in open MPS. We think we will need at most ~2
    GB of data per study of 1000 runs, 1000 time steps, lattice size of 625
    (5^4, giving us 4 orders of magnitude for quantum game of life).
    Because we want to apply different complex network measures to mutual
    information it's best to have, for example, rho_ij and then do
    post-processing to get S_ij and M_ij.

    [...]

    Sincerely,
    Lincoln

     
  • David Maurice Larue

    Date: Wed, 15 Jan 2014 09:44:30 -0700
    Subject: Re: two point operators
    From: Michael Wall mwall.physics@gmail.com

    Hi Lincoln,

    Noted. I've branched from the repo to start the improvements we've talked
    about.

    [...]

    -Michael

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.