|
1 | 1 | # TODO: Need to define or replace. |
2 | 2 | # using ITensorBase: complex!, QN |
3 | 3 |
|
| 4 | +Base.length(::SiteType"S=1") = 3 |
| 5 | + |
4 | 6 | alias(::SiteType"SpinOne") = SiteType"S=1"() |
5 | 7 |
|
6 | 8 | """ |
@@ -54,97 +56,18 @@ state(::StateName"Y+", ::SiteType"S=1") = [-1 / 2, -im / sqrt(2), 1 / 2] |
54 | 56 | state(::StateName"Y0", ::SiteType"S=1") = [1 / sqrt(2), 0, 1 / sqrt(2)] |
55 | 57 | state(::StateName"Y-", ::SiteType"S=1") = [-1 / 2, im / sqrt(2), 1 / 2] |
56 | 58 |
|
57 | | -op(::OpName"Id", ::SiteType"S=1") = [ |
58 | | - 1.0 0.0 0.0 |
59 | | - 0.0 1.0 0.0 |
60 | | - 0.0 0.0 1.0 |
61 | | -] |
62 | | - |
63 | | -op(::OpName"Sz", ::SiteType"S=1") = [ |
64 | | - 1.0 0.0 0.0 |
65 | | - 0.0 0.0 0.0 |
66 | | - 0.0 0.0 -1.0 |
67 | | -] |
68 | | - |
69 | | -op(on::OpName"Sᶻ", t::SiteType"S=1") = op(alias(on), t) |
70 | | - |
71 | | -op(::OpName"S+", ::SiteType"S=1") = [ |
72 | | - 0.0 √2 0.0 |
73 | | - 0.0 0.0 √2 |
74 | | - 0.0 0.0 0.0 |
75 | | -] |
76 | | - |
77 | | -op(on::OpName"S⁺", t::SiteType"S=1") = op(alias(on), t) |
78 | | -op(on::OpName"Splus", t::SiteType"S=1") = op(alias(on), t) |
79 | | -op(on::OpName"Sp", t::SiteType"S=1") = op(alias(on), t) |
80 | | - |
81 | | -op(::OpName"S-", ::SiteType"S=1") = [ |
82 | | - 0.0 0.0 0.0 |
83 | | - √2 0.0 0.0 |
84 | | - 0.0 √2 0.0 |
85 | | -] |
86 | | - |
87 | | -op(on::OpName"S⁻", t::SiteType"S=1") = op(alias(on), t) |
88 | | -op(on::OpName"Sminus", t::SiteType"S=1") = op(alias(on), t) |
89 | | -op(on::OpName"Sm", t::SiteType"S=1") = op(alias(on), t) |
90 | | - |
91 | | -op(::OpName"Sx", ::SiteType"S=1") = [ |
92 | | - 0.0 1/√2 0.0 |
93 | | - 1/√2 0.0 1/√2 |
94 | | - 0.0 1/√2 0.0 |
95 | | -] |
96 | | - |
97 | | -op(on::OpName"Sˣ", t::SiteType"S=1") = op(alias(on), t) |
98 | | - |
99 | | -op(::OpName"iSy", ::SiteType"S=1") = [ |
100 | | - 0.0 1/√2 0.0 |
101 | | - -1/√2 0.0 1/√2 |
102 | | - 0.0 -1/√2 0.0 |
103 | | -] |
104 | | - |
105 | | -op(on::OpName"iSʸ", t::SiteType"S=1") = op(alias(on), t) |
106 | | - |
107 | | -op(::OpName"Sy", ::SiteType"S=1") = [ |
108 | | - 0.0 -im/√2 0.0 |
109 | | - im/√2 0.0 -im/√2 |
110 | | - 0.0 im/√2 0.0 |
111 | | -] |
112 | | - |
113 | | -op(on::OpName"Sʸ", t::SiteType"S=1") = op(alias(on), t) |
114 | | - |
115 | | -op(::OpName"Sz2", ::SiteType"S=1") = [ |
116 | | - 1.0 0.0 0.0 |
117 | | - 0.0 0.0 0.0 |
118 | | - 0.0 0.0 1.0 |
119 | | -] |
120 | | - |
121 | | -op(::OpName"Sx2", ::SiteType"S=1") = [ |
122 | | - 0.5 0.0 0.5 |
123 | | - 0.0 1.0 0.0 |
124 | | - 0.5 0.0 0.5 |
125 | | -] |
126 | | - |
127 | | -op(::OpName"Sy2", ::SiteType"S=1") = [ |
128 | | - 0.5 0.0 -0.5 |
129 | | - 0.0 1.0 0.0 |
130 | | - -0.5 0.0 0.5 |
131 | | -] |
132 | | - |
133 | | -op(::OpName"S2", ::SiteType"S=1") = [ |
134 | | - 2.0 0.0 0.0 |
135 | | - 0.0 2.0 0.0 |
136 | | - 0.0 0.0 2.0 |
137 | | -] |
138 | | - |
139 | | -op(on::OpName"S²", t::SiteType"S=1") = op(alias(on), t) |
140 | | - |
| 59 | +# TODO: Delete this. |
141 | 60 | space(st::SiteType"SpinOne"; kwargs...) = space(alias(st); kwargs...) |
142 | 61 |
|
| 62 | +# TODO: Delete this. |
143 | 63 | state(name::StateName, st::SiteType"SpinOne") = state(name, alias(st)) |
| 64 | +# TODO: Delete this. |
144 | 65 | val(name::ValName, st::SiteType"SpinOne") = val(name, alias(st)) |
145 | 66 |
|
| 67 | +# TODO: Delete this. |
146 | 68 | ## function op!(Op::ITensor, o::OpName, st::SiteType"SpinOne", s::Index) |
147 | 69 | ## return op!(Op, o, alias(st), s) |
148 | 70 | ## end |
149 | 71 |
|
| 72 | +# TODO: Delete this. |
150 | 73 | op(o::OpName, st::SiteType"SpinOne") = op(o, alias(st)) |
0 commit comments