Skip to content

Commit 1920b44

Browse files
mtfishmanclaude
andcommitted
Remove approximate-contract (density_matrix / ttn_svd) algorithms
Delete the entire src/contract_approx/ module (8 files, ~1200 lines), its two test files (test/test_binary_tree_partition.jl, test/test_contract_deltas.jl), and the dead ITensorNetworksGraphsFlowsExt extension that only served it. Drop the GraphsFlows weakdep + extension entry from the root Project.toml; GraphsFlows stays as a direct test-time dep for the graph mincut test in test/test_itensornetwork.jl. Also drop the `contract(tn; alg = "density_matrix" | "ttn_svd")` dispatch from src/contract.jl, which was a thin forwarder to contract_approx. The remaining `alg = "exact"` dispatch is unaffected. A few imports that were previously made available to other parts of the package as a side effect of contract_approx/*.jl's `using` clauses now need to be imported explicitly by the files that actually use them: - Graphs: rem_vertex! in src/treetensornetworks/opsum_to_ttn/opsum_to_ttn.jl - ITensors: inds in src/abstractitensornetwork.jl - NamedGraphs.GraphsExtensions: disjoint_union in src/formnetworks/{linear,bilinear}formnetwork.jl Bump to 0.17.0 (breaking, pre-1.0 minor bump) and update pinned ITensorNetworks compat in test/, docs/, and examples/ Project.toml. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 6912226 commit 1920b44

22 files changed

Lines changed: 10 additions & 1328 deletions

Project.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ITensorNetworks"
22
uuid = "2919e153-833c-4bdc-8836-1ea460a35fc7"
3-
version = "0.16.0"
3+
version = "0.17.0"
44
authors = ["Matthew Fishman <mfishman@flatironinstitute.org>, Joseph Tindall <jtindall@flatironinstitute.org> and contributors"]
55

66
[workspace]
@@ -39,13 +39,11 @@ TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"
3939
TupleTools = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6"
4040

4141
[weakdeps]
42-
GraphsFlows = "06909019-6f44-4949-96fc-b9d9aaa02889"
4342
OMEinsumContractionOrders = "6f22d1fd-8eed-4bb7-9776-e7d684900715"
4443
Observers = "338f10d5-c7f1-4033-a7d1-f9dec39bcaa0"
4544
TensorOperations = "6aa20fa7-93e2-5fca-9bc0-fbd0db3c71a2"
4645

4746
[extensions]
48-
ITensorNetworksGraphsFlowsExt = "GraphsFlows"
4947
ITensorNetworksOMEinsumContractionOrdersExt = "OMEinsumContractionOrders"
5048
ITensorNetworksObserversExt = "Observers"
5149
ITensorNetworksTensorOperationsExt = "TensorOperations"
@@ -63,7 +61,6 @@ Dictionaries = "0.4"
6361
Distributions = "0.25.86"
6462
DocStringExtensions = "0.9"
6563
Graphs = "1.8"
66-
GraphsFlows = "0.1.1"
6764
ITensors = "0.7, 0.8, 0.9"
6865
IsApprox = "0.1, 1, 2"
6966
IterTools = "1.4"

docs/Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ path = ".."
1616
Documenter = "1.10"
1717
Graphs = "1"
1818
ITensorFormatter = "0.2.27"
19-
ITensorNetworks = "0.16"
19+
ITensorNetworks = "0.17"
2020
ITensors = "0.9"
2121
Literate = "2.20.1"
2222
NamedGraphs = "0.8.2"

examples/Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ ITensorNetworks = "2919e153-833c-4bdc-8836-1ea460a35fc7"
55
path = ".."
66

77
[compat]
8-
ITensorNetworks = "0.16"
8+
ITensorNetworks = "0.17"

ext/ITensorNetworksGraphsFlowsExt/ITensorNetworksGraphsFlowsExt.jl

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/ITensorNetworks.jl

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,6 @@ include("abstractitensornetwork.jl")
1313
include("contraction_sequences.jl")
1414
include("tebd.jl")
1515
include("itensornetwork.jl")
16-
include("contract_approx/mincut.jl")
17-
include("contract_approx/contract_deltas.jl")
18-
include("contract_approx/utils.jl")
19-
include("contract_approx/density_matrix.jl")
20-
include("contract_approx/ttn_svd.jl")
21-
include("contract_approx/contract_approx.jl")
22-
include("contract_approx/partition.jl")
23-
include("contract_approx/binary_tree_partition.jl")
2416
include("contract.jl")
2517
include("specialitensornetworks.jl")
2618
include("partitioneditensornetwork.jl")

src/abstractitensornetwork.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ using Dictionaries: Dictionary
66
using Graphs: Graphs, Graph, add_edge!, add_vertex!, bfs_tree, center, dst, edges, edgetype,
77
ne, neighbors, rem_edge!, src, vertices
88
using ITensors: ITensors, @Algorithm_str, ITensor, addtags, combiner, commoninds,
9-
commontags, contract, dag, hascommoninds, noprime, onehot, prime, replaceprime,
9+
commontags, contract, dag, hascommoninds, inds, noprime, onehot, prime, replaceprime,
1010
replacetags, setprime, settags, sim, swaptags, unioninds, uniqueinds
1111
using LinearAlgebra: LinearAlgebra, factorize
1212
using MacroTools: @capture

src/apply.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
using .BaseExtensions: maybe_real
22
using Graphs: has_edge
33
using ITensors: ITensors, ITensor, Index, Ops, apply, commonind, commoninds, contract, dag,
4-
denseblocks, factorize, factorize_svd, hasqns, isdiag, noprime, prime, replaceind,
5-
replaceinds, unioninds, uniqueinds
4+
denseblocks, factorize, factorize_svd, hasqns, isdiag, noncommoninds, noprime, prime,
5+
replaceind, replaceinds, unioninds, uniqueinds
66
using KrylovKit: linsolve
77
using LinearAlgebra: eigen, norm, qr, svd
88
using NamedGraphs: NamedEdge, has_edge

src/contract.jl

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,6 @@ function NDTensors.contract(
2020
return contract(ts; sequence = sequence_linear_index, kwargs...)
2121
end
2222

23-
function NDTensors.contract(
24-
alg::Union{Algorithm"density_matrix", Algorithm"ttn_svd"},
25-
tn::AbstractITensorNetwork;
26-
output_structure::Function = path_graph_structure,
27-
kwargs...
28-
)
29-
return contract_approx(alg, tn, output_structure; kwargs...)
30-
end
31-
3223
function ITensors.scalar(alg::Algorithm"exact", tn::AbstractITensorNetwork; kwargs...)
3324
return contract(alg, tn; kwargs...)[]
3425
end

src/contract_approx/binary_tree_partition.jl

Lines changed: 0 additions & 133 deletions
This file was deleted.

src/contract_approx/contract_approx.jl

Lines changed: 0 additions & 129 deletions
This file was deleted.

0 commit comments

Comments
 (0)