HomePage
PmWiki
pmwiki.org
|
This changelog is no longer used, use git log instead.
Changes in trunk/
- 2010: The changelog hasn't been updated for a while - see the svn logs for recent changes.
- 2008-10-10: Added
f modifier for the NumStates line in the DMRG configuration, to allow changing the MixFactor parameter during the run
- 2008-09-05: Added various options to
mp-localcorrelation to allow the calculation of string correlation functions, including --ferimionic
- 2008-04-28: Tweaked the interface of
mp-apply-multiple so that it is useful (and matches mp-apply-opt )
- 2008-04-28: Added
--real and --imag options to mp-overlap
- 2008-02-25: Added
mp-evolve-bonds tool for time evolution via Suzuki-Trotter and related decompositions.
- 2008-02-08: Added
--real and --imag options to mp-expectation
- 2008-01-21: Added
mp-local-fourpoint-ex , for calculating general four-point correlators
- 2007-12-19: Added
dot() function to the expression parser
- 2007-12-10: Added tools for manipulating the symmetries and basis states of an MPS;
mp-scale-basis , mp-shift-basis , mp-reorder-basis , mp-rename-symmetry and mp-reorder-symmetry
- 2007-11-09: Optimized returning complex values from mixed C++/fortran calls for 64-bit platforms
- 2007-11-02: Added
--casimir option to mp-info , to display the expectation values of the casimir invariant operators for each density matrix. (The casimir invariants are the labels of the group representations; for {$U(1)$} the casimir invariant is the particle number (or z-spin, etc), for {$SU(2)$} the casimir invariant is {$S^2 = s(s+1)$})
- 2007-11-01: Added
-2 option to mp-info , to get the entropy in base 2. Also cleaned up the output so that it doesn't need an awk script to extract the numbers
- 2007-08-16: Bug fix in
mp-random , where the wrong command line parameter was used for the output filename when using named options instead of positional options
- 2007-08-13: Bug fix where temporary files were not being deleted if the program terminated abnormally. Now, temporary files are immediately unlinked and never appear in a directory listing
- 2007-08-02: In
mp-gmres-init/resume , used to show the residual norm in the .sweep file, changed now to show the squared residual norm
- 2007-07-31: Make
mp-stringcorrelation incorporate the 'join' operator also into the first site
- 2007-07-31: Added
--beta and --seed options to mp-random
- 2007-07-16: Removed
mp-expectation-sq , it is redundant now that operator expressions can be used
- 2007-07-16: Added
--balanced option to mp-add , which rotates the input wavefunctions so the fidelity is real and positive. This is useful for constructing interpolated initial guess vectors for DMRG, to save having to check that the fidelity is positive
- 2007-07-16: Make
mp-expectation and mp-localexpectation use disk rather than RAM for temporary storage, via MP_BINPATH
- 2007-07-06: Bug fix in
mp-construct . Obviously no one had tried running this program for a while...
- 2007-07-03: Added a new tool:
mp-density-overlap calculates {$\mathrm{Tr} \; \rho_1 \rho_2 $} for the left reduced density matrices of two wavefunctions {$|\psi_1\rangle$} and {$|\psi_2\rangle$} at each partition
- 2007-07-01: Implemented removal of small components of MPS operator representations. I think this is safe, but this section of the code has caused problems in the past so be warned. This works by removing matrix elements where the squared modulus of the component added at a particular site is smaller than epsilon. The actual value of epsilon used is read by the environment variable
MP_OPERATOREPSILON . The default value is the machine epsilon. set MP_OPERATOREPSILON=0 to get the behavior prior to 2007-07-01, of never culling such matrix elements. If you ever see a difference in the expectation value of operators obtained with a different MP_OPERATOREPSILON then please report it
- 2007-06-25: Added
mp-theta2 tool for calculating the angle {$\theta^2$} between input wavefunctions. {$1-\theta^2/2 = \cos \theta = \langle A | B \rangle / ||A|| \; ||B||$}
- 2007-06-24: Updates to
mp-trunc and mp-apply-opt , more imformative output and the options are more consistent with the other tools. Use -m to set the maximum number of states, --minstates to set the minimum
- 2007-06-20: Make
mp-evolve-krylov-simple respect MP_BINPATH environment variable
- 2007-06-19: Changed the ordering of the basis states in the {$U(1)$} Hubbard model. This is for consistency with
mp-wigner-eckart , so that the {$SU(2)$} wavefunctions can be projected down to {$U(1)$} and work with {$U(1)$} lattice files. Unfortunately, this makes the new lattice files incompatible with old wavefunctions
- 2007-06-15: Added
mp-wigner-eckart , to project wavefunctions from non-Abelian symmetries onto the z-axis.
- 2007-06-12: Added
conj() and adjoint() functions for MPOperator types as well as to the expression parser. Adjoint(x) is equivalent to the operator Hermitian conjugate. The usual subtleties apply for {$SU(2)$}. **Not well tested yet
- 2007-06-09: Bug fix where the DMRG program would hang sometimes (caused by a division by zero leading to LAPACK trying to diagonalizing a matrix of NaN, which seems to loop indefinitely instead of doing something sensible)
- 2007-06-06: Bug fix where it was not possible to create files larger than 2GB on 32-bit machines. This should be fixed, but it is not confirmed yet that it works
- 2007-05-25: New script to automate calculation of spectral functions, from Sebastian Smerat. See
scripts/spectral/ . Don't ask me how to use it ;-)
- 2007-05-23: Added
mp-load-0.7.3 tool, which converts wavefunctions from the version 0.7.3 format to the trunk format
- 2007-05-15: Added commutator brackets to the operator parser. This is good for calculating linear response: {$\frac{dA}{dt} = i[H,A]$} translates to
mp-expectation psi lattice:"1.0i*[H,A]"
- 2007-05-12: New tool:
mp-apply-multiple works in a similar way to mp-apply-opt , but you can specify multiple right-hand-sides, which are summed. An example of use is to calculate the residual vector from a GMRES calculation, {$|r\rangle = |b\rangle - A|x\rangle$}
- 2007-05-12: Bug fix in storing the wavefunctions: it was intended that all of the wavefunction would be stored on disk, except for the current center matrix, but a small bug prevented that
- 2007-05-10: Bug fix in calculating the residual norm in GMRES, where the calculation of the <lv|A|cv> contribution was inaccurate. This fixes the long-standing problem where sometimes a 'nan' would appear for the residual norm. The inaccuracy is only serious when the residual norm is large, once the correction vector has converged the calculation is accurate. Also, the residual norm is now normalized by the length of the lanczos vector, so it accurately represents the angle between |lv> and A|cv>
- 2007-05-09: Faster method for calculating the fidelity in the DMRG, so we now calculate it every sweep
- 2007-05-08: Added some new statistics to the
.sweep file produced by DMRG, these are the `truncated energy` (the sum over a sweep of the differences in energy before and after the truncation), and the standard error in the energy over the sweep. The truncated energy is an approximation of how far the state is above the exact groundstate, it seems to be accurate within a factor 2 or so. The standard error gives an indication of how position-dependent the energy is. Both these quantities depend strongly on the truncation scheme (will be close to zero for a single-site algorithm with no mixing, for example).
- 2007-05-08: DMRG: only calculate {$(H-E)^2$} if the sweep was converged.
- 2007-05-06: Changed the normalization of the mixing terms in the density matrix, seems to converge better now
- 2007-05-06:
mp-apply now uses the usual operator expression syntax, rather than having separate parameters for the lattice file and operator
- 2007-05-05: New operator parser based on boost::spirit library. See OperatorExpressions for details
- 2007-05-03: Added 'r' and 'b' options to the
NumStates configure line for DMRG and GMRES. 'r' sets a maximum desired truncation error per site for that sweep, 'b' only works in GMRES and changes the broadening for that sweep. Example: NumStates = 10 20 40 60 80 0r1e-10ws means do 5 sweeps keeping 10,20,40,60 then 80 states, then on the 6th sweep, use a maximum truncation error per site of {$10^{-10}$}, wait for convergence and save the wavefunction. The number of states is still required, and acts as the maximum number of states to keep: using 0 means 'no limit'
- 2007-04-28: Added
mp-canonical , for producing the wavefunction corresponding to the {$T = \infty$} density matrix of a finite temperature lattice. For this to work, the sites must appear in pairs of (real,ancilla) where the maximally entangled state is {$\vert1_r\rangle \otimes \vert 1_a\rangle + \vert2_r\rangle \otimes \vert 2_a\rangle + \ldots$}
- 2007-04-22: Added
mp-local-fourpoint , for the fast calculation of four point correlation functions, in the style of mp-local-correlation
- 2007-04-22: Added
mp-chiral-correlator-su2 , which is a version of mp-localexpectation for quickly calculating the chiral correlator {$\mathbf{S}(i)\times\mathbf{S}(i+1) \; \cdot \; \mathbf{S}(j) \times \mathbf{S}(j+1)$} using {$SU(2)$} symmetry
- 2007-04-16:
mp-opinfo is functional again. The output might not be very readable
- 2007-04-16: Bug fix where the result of some MPS operator operation is zero, caused a segfault
- 2007-04-08: Bug fix in splitoperator.h that caused checkpoint files to be unreadable
- 2007-04-07:
mp-random : fix bug that resulted in the order of lattice sites being reversed
- 2007-04-07:
mp-info : added localbasis option to show the local basis at each site of a wavefunction
- 2007-04-07:
mp-trunc is functional again, now includes control over the number of states and truncation error
- 2007-04-07: Added
mp-expectation-sq tool, to calculate the expectation value of the square of an operator
- 2007-04-01: Enhanced
mp-add so that it can calculate the sum of an arbitrary list of wavefunctions, and also allow control over the truncation error and/or number of states.
- 2007-04-01: Changed the convention for specifying the number of states and the truncation error. The new convention is to have default
truncation error of 0. Thus, to set m directly, we need to specify --max-states (abbrev. -x ), rather than --min-states (abbrev. -m ). Note that if we really want to enforce a fixed number of states, you should either set min-states explicitly, or set trunc to a negative number. Unless this is done, singular values that are close to zero will not be kept. UPDATE: I'm still undecided about this.
Changes in 0.7.3 branch
- 2007-05-02: Back-ported
mp-localexpectation from the trunk
- 2007-02-21:
mp-evolve-krylov : Added options --min-krylov , --max-krylov and --max-sweeps
- 2007-02-20:
mp-make-k : Added --unit-size option, to allow setting the size of the unit cell to get the correct lattice size for the Fourier transform
- 2007-02-20: Fix to operator normalization, that corrects a serious bug in
mp-make-k and possibly other programs
- 2007-01-24: Fix in
mp-apply-opt to allow non-scalar operators.
Changes in version 0.7.3.2 (2006-11-16)
- 2006-11-16: Fixed the bugs introduced in version 0.7.3.1.
- 2006-11-17: Fixed another bug caused by 0.7.3.1.
Changes in version 0.7.3.1 (2006-11-09)
- 2006-11-09: Small optimization to reduce the size of lattice file, especially for larger systems
- 2006-11-09: Temporarily removed the
Bond(i) operators from hubbard-u1su2 and hubbard-u1u1 . Define INCLUDE_BOND to get them back
Changes in version 0.7.3.0 (2006-10-19)
- 2006-10-10: Added
mp-defrag tool. This defragments wavefunction files, reducing their size in some situations (mp-apply seems to be a bad offender here).
- 2006-10-10: All of the tools now support the
MP_PAGESIZE and MP_CACHESIZE environment variables, for controlling the behavior of the output binary files. Default MP_PAGEIZE is 65536, make it smaller to reduce fragmentation of the wavefunction files, make it bigger to get faster disk I/O. This number must be a multiple of the operating system memory page size (usually 4096). Default MP_CACHESIZE is 655360. Increase this if you have some spare RAM to get less paging out to disk. A reasonable value would be 100M or bigger.
- 2006-10-09:
mp-tridiag and mp-trispectral now support having a left hand side wavefunction different from the right (needed for multiband spectral functions)
- 2006-10-09:
mp-stringcorrelation now allows the left or right operators to be the identity (I )
- 2006-10-09: Added 'join' parameter for
mp-stringcorrelation . This used to be hard-coded to mSz {$=(-1)^{S_z}$}
- 2006-10-09: start of this changelog. For anything older, see the Subversion logs.
|