2018-12-19 Version 5.44 Developer's interface: * Changes to Model interface; see the manual for details User visible: * Hubbard and related models: sz has correct 0.5 factor now New features: * ChebyshevTargeting added but not yet ready (Alberto) Documentation: * Operator Expressions now documented in manual (only canonical ones supported for now) Build system: * boost-devel is now a dependency. Only header files are used; the boost runtime(s) aren't used 2018-12-10 Version 5.42 Bug fixes: * WARNs about unsupported movements Features * Echoes input file in base64 and cmd line * ModelHeisenberg: anisotropyE added * Model instrospection via operator executable Docs * documentation updated Scripts * getInSitu.pl script added * OmegaUtils: prints also pgfplots Build System * configure.pl: can use default config via env 2018-10-25 Version 5.40 Bug fixes: * minimizeDisk is incompatible with RecoverySave (reported by Wael) Performance: * CorrectionVectorSkeleton: better calR (contributed by Ed) * coutAnalysis improvements * timing matrixVectorKron New defaults: * KrylovNoAbridge SolverOptions added (KrylovAbridge now the default) New features: * shinkStacksOnDisk SolverOptions feature to reduce RAM usage (requested by Nivav) * deltaEnergies script added to help convergence studies 2018-09-27 Version 5.38 Bug fixes: * Recovery: bug fixed. Recovery granularity is N-2 * ModelHubbardMultiBand needed sorting of one-site basis Performance: * ArrayOfMatStruct performance work by Ed * NotReallySort with unordered_map * NotReallySort with on-the-fly for tensor product of Qns * Using Array instead of std::vector in some cases to avoid fill overhead * Basis::setToProduct performance work New features: * Git revision printed if available * coutAnalysis corrected improved 2018-09-11 Version 5.36 Bug fixes: * TargetingMetts bug fix Performance * Qn::operator== improved * KronUseLowerPart now default except for BatchedGemm this should decrease RAM usage Refactor: * WFT uses directly the stacks * NotReallySort: work started to parallelize it New features: * Now checks restart consistency for useComplex * ProgressInUseconds SolverOptions 2018-08-30 Version 5.34 Bug fixes: * bug fix for 1801 * bug fix for HubbardHolsteinSSH * bug fix for METTS * discovered bug in restart for signs which was fixed in PsimagLite 2.34 Refactor: * WFT: in preparation for SVD use * Truncation: in preparation for SVD use in WFT New features * Option -S for both dmrg and observe TestSuite: * postCi compares RAM usage 2018-08-21 Version 5.32 Bug fixes: * HubbardHolsteinSSH bug fix * Kondo bug fix * AdjustQuantumNumbers bug fix Refactor: * Geometry AdditionalData simplified * Hamiltonian Connections restricted to i < j New features: * observe can measure multiple data sets * Engine supports fermion models not conserving Ne TestSuite: * postCi: default gold directory * ci 113: like 2 but measures 2 data sets 2018-08-09 Version 5.30 Bug fixes: * FeAsJzSymmetry: matrix resize fixed * FeAs model adjustQns fixed (Nitin) * Truncation: cout printing fixed (Nirav) * Qn.h saves modal at least once New features: * option KronUseLowerPart added (Ed) * Model=KitaevExtended added (Alberto) * option saveDensityMatrixEigenvalues added (Nirav) New defaults: * option useSvd deleted, option truncationNoSvd added Build system: * ConfigBase.psiTag: can override default compiler * Compiles on a MAC TestSuite: * ci: fixed 5800 and 5810 data file 2018-07-31 Version 5.28 * modulo symmetry or k-symmetry now supported in Engine * TargetExtra now a vector * HubbardModelMultiBand uses modulo symmetry and simulates a ladder as a chain with orbitals * Kondo Model added * configure.pl uses PsiTag * DmrgSerializer saves transform as a BlockDiagonalMatrix * DmrgSolver saves electrons of one site * observe: fixed fermionic operators when growing environ * observe: performance improved * Term labels can be added to input file. They must be in order with Term0= as the first one, Term1= as the second one, etc. * ci: 112 added like 2 but observe when growing environ * ci: 1600-1601 trivial tests for Kondo * postCi: CollectBrakets improved 2018-07-24 Version 5.26 * ci/postci: -su2 instead of -nosu2 * ci: for Holstein and HolsteinSSH * Changes due to changes to PsimagLite indexOrMinusOne and Matrix interface * build system: improvements due to PsiTag improvements * ModelHelper now inside HamiltonianConnection * RIXS changes by Alberto * HubbardHolstein model added by Alberto * LinkProductStruct now called CachedHamiltoniansLinks * Qn improvements, no more full sort, only equal/unequal operator between Qn objects * Model Interface changed, basis of one-site no longer exposed basis of one site no longer needs ordering But backward compatibility order preserved for most models * LinkProduct* interface changed with virtual base LinkProductBase 2018-07-12 Version 5.24 * ci: 6005 for Kitaev * postCi: CollectBrakets implemented * new build system * KompileRig updated * fixLegacyBugs SolverOptions added * MODEL written to data file by IoNg * Chemicals: work started * LinkProductBase virtual base * refactoring HamiltonianConnection and added ParallelHamiltonianConnection 2018-06-28 Version 5.22 * VectorWithOffsets reads only non-zero sectors * IoSimple no longer used in DMRG++ * operator driver now prints JMVALUES 2 jtilde mtilde * ci: 5802 added (JzSymmetry) * ci: bug fixes * kompile rig to compile with various setups * DiskStack now has better implementation * recovery feature implemented but needs tests and docs * coutAnalysis counts number of times each item appears 2018-06-19 Version 5.20 * ci: ./dmrg -f input.inp 'n$.txt' feature * ci: collect brakets implemented * ci: postCi fixes * Hybrid space-momentum model added; but not k-symmetry yet * Basis: qns indexed by partition not state * Basis: electronsOld only by sign now * Qn or QnType traps all quantum number logic * Model interface changed to accomodate new quantum number logic 2018-05-21 Version 5.18 * IoNg works except for Recovery * ci: RIXS tests added * ci: infrastructure changed * USE_IO_NG enabled by default * Kitaev: Magnetic field in x,y,z * mtune and march compiler switches * hdf5 -L flag for Ubuntu * addHamiltonianConnection acceleration in ModelCommon * Starting to use PsimagLite::Profiling 2018-05-08 Version 5.16 * IoNg works with observe * JMVALUES and AngularFactor no longer read unless using SU(2) * changes due to PsimagLite's Parallelizer API changes * DenseSparseThreshold= line used also inside KronUtil * coutAnalysis with cutoff=0 by default * VerySparseMatrix updated * ModelCommon prints time for addHamiltonianConnection * IoNg can write NGSTs 2018-04-24 Version 5.14 * IoNg: OutFile= will be rootname only * IoNg: can restart GS with WFT * Correction Vector with useComplex now possible * advanceOnlyAtBorder is now the default say advanceUnrestricted not to restrict advance at borders * ci: entangles with MatrixVectorOnTheFly * ci: JMVALUES updated format * Kitaev Model: corrected connection to 0.5 * no more print() for targets * tar support and related options deleted * compiles with clang++ 2018-04-16 Version 5.12 * SolverOptions diskstacks and wftStacksInDisk deleted * Targetting is now Targeting * manual updated * IoNg: work in progress 2018-04-06 Version 5.10 * Kitaev model implemented * Kitaev.tex and input6000.inp * IoNg serialization work in progress * compilation with float * MatrixVectorKron is the default now * Compiler options printed to cout * When Lanczos fails prints why * -Werror no longer a default But please keep reporting compilation warnings * bug fix for complex hoppings This only affected useComplex for geometry terms with dofs=2 (spin up and spin down with 1 orbital) 2018-03-22 Version 5.08 * i/o API changes * nFromAkw.pl improvements * VerySparseMatrix improvements * Anisotropy in Hubbard model added (optional) * Needed MaxMatrixRankStored now printed on failure * omega scripts for open boundary conditions * tst fix: border sites were printed twice * correction targeting: bug fix * wftInPatches is switched to wftInBlocks when twositedmrg is used 2018-02-27 Version 5.06 * On February 1st, 2018 a massive overuse of RAM was introduced. This has been fixed now. * Basis.h : small memory improvements * Changes due to CRS improvements * added coutAnalysis.pl script to analyze output to .cout produced by DMRG++ * SU(2) no longer built by default, making compilation faster * DMRG++ now warns if TruncationTolerance is used without twositedmrg * Various improvements to Observables by Nirav 2018-02-20 Version 5.04 * jzSymmetry checks * SU(2) factors allocated only when using SU(2) * IoNg work started 2018-02-08 Version 5.02 * ci: added inputs for papers 58, 62, 66 and 68 * wftInBlocks now works for all targets * wftInPatches acceleration now works for onesitedmrg * BatchedGemm now needs pluginSc * faster changeOfBasis but older changeOfBasis still used when JzSymmetry=1 * KrylovAbridge option added, Abridgement printed * BatchedGemmPluginSc uses dense or sparse 2018-01-25 Version 5.00 * BatchedGemm is ready * observe 4-point at borders corrected * nFromAkw script added * Renyi entropy added * correction vector: spurious tridiag deleted * Lanczos reortho * use lib "." in scripts * VectorWithffset(s) load/save fixes * WFT check due to symmetry sector leaks * 2 regression fixes * wftInPatches now disallowed 2018-01-03 Version 4.70 * InitKronBase: threshold bug fix * BatchedGemm: PLUGIN_SC implementation almost done * BatchedGemm: mainstream implementation needs more work * Scripts for dynamics added and updated * Border 4-point marked buggy in some cases 2017-12-20 Version 4.68 * BatchedGemm option added Needs PluginSc, work in progress * wftInBlocks only for ground state * WFT for twositedmrg is now parallel * RIXS patches 2017-12-12 Version 4.66 * Wft files in Engine/Wft directory * wftInBlocks: only with twositedmrg, and still doesn't work with NGSTs * baseStack files are now deleted on normal completion * Interface to PLUGIN_SC: work in progress * toolboxdmrg supports -o option 2017-11-30 Version 4.64 * observe compilation fix * TargetingCorrection, crash fixed * ci: EnergyAncilla * ci: test 1801 fixed * VectorWithOffsets: bug fix for load/save * WFT: Acceleration with temporary possible 2017-11-27 Version 4.62 - Bug fixes * bug fix in minimize read/write - Features * initKronBase/Hamiltonian/Wft * observe supports -o * RIXS static and dynamic * WftOptions struct * WFT in patches: tons of work; still not done - Clean up * TargetingCorrectionVector uses CorrectionVectorSkeleton * AFTER/BEFORE_TRANSFORM minimized usage - TestSuite * ci: test 467 fixed * ci supports -o * ci.pl: Now copies executables correctly 2017-11-09 Version 4.60 * IMPORTANT: Compilation fix for new gcc * Ainur related change * postCi fix * RIXS Statics and Dynamics improvements RIXS is still a feature in development * VectorWithOffset(s) stores qn * TSPUseQns no longer needed, easier to guess symmetry sector for WFT * DONT_MIX deleted 2017-09-20 Version 4.58 * rixs static bug fixes * diskstacks option to store stacks to disk and use less RAM * Ainur related changes and added samples 2017-09-05 Version 4.56 * bug fix: braket names for NGSTs * tests 4600 and 4601 added 2017-08-28 Version 4.54 * Targeting common: printing fixed * dmrg driver accepts -o solver_options * operator driver accepts -e canonical_expression * observe: 2-points fixed for complex numbers * WFT transform in block diagonal form * correlationsSymmetry.pl added to check symmetry of correlation matrix * continuous integration (ci) improvements * fixed assert in encodeQuantumNumber * rows() and cols() for most matrix types 2017-08-07 Version 4.52 * Kron optimizations * useSvd should work now * operator driver bug fixed * TestSuite: improvements to ci and postCi * TestSuite: new tests for papers * KMH model regression is marked but not fixed * toolboxdmrg action analysis * BlockDiagonalMatrix improvements * $ character in operator specs * HeisenbergAnisotropic implemented * TargetingInSitu added * Feature Proposal: Tracking Unnatural Operators * manual: Braket specifications * Operator Expressions: canonical expr. implemented * Preparation for WFT in patches * Ainur input system: very early usage * enums become named * Rixs is ready for tests 2017-06-15 Version 4.50 * Standalone input label DenseSparseThreshold * DensityMatrix: Returns BlockDiagonalMatrix * KronUtil: more function in same compilation unit to improve inlining * MatrixDenseOrSparse.h now in KronUtil * linker time optimizations for gcc 2017-06-08 Version 4.48 * DenseSparseThreshold label * useSvd supports vectorwithoffsets 2017-05-25 Version 4.46 * useSvd (but not yet for vectorWithOffsets or more than 1 target) * useSvd pthreads * Lanczos: saves LanczosVectors by the default Internally lotaMemory=true is the default prefix + NoSaveLanczosVectors=1 should be used to have Lanczos not save vectors 2017-05-18 Version 4.44 * bug fix in printing * changes in preparation for useSvd option * Kron: KronNoLoadBalance SolverOptions added * PTHREAD_ASSIGN_AFFINITIES removed, now a runtime option * KronUtil: supports useComplex 2017-05-11 Version 4.42 * extendedPrint SolverOptions added * SolverOptions useSvd added, but not working yet * SuperExtendedHubbard1Orb: includes spin orbit * configure.pl does not generate sources by default anymore. All DmrgDriver*.cpp files are now commited 2017-05-04 Version 4.40 * Kron: - bug fix for fermion sign - changes to KronUtil - KronUtil Makefile created by configure.pl - does not support SU(2) - weights for load balancing * MatrixDenseOrSparse: 50% cutoff * PsiApp used by dmrg and observe drivers * observe: compilation in parallel * option printmatrix * ci: -nosu2 option added 2017-04-24 Version 4.38 * observe: - bug fix when - 5 or more points supported with fixed sites * postCi: detects energy changes, no files * ci: -S option allows to run on command line or batch * Makefile: -lblas -llapack * announce when ifdef OPERATORS_CHANGE_ALL * Kron and KronUtil: - additional checks - bug fix in offsets - bug fix for in and out vectors - bug fix in estimate_kron_cost