Skip to content

Commit 407d01a

Browse files
committed
Merge branch 'main' into NDTensors_excise_libraries
2 parents 6991ac8 + d8e3658 commit 407d01a

File tree

7 files changed

+35
-14
lines changed

7 files changed

+35
-14
lines changed

.github/workflows/comment_trigger_example.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Get PR branch
16-
uses: xt0rted/pull-request-comment-branch@v2
16+
uses: xt0rted/pull-request-comment-branch@v3
1717
id: comment-branch
1818
- name: Set latest commit status as pending
1919
uses: myrotvorets/set-commit-status-action@master

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "ITensors"
22
uuid = "9136182c-28ba-11e9-034c-db9fb085ebd5"
33
authors = ["Matthew Fishman <[email protected]>", "Miles Stoudenmire <[email protected]>"]
4-
version = "0.7.7"
4+
version = "0.7.11"
55

66
[deps]
77
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"

docs/src/AdvancedUsageGuide.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -816,8 +816,21 @@ julia> @time svd(A, i');
816816
ITensors provides the command `ITensors.compile()` to create what is
817817
called a "custom system image", a custom version of Julia that
818818
includes a compiled version of ITensors (see the [PackageCompiler documentation](https://julialang.github.io/PackageCompiler.jl/dev/) for more details).
819-
Just run the command:
819+
820+
!!! compat "ITensors 0.7"
821+
As of ITensors 0.7, you must now install and load both the
822+
[ITensorMPS.jl](https://github.com/ITensor/ITensorMPS.jl) package
823+
and the [PackageCompiler.jl](https://github.com/JuliaLang/PackageCompiler.jl)
824+
package in order to use `ITensors.compile()`, since it relies on running MPS/MPO
825+
functionality as example code for Julia to compile and is based in a package
826+
extension in order to make `PackageCompiler.jl` an optional dependency.
827+
828+
Just run the commands:
820829
```
830+
julia> using ITensors, ITensorMPS
831+
832+
julia> using PackageCompiler
833+
821834
julia> ITensors.compile()
822835
[...]
823836
```

docs/src/HDF5FileFormats.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ Datasets and Subgroups:
156156

157157
## [MPS](@id mps_hdf5)
158158

159-
HDF5 file format for `ITensors.MPS`
159+
HDF5 file format for `ITensorMPS.MPS`
160160

161161
Attributes:
162162
* "version" = 1
@@ -171,7 +171,7 @@ Datasets and Subgroups:
171171

172172
## [MPO](@id mpo_hdf5)
173173

174-
HDF5 file format for `ITensors.MPO`
174+
HDF5 file format for `ITensorMPS.MPO`
175175

176176
Attributes:
177177
* "version" = 1

docs/src/Observer.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ In our example, we will just compare the `energy` keyword
7070
argument to the `last_energy` variable held inside the `DemoObserver`:
7171

7272
```julia
73-
function ITensors.checkdone!(o::DemoObserver;kwargs...)
73+
function ITensorMPS.checkdone!(o::DemoObserver;kwargs...)
7474
sw = kwargs[:sweep]
7575
energy = kwargs[:energy]
7676
if abs(energy-o.last_energy)/abs(energy) < o.energy_tol
@@ -110,7 +110,7 @@ that prints out some of the information above, but in a more realistic setting o
110110
could use the MPS `psi` to perform essentially arbitrary measurements.
111111

112112
```julia
113-
function ITensors.measure!(o::DemoObserver; kwargs...)
113+
function ITensorMPS.measure!(o::DemoObserver; kwargs...)
114114
energy = kwargs[:energy]
115115
sweep = kwargs[:sweep]
116116
bond = kwargs[:bond]
@@ -148,7 +148,7 @@ mutable struct DemoObserver <: AbstractObserver
148148
DemoObserver(energy_tol=0.0) = new(energy_tol,1000.0)
149149
end
150150

151-
function ITensors.checkdone!(o::DemoObserver;kwargs...)
151+
function ITensorMPS.checkdone!(o::DemoObserver;kwargs...)
152152
sw = kwargs[:sweep]
153153
energy = kwargs[:energy]
154154
if abs(energy-o.last_energy)/abs(energy) < o.energy_tol
@@ -160,7 +160,7 @@ function ITensors.checkdone!(o::DemoObserver;kwargs...)
160160
return false
161161
end
162162

163-
function ITensors.measure!(o::DemoObserver; kwargs...)
163+
function ITensorMPS.measure!(o::DemoObserver; kwargs...)
164164
energy = kwargs[:energy]
165165
sweep = kwargs[:sweep]
166166
bond = kwargs[:bond]

docs/src/examples/DMRG.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ using ITensors, ITensorMPS
383383
mutable struct EntanglementObserver <: AbstractObserver
384384
end
385385

386-
function ITensors.measure!(o::EntanglementObserver; bond, psi, half_sweep, kwargs...)
386+
function ITensorMPS.measure!(o::EntanglementObserver; bond, psi, half_sweep, kwargs...)
387387
wf_center, other = half_sweep==1 ? (psi[bond+1],psi[bond]) : (psi[bond],psi[bond+1])
388388
U,S,V = svd(wf_center, uniqueinds(wf_center,other))
389389
SvN = 0.0
@@ -406,7 +406,7 @@ using ITensors, ITensorMPS
406406
mutable struct EntanglementObserver <: AbstractObserver
407407
end
408408

409-
function ITensors.measure!(o::EntanglementObserver; bond, psi, half_sweep, kwargs...)
409+
function ITensorMPS.measure!(o::EntanglementObserver; bond, psi, half_sweep, kwargs...)
410410
wf_center, other = half_sweep==1 ? (psi[bond+1],psi[bond]) : (psi[bond],psi[bond+1])
411411
U,S,V = svd(wf_center, uniqueinds(wf_center,other))
412412
SvN = 0.0
@@ -481,7 +481,7 @@ using ITensors, ITensorMPS
481481
mutable struct SizeObserver <: AbstractObserver
482482
end
483483

484-
function ITensors.measure!(o::SizeObserver; bond, half_sweep, psi, projected_operator, kwargs...)
484+
function ITensorMPS.measure!(o::SizeObserver; bond, half_sweep, psi, projected_operator, kwargs...)
485485
if bond==1 && half_sweep==2
486486
psi_size = Base.format_bytes(Base.summarysize(psi))
487487
PH_size = Base.format_bytes(Base.summarysize(projected_operator))
@@ -503,7 +503,7 @@ using ITensors, ITensorMPS
503503
mutable struct SizeObserver <: AbstractObserver
504504
end
505505

506-
function ITensors.measure!(o::SizeObserver; bond, sweep, half_sweep, psi, projected_operator, kwargs...)
506+
function ITensorMPS.measure!(o::SizeObserver; bond, sweep, half_sweep, psi, projected_operator, kwargs...)
507507
if bond==1 && half_sweep==2
508508
psi_size = Base.format_bytes(Base.summarysize(psi))
509509
PH_size = Base.format_bytes(Base.summarysize(projected_operator))

src/packagecompile/compile.jl

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,19 @@ end
4444
ITensors.compile(; dir = "$(default_compile_dir())",
4545
filename = "$(default_compile_filename())")
4646
47-
Compile ITensors.jl with [PackageCompiler](https://julialang.github.io/PackageCompiler.jl/dev/).
47+
Compile ITensors.jl with [PackageCompiler.jl](https://julialang.github.io/PackageCompiler.jl/dev/).
4848
This will take some time, perhaps a few minutes.
4949
5050
This will create a system image containing the compiled version of ITensors
5151
located at `dir/filename`, by default `$(default_compile_path())`.
5252
53+
!!! compat "ITensors 0.7"
54+
As of ITensors 0.7, you must now install and load both the
55+
[ITensorMPS.jl](https://github.com/ITensor/ITensorMPS.jl) package
56+
and the [PackageCompiler.jl](https://github.com/JuliaLang/PackageCompiler.jl)
57+
package in order to use `ITensors.compile()`, since it relies on running MPS/MPO
58+
functionality as example code for Julia to compile and is based in a package
59+
extension in order to make `PackageCompiler.jl` an optional dependency.
60+
5361
$(compile_note())
5462
""" compile

0 commit comments

Comments
 (0)