Skip to content

Commit fc05f60

Browse files
committed
More simplifications
1 parent 21b1e78 commit fc05f60

File tree

2 files changed

+10
-47
lines changed

2 files changed

+10
-47
lines changed

src/sitetypes/qubit.jl

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,11 @@
77
# defaults for QN names
88

99
"""
10-
space(::SiteType"Qubit";
11-
conserve_qns = false,
12-
conserve_parity = conserve_qns,
13-
conserve_number = false,
14-
qnname_parity = "Parity",
15-
qnname_number = "Number")
10+
space(::SiteType"Qubit")
1611
1712
Create the Hilbert space for a site of type "Qubit".
18-
19-
Optionally specify the conserved symmetries and their quantum number labels.
2013
"""
21-
function space(
22-
::SiteType"Qubit";
23-
conserve_qns=false,
24-
conserve_parity=conserve_qns,
25-
conserve_number=false,
26-
qnname_parity="Parity",
27-
qnname_number="Number",
28-
)
29-
if conserve_number && conserve_parity
30-
return [
31-
QN((qnname_number, 0), (qnname_parity, 0, 2)) => 1,
32-
QN((qnname_number, 1), (qnname_parity, 1, 2)) => 1,
33-
]
34-
elseif conserve_number
35-
return [QN(qnname_number, 0) => 1, QN(qnname_number, 1) => 1]
36-
elseif conserve_parity
37-
return [QN(qnname_parity, 0, 2) => 1, QN(qnname_parity, 1, 2) => 1]
38-
end
14+
function space(::SiteType"Qubit")
3915
return 2
4016
end
4117

src/sitetypes/qudit.jl

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,26 @@
11
using ChainRulesCore: @non_differentiable
22

33
"""
4-
space(::SiteType"Qudit";
5-
dim = 2,
6-
conserve_qns = false,
7-
conserve_number = false,
8-
qnname_number = "Number")
4+
space(::SiteType"Qudit")
95
106
Create the Hilbert space for a site of type "Qudit".
117
128
Optionally specify the conserved symmetries and their quantum number labels.
139
"""
14-
function space(
15-
::SiteType"Qudit";
16-
dim=2,
17-
conserve_qns=false,
18-
conserve_number=conserve_qns,
19-
qnname_number="Number",
20-
)
21-
if conserve_number
22-
return [QN(qnname_number, n - 1) => 1 for n in 1:dim]
23-
end
10+
function space(::SiteType"Qudit"; dim=2)
2411
return dim
2512
end
2613

2714
function val(::ValName{N}, ::SiteType"Qudit") where {N}
2815
return parse(Int, String(N)) + 1
2916
end
3017

31-
## function state(::StateName{N}, ::SiteType"Qudit", s::Index) where {N}
32-
## n = parse(Int, String(N))
33-
## st = zeros(dim(s))
34-
## st[n + 1] = 1.0
35-
## return itensor(st, s)
36-
## end
18+
function state(::StateName{N}, ::SiteType"Qudit") where {N}
19+
n = parse(Int, String(N))
20+
st = zeros(dim(s))
21+
st[n + 1] = 1.0
22+
return st
23+
end
3724

3825
# one-body operators
3926
function op(::OpName"Id", ::SiteType"Qudit", ds::Int...)

0 commit comments

Comments
 (0)