Skip to content

Commit ddcf3c8

Browse files
committed
Add scale!!(x, y, a) and fix returns
1 parent 99989b5 commit ddcf3c8

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

src/states/infinitepartitionfunction.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,9 @@ end
158158
## Vector interface
159159

160160
VI.scalartype(::Type{NT}) where {NT<:InfinitePartitionFunction} = scalartype(eltype(NT))
161-
VI.zerovector(A::InfinitePartitionFunction) = InfinitePartitionFunction(zerovector(unitcell(A)))
161+
function VI.zerovector(A::InfinitePartitionFunction)
162+
InfinitePartitionFunction(zerovector(unitcell(A)))
163+
end
162164

163165
## (Approximate) equality
164166
function Base.:(==)(A₁::InfinitePartitionFunction, A₂::InfinitePartitionFunction)

src/states/infinitepeps.jl

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,13 @@ function VI.scale(ψ::InfinitePEPS, α::Number)
166166
end
167167
function VI.scale!::InfinitePEPS, α::Number)
168168
_scale! = Base.Fix2(scale!, α)
169-
return foreach(_scale!, unitcell(ψ))
169+
foreach(_scale!, unitcell(ψ))
170+
return ψ
171+
end
172+
function VI.scale!(ψ₁::InfinitePEPS, ψ₂::InfinitePEPS, α::Number)
173+
_scale!(x, y) = scale!(x, y, α)
174+
foreach(_scale!, unitcell(ψ₁), unitcell(ψ₂))
175+
return ψ₁
170176
end
171177
VI.scale!!::InfinitePEPS, α::Number) = scale!(ψ, α)
172178

@@ -213,7 +219,7 @@ Base.rotl90(A::InfinitePEPS) = InfinitePEPS(rotl90(rotl90.(unitcell(A))))
213219
Base.rotr90(A::InfinitePEPS) = InfinitePEPS(rotr90(rotr90.(unitcell(A))))
214220
Base.rot180(A::InfinitePEPS) = InfinitePEPS(rot180(rot180.(unitcell(A))))
215221

216-
## OptimKit optimization compatibility
222+
## OptimKit optimization backwards compatibility (v0.4 uses VectorInterface)
217223

218224
function LinearAlgebra.rmul!(A::InfinitePEPS, α::Number) # Used in _scale during OptimKit.optimize
219225
rmul!.(unitcell(A), α)

0 commit comments

Comments
 (0)