-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This is an admittedly too large PR that involves changing the MPO tensors and associated environments to start using `BlockTensorKit`. This allows a large amount of code logic to be offloaded and separated out, which leads to overall better readability, and should improve maintenance and development of this package in the future. --- * Update for TensorKit changes * Add FiniteMPOHamiltonian * Add linearalgebra * Rewrite Operators * Add virtualspace functions QP * Add `axes` multiline * Add PeriodicVector and PeriodicMatrix constructors * update tests * Start refactor environments * update SVDCut * Update excitations * Update TimeEvolution MPO * Update ED * update derivatives and transfers * Add utility functions * Update convenience functions * fix very important typo * compat with TensorKitManifolds * remove @shows * change opp to operator, like it is in `MultipleEnvironments` * add copy methods for `FiniteMPOHamiltonian` and `InfiniteMPOHamiltonian` * add creation of `FiniteMPOHamiltonian` and `InfiniteMPOHamiltonian` directly from a local operator * change MPOHamiltonian copies to deepcopies * implement scalar multiplication for `FiniteMPOHamiltonian` and `InfiniteMPOHamiltonian` * split MPOHamiltonian creation from local operator into Finite and Infinite case * fix typo in fidelity susceptibility testset * change WI() to WI * check for (and don't add) zero-valued A-blocks in `AbstractMPOHamiltonian` addition * formatting * remove creation of `FiniteMPOHamiltonian` from local operator * update BlockTensorKit compat * Add WindowMPS environments * Add convenience methods quasiparticles * Fix small typo * Add length to quasiparticle state tests * Relax MPO setindex * fix some wrong references to fields * Small style change in linalg * Update some mpo linalg * change tensortype inference in `*(::InfiniteMPOHamiltonian, ::InfiniteMPOHamiltonian)` * convenience methods * Fix some operator tests * update DenseMPO * Fix type signature * add `open_boundary_conditions` and extend all boundary condition methods to `InfiniteMPOHamiltonian`s * Add more physicalspace methods * readd `propagator` methods and change function signatures to new types * Add conj * implementing fix from `*(::Inf.Ham.,::Inf.Ham)` in the finite case * some more test/operators fixes * add `randomize!(::AbstractBlockTensorMap)` * Add *(::InfiniteMPO, ::InfiniteMPS) * use methods instead of removed MPO properties * add creation of `InfiniteMPO` from `AbstractTensorMaps` * fix creation of `DenseMPO` * fix periodic boundary conditions test * physicalspace never returns SumSpace * Fix `*(::InfiniteMPO, ::InfiniteMPS)` * More operator test fixes * Some more linalg cleanup * some more operators test cleanup * change dynamical DMRG test case * Fix DynamicalDMRG * add `show()` for `AbstractMPO`s * Add / for multiplied operator * small fix * Add dropzeros in H*H * add `BlockTensorKit.show_braille(::AbstractHMPO)` * important copy fix * little bit cleanup * More generic linalg * Clean up MPO structs * Fix infiniteMPOEnvironments * Fix expval for mpo * fix overlylong excitations test * fidelity_susceptibility fix * Changes to accomodate new `MPOHamiltonian` type * Extend `BlockTensorKit.show_braille()` to SparseMPOs * drop zeros after imposing PBC * change `make_time_mpo` to be compatible with `FiniteMPOHamiltonian`s * implement `remove_orphans` for `FiniteMPO`s * add conversion to `DenseMPO` from `MPOHamiltonian`s * remove redundant check in `remove_orphans!(::FiniteMPO)` * fix multiplication of `FiniteMPOHamiltonian`s * move boundary condition application step * use `droptol!()` * use `droptol!()` * rename `BlockTensorKit.braille(::SparseMPO)` to `braille(::SparseMPO)` for convenience * add assert for MPOs that aren't the same size everywhere * use finite Hamiltonian for finite mps test * add L parameter to approximate tests * fix converting Hamiltonian to 'square' one * change only() to TensorMap() * compensate for env fieldname changes * compensate for env namechange * change approximate test * remove return statement for aesthetics and consistency * use dot notation for dropzeros in periodic_boundary_conditions * change boundary condition application in pbc * delete old environment stuct and code * rename permpoinfenv to infinitempoenv * add `FiniteMPO` to finite environments arguments * change `permpoinfenv` to `InfiniteMPOEnvironments` in docs * oneline `dropzeros` step in `periodic_boundary_conditions` * implement new test for `periodic_boundary_conditions` and comment out the old one * formatting change * Version changes * robust `storagetype` handling * implement pr 180 '3 site tests' into blocktensor2 branch * format * cleanup and fix `force_planar` * Fix arguments being reversed * Fix periodic boundary * formatter * Fix deprecation warning in test * Improve implementation of multiplying MPOs * Fix for InfiniteMPOHamiltonian * Remove `RecursiveVec` * Update outdated names * improve MPOHamiltonian constructors * Add `add_physical_charge` * fixes MPO constructor * Fix mpohamiltonian constructor * Fix `make_time_mpo` extensions step * TaylorCluster optimizations * Update gitignore * change test tol * update oplus syntax * Bump julia version in tests * Rename environments/files and cleanup unused code * remove more unused code * remove more unused code * small fix in examples * Add Aqua and fix some tests * more unused code deletion * more unused code deletion * small formatting change * revert Aqua-related change * Restrict Aqua tests for now * more unused code removal * more unused code removal * improve test stability * minor doc updates * Temporary fix for docs --------- Co-authored-by: Victor <[email protected]>
- Loading branch information
1 parent
cd81eef
commit 19fae27
Showing
65 changed files
with
3,185 additions
and
5,578 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.