@@ -38,7 +38,6 @@ using ITensors:
3838 settags,
3939 sim,
4040 swaptags
41- using ITensorMPS: ITensorMPS, add, linkdim, linkinds, siteinds
4241using . ITensorsExtensions: ITensorsExtensions, indtype, promote_indtype
4342using LinearAlgebra: LinearAlgebra, factorize
4443using MacroTools: @capture
@@ -255,7 +254,7 @@ indsnetwork(tn::AbstractITensorNetwork) = IndsNetwork(tn)
255254
256255# TODO : Output a `VertexDataGraph`? Unfortunately
257256# `IndsNetwork` doesn't allow iterating over vertex data.
258- function ITensorMPS . siteinds (tn:: AbstractITensorNetwork )
257+ function siteinds (tn:: AbstractITensorNetwork )
259258 is = IndsNetwork (underlying_graph (tn))
260259 for v in vertices (tn)
261260 is[v] = uniqueinds (tn, v)
@@ -268,7 +267,7 @@ function flatten_siteinds(tn::AbstractITensorNetwork)
268267 return identity .(flatten (map (v -> siteinds (tn, v), vertices (tn))))
269268end
270269
271- function ITensorMPS . linkinds (tn:: AbstractITensorNetwork )
270+ function linkinds (tn:: AbstractITensorNetwork )
272271 is = IndsNetwork (underlying_graph (tn))
273272 for e in edges (tn)
274273 is[e] = commoninds (tn, e)
@@ -302,7 +301,11 @@ function ITensors.uniqueinds(tn::AbstractITensorNetwork, edge::Pair)
302301 return uniqueinds (tn, edgetype (tn)(edge))
303302end
304303
305- function ITensors. siteinds (tn:: AbstractITensorNetwork , vertex)
304+ function siteinds (tn:: AbstractITensorNetwork , vertex)
305+ return uniqueinds (tn, vertex)
306+ end
307+ # Fix ambiguity error with IndsNetwork constructor.
308+ function siteinds (tn:: AbstractITensorNetwork , vertex:: Int )
306309 return uniqueinds (tn, vertex)
307310end
308311
@@ -311,7 +314,7 @@ function ITensors.commoninds(tn::AbstractITensorNetwork, edge)
311314 return commoninds (tn[src (e)], tn[dst (e)])
312315end
313316
314- function ITensorMPS . linkinds (tn:: AbstractITensorNetwork , edge)
317+ function linkinds (tn:: AbstractITensorNetwork , edge)
315318 return commoninds (tn, edge)
316319end
317320
@@ -807,24 +810,24 @@ end
807810# Link dimensions
808811#
809812
810- function ITensorMPS . maxlinkdim (tn:: AbstractITensorNetwork )
813+ function maxlinkdim (tn:: AbstractITensorNetwork )
811814 md = 1
812815 for e in edges (tn)
813816 md = max (md, linkdim (tn, e))
814817 end
815818 return md
816819end
817820
818- function ITensorMPS . linkdim (tn:: AbstractITensorNetwork , edge:: Pair )
821+ function linkdim (tn:: AbstractITensorNetwork , edge:: Pair )
819822 return linkdim (tn, edgetype (tn)(edge))
820823end
821824
822- function ITensorMPS . linkdim (tn:: AbstractITensorNetwork{V} , edge:: AbstractEdge{V} ) where {V}
825+ function linkdim (tn:: AbstractITensorNetwork{V} , edge:: AbstractEdge{V} ) where {V}
823826 ls = linkinds (tn, edge)
824827 return prod ([isnothing (l) ? 1 : dim (l) for l in ls])
825828end
826829
827- function ITensorMPS . linkdims (tn:: AbstractITensorNetwork{V} ) where {V}
830+ function linkdims (tn:: AbstractITensorNetwork{V} ) where {V}
828831 ld = DataGraph {V} (
829832 copy (underlying_graph (tn)); vertex_data_eltype= Nothing, edge_data_eltype= Int
830833 )
@@ -882,7 +885,7 @@ is_multi_edge(tn::AbstractITensorNetwork, e) = length(linkinds(tn, e)) > 1
882885is_multi_edge (tn:: AbstractITensorNetwork ) = Base. Fix1 (is_multi_edge, tn)
883886
884887""" Add two itensornetworks together by growing the bond dimension. The network structures need to be have the same vertex names, same site index on each vertex """
885- function ITensorMPS . add (tn1:: AbstractITensorNetwork , tn2:: AbstractITensorNetwork )
888+ function add (tn1:: AbstractITensorNetwork , tn2:: AbstractITensorNetwork )
886889 @assert issetequal (vertices (tn1), vertices (tn2))
887890
888891 tn1 = combine_linkinds (tn1; edges= filter (is_multi_edge (tn1), edges (tn1)))
0 commit comments