@@ -8,29 +8,18 @@ using QuantumOperatorDefinitions:
88function QuantumOperatorDefinitions. SiteType (r:: Index )
99 # We pass the axis of the (unnamed) Index because
1010 # the Index may have originated from a slice, in which
11- # case the start may not be 1 (and it may not even
11+ # case the start may not be 1 (for NonContiguousIndex,
12+ # which we need to add support for, it may not even
1213 # be a unit range).
1314 return SiteType (
1415 gettag (r, " sitetype" , " Qudit" ); dim= Int .(length (r)), range= only (axes (dename (r)))
1516 )
1617end
1718
18- function ITensorBase. Index (t:: SiteType ; kwargs... )
19- return Index (AbstractUnitRange (t); kwargs... )
20- end
21-
19+ # TODO : Define in terms of `OpName` directly, and define a generic
20+ # forwarding method `has_fermion_string(n::String, t) = has_fermion_string(OpName(n), t)`.
2221function QuantumOperatorDefinitions. has_fermion_string (n:: String , r:: Index )
2322 return has_fermion_string (OpName (n), SiteType (r))
2423end
2524
26- function Base. AbstractArray (n:: OpName , r:: Index )
27- # TODO : Define this with mapped dimnames.
28- # Generalize beyond prime levels with codomain and domain indices.
29- return ITensor (AbstractArray (n, SiteType (r)), (prime (r), dag (r)))
30- end
31-
32- function Base. AbstractArray (n:: StateName , r:: Index )
33- return ITensor (AbstractArray (n, SiteType (r)), (r,))
34- end
35-
3625end
0 commit comments