Skip to content

Commit 8cf378d

Browse files
mtfishmanclaude
andcommitted
Add two-site DMRG for tree tensor networks
Adds `dmrg`, a two-site DMRG ground-state solver for trees: the operator is a `TensorNetworkOperator`, the exact projected-Hamiltonian environments live in a `MessageCache` of `NamedDimsArrays` operators, and the driver follows the layered `AlgorithmsInterface` structure used by `beliefpropagation` and `apply_operators`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent e312bd5 commit 8cf378d

5 files changed

Lines changed: 907 additions & 3 deletions

File tree

Project.toml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ITensorNetworksNext"
22
uuid = "302f2e75-49f0-4526-aef7-d8ba550cb06c"
3-
version = "0.4.4"
3+
version = "0.4.5"
44
authors = ["ITensor developers <support@itensor.org> and contributors"]
55

66
[workspace]
@@ -17,6 +17,7 @@ DiagonalArrays = "74fd4be6-21e2-4f6f-823a-4360d37c7a77"
1717
Dictionaries = "85a47980-9c8c-11e8-2b9f-f7ca1fa99fb4"
1818
FunctionImplementations = "7c7cc465-9c6a-495f-bdd1-f42428e86d0c"
1919
Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
20+
KrylovKit = "0b1a1467-8014-51b9-945f-bf0ae24f4b77"
2021
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
2122
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
2223
MatrixAlgebraKit = "6c742aac-3347-4629-af66-fc926824e5e4"
@@ -28,6 +29,7 @@ SplitApplyCombine = "03a91e81-4c3e-53e1-a0a4-9c0c8f19dd66"
2829
TensorAlgebra = "68bd88dc-f39d-4e12-b2ca-f046b68fcc6a"
2930
TermInterface = "8ea1fca8-c5ef-4a55-8b96-4e9afe9c9a3c"
3031
TypeParameterAccessors = "7e5a90cf-f82e-492e-a09b-e3e26432c138"
32+
VectorInterface = "409d34a3-91d5-4945-b6ec-7529ddf182d8"
3133
WrappedUnions = "325db55a-9c6c-5b90-b1a2-ec87e7a38c44"
3234

3335
[weakdeps]
@@ -47,6 +49,7 @@ DiagonalArrays = "0.3.31"
4749
Dictionaries = "0.4.5"
4850
FunctionImplementations = "0.4.1"
4951
Graphs = "1.13.1"
52+
KrylovKit = "0.10"
5053
LinearAlgebra = "1.10"
5154
MacroTools = "0.5.16"
5255
MatrixAlgebraKit = "0.6"
@@ -59,5 +62,6 @@ TensorAlgebra = "0.9.5"
5962
TensorOperations = "5.3.1"
6063
TermInterface = "2"
6164
TypeParameterAccessors = "0.4.4"
65+
VectorInterface = "0.5"
6266
WrappedUnions = "0.3"
6367
julia = "1.10"

src/ITensorNetworksNext.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module ITensorNetworksNext
33
if VERSION >= v"1.11.0-DEV.469"
44
eval(
55
Meta.parse(
6-
"public apply_operator, apply_operators, beliefpropagation_normnetwork, identity_norm_message_env, normnetwork, norm_message_env, ones_norm_message_env, rand_norm_message_env, randn_norm_message_env, similar_norm_message_env"
6+
"public apply_operator, apply_operators, beliefpropagation_normnetwork, dmrg, identity_norm_message_env, normnetwork, norm_message_env, ones_norm_message_env, rand_norm_message_env, randn_norm_message_env, similar_norm_message_env, StopWhenEnergyConverged, TensorNetworkOperator"
77
)
88
)
99
end
@@ -22,4 +22,6 @@ include("beliefpropagation/normnetwork.jl")
2222

2323
include("apply/apply_operators.jl")
2424

25+
include("dmrg.jl")
26+
2527
end

0 commit comments

Comments
 (0)