You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rewrite MPS types to use C instead of CR (and CL) and add ψ.center functionality. (#216)
* change `CLs` field to `Cs` field
* update printing
* index changes in `FiniteMPS` constructor
* rename `CRView` to `CView`
* change to `getproperty(::FiniteMPS, :C)` instead of `:CR`
* change `center` field to type `Ref{Int}` to allow for mutable integer in unmutable `FiniteMPS` struct
* update `copy` and `similar` for `FiniteMPS` to include `center` field
* initialize `center` of `FiniteMPS` on the last site
* update `left_virtualspace` and `right_virtualspace` to `psi.C` syntax
* change `orthview.jl` to use new `CView` syntax
* update tests to use `.C` instead of `.CR`
* update `+(::FiniteMPS, ::FiniteMPS)` to new `.C` syntax
* format `orthoview.jl`
* fix `similar` of `center` in `similar(::FiniteMPS)`
* change comment
* add HalfIntegers.jl as dependency
* remove `center` field of `FiniteMPS`
* update `FiniteMPS` docstring
* add `center` function thats accessed through `getproperty`
* rewrite `norm(::FiniteMPS)` without having to guage (implementing 5 year old TODO)
* change `getproperty(::MultilineMPS)` to work with `:C` instead of `:CR`
* change every instance of `.CR` to `.C`
* change `getproperty(::WindowMPS)` to work with `:C` instead of `:CR`
* change index in `norm(::FiniteMPS)`
* use `HalfIntegers.ishalfodd` to determine if center is a bond tensor or center tensor
* add docstring for `center(::FiniteMPS)`
* use `center(psi)` instead of `psi.center` in `norm(::FiniteMPS)`
* update `center(::FiniteMPS)`
* use `center(::FiniteMPS)` in `Base.show(::IOContext, ::FiniteMPS)`
* small `show` fix
* use `isinteger(::HalfInt)` instead of `!ishalfodd(::HalfInt)`
* modify `show(::IOContext, ::FiniteMPS)` using the new `center` `HalfInteger` syntax
* formatter
* get rid of mention to `CL` and `CR` in docs [skip CI]
* docfixes [skip CI]
* small changes in `Base.show(::IOContext, ::FiniteMPS)`
* fix `Base.show(::IOContext, ::FiniteMPS)` edgecases
* formatter
* remove printstatement from docs
* remove `center` as a function, only keep `mps.center` property
* remove commented code
* implement `Base.propertynames(ψ::FiniteMPS)`
* add `Base.propertynames` for `WindowMPS` and `MultilineMPS`
@@ -66,7 +66,7 @@ Behind the scenes, a finite mps has 4 fields
66
66
ALs::Vector{Union{Missing,A}}
67
67
ARs::Vector{Union{Missing,A}}
68
68
ACs::Vector{Union{Missing,A}}
69
-
CLs::Vector{Union{Missing,B}}
69
+
Cs::Vector{Union{Missing,B}}
70
70
```
71
71
72
72
calling `state.AC` returns an "orthoview" instance, which is a very simple dummy object.
@@ -97,7 +97,7 @@ InfiniteMPS(data);
97
97
98
98
The above code would create an infinite mps with an A-B structure (a 2 site unit cell).
99
99
100
-
much like a finite mps, we can again query the fields state.AL, state.AR, state.AC and state.CR. The implementation is much easier, as they are now just plain fields in the struct
100
+
much like a finite mps, we can again query the fields state.AL, state.AR, state.AC and state.C. The implementation is much easier, as they are now just plain fields in the struct
101
101
102
102
```julia
103
103
AL::PeriodicArray{A,1}
@@ -142,7 +142,7 @@ You can access properties by calling
142
142
state.AL[row,collumn]
143
143
state.AC[row,collumn]
144
144
state.AR[row,collumn]
145
-
state.CR[row,collumn]
145
+
state.C[row,collumn]
146
146
```
147
147
148
148
Behind the scenes, we have a type called Multiline, defined as:
0 commit comments