Skip to content

Commit f939a28

Browse files
committed
replaced .set_label( by .relabel(
1 parent 4d7d88d commit f939a28

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+219
-354
lines changed

benchmarks/linalg/Lanczos_bm.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace BMTest_Lanczos {
2727
* | | + | | "pi"
2828
* |_|--"vol" "po" "vor"--|_|
2929
*
30-
* Then relabels ["vil", "pi", "vir"] -> ["vol", "po", "vor"]
30+
* Then relabel ["vil", "pi", "vir"] -> ["vol", "po", "vor"]
3131
*
3232
* "vil":virtual in bond left
3333
* "po":physical out bond

docs/code/CytnxGuide_PythonCodeExamples_2023_06_30.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3664,12 +3664,12 @@
36643664
"\n",
36653665
"s0 = 1./s0\n",
36663666
"\n",
3667-
"s0.set_labels(['0','1'])\n",
3667+
"s0.relabel_(['0','1'])\n",
36683668
"\n",
36693669
"s2 = cytnx.Contract(cytnx.Contract(sL,s0),sR)\n",
36703670
"\n",
36713671
"\n",
3672-
"s2.set_labels(['-10','-11'])\n",
3672+
"s2.relabel_(['-10','-11'])\n",
36733673
"\n",
36743674
"A.set_label(2,'-10')\n",
36753675
"\n",

docs/code/iTEBD/iTEBD.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,10 @@
7979
Elast = 0
8080
for i in range(10000):
8181

82-
A.set_labels([-1,0,-2])
83-
B.set_labels([-3,1,-4])
84-
la.set_labels([-2,-3])
85-
lb.set_labels([-4,-5])
82+
A.relabel_([-1,0,-2])
83+
B.relabel_([-3,1,-4])
84+
la.relabel_([-2,-3])
85+
lb.relabel_([-4,-5])
8686

8787
## contract all
8888
X = cyx.Contract(cyx.Contract(A,la),cyx.Contract(B,lb))
@@ -103,7 +103,7 @@
103103
# Note that X,Xt contract will result a rank-0 tensor, which can use item() toget element
104104
XNorm = cyx.Contract(X,Xt).item()
105105
XH = cyx.Contract(X,H)
106-
XH.set_labels([-4,-5,0,1])
106+
XH.relabel_([-4,-5,0,1])
107107
XHX = cyx.Contract(Xt,XH).item() ## rank-0
108108
E = XHX/XNorm
109109

@@ -141,8 +141,8 @@
141141
# --lb-A'-la-B'-lb--
142142
#
143143
# again, but A' and B' are updated
144-
A.set_labels([-1,0,-2]); A.set_rowrank(1);
145-
B.set_labels([-3,1,-4]); B.set_rowrank(1);
144+
A.relabel_([-1,0,-2]); A.set_rowrank(1);
145+
B.relabel_([-3,1,-4]); B.set_rowrank(1);
146146

147147
#A.print_diagram()
148148
#B.print_diagram()

example/DMRG/dmrg_two_sites_U1.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def matvec(self, v):
1919
lbl = v.labels()
2020
self.anet.PutUniTensor("psi",v)
2121
out = self.anet.Launch()
22-
out.relabels_(lbl)
22+
out.relabel_(lbl)
2323
return out
2424

2525
def optimize_psi(psi, functArgs, maxit=2, krydim=4):
@@ -98,7 +98,7 @@ def optimize_psi(psi, functArgs, maxit=2, krydim=4):
9898
A[k] = cytnx.UniTensor([B1,B2,B3],rowrank=2)
9999

100100
lbl = [str(2*k),str(2*k+1),str(2*k+2)]
101-
A[k].set_labels(lbl)
101+
A[k].relabel_(lbl)
102102

103103
A[k].get_block_()[0] = 1
104104
lbls.append(lbl) # store the labels for later convinience.
@@ -131,12 +131,12 @@ def optimize_psi(psi, functArgs, maxit=2, krydim=4):
131131

132132
psi.set_rowrank_(2) # maintain rowrank to perform the svd
133133
s,A[p],A[p+1] = cytnx.linalg.Svd_truncate(psi,new_dim)
134-
A[p+1].relabels_(lbls[p+1]); # set the label back to be consistent
134+
A[p+1].relabel_(lbls[p+1]); # set the label back to be consistent
135135

136136
s = s/s.Norm().item() # normalize s
137137

138138
A[p] = cytnx.Contract(A[p],s) # absorb s into next neighbor
139-
A[p].relabels_(lbls[p]); # set the label back to be consistent
139+
A[p].relabel_(lbls[p]); # set the label back to be consistent
140140

141141
# update LR from right to left:
142142
anet = cytnx.Network()
@@ -152,7 +152,7 @@ def optimize_psi(psi, functArgs, maxit=2, krydim=4):
152152

153153
A[0].set_rowrank_(1)
154154
_,A[0] = cytnx.linalg.Gesvd(A[0],is_U=False, is_vT=True)
155-
A[0].relabels_(lbls[0]); #set the label back to be consistent
155+
A[0].relabel_(lbls[0]); #set the label back to be consistent
156156

157157
for p in range(Nsites-1):
158158
dim_l = A[p].shape()[0]
@@ -165,12 +165,12 @@ def optimize_psi(psi, functArgs, maxit=2, krydim=4):
165165

166166
psi.set_rowrank_(2) # maintain rowrank to perform the svd
167167
s,A[p],A[p+1] = cytnx.linalg.Svd_truncate(psi,new_dim)
168-
A[p].relabels_(lbls[p]); #set the label back to be consistent
168+
A[p].relabel_(lbls[p]); #set the label back to be consistent
169169

170170
s = s/s.Norm().item() # normalize s
171171

172172
A[p+1] = cytnx.Contract(s,A[p+1]) ## absorb s into next neighbor.
173-
A[p+1].relabels_(lbls[p+1]); #set the label back to be consistent
173+
A[p+1].relabel_(lbls[p+1]); #set the label back to be consistent
174174

175175
# update LR from left to right:
176176
anet = cytnx.Network()
@@ -186,7 +186,7 @@ def optimize_psi(psi, functArgs, maxit=2, krydim=4):
186186

187187
A[-1].set_rowrank_(2)
188188
_,A[-1] = cytnx.linalg.Gesvd(A[-1],is_U=True,is_vT=False) ## last one.
189-
A[-1].relabels_(lbls[-1]); #set the label back to be consistent
189+
A[-1].relabel_(lbls[-1]); #set the label back to be consistent
190190

191191
return Ekeep
192192

example/DMRG/dmrg_two_sites_dense.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def matvec(self, v):
1818
lbl = v.labels()
1919
self.anet.PutUniTensor("psi",v)
2020
out = self.anet.Launch()
21-
out.relabels_(lbl)
21+
out.relabel_(lbl)
2222
return out
2323

2424
def optimize_psi(psi, functArgs, maxit=2, krydim=4):
@@ -61,7 +61,7 @@ def optimize_psi(psi, functArgs, maxit=2, krydim=4):
6161
lbls = [] # List for storing the MPS labels
6262
A = [None for i in range(Nsites)]
6363
A[0] = cytnx.UniTensor(cytnx.random.normal([1, d, min(chi, d)], 0., 1.), rowrank = 2)
64-
A[0].relabels_(["0","1","2"])
64+
A[0].relabel_(["0","1","2"])
6565
lbls.append(["0","1","2"]) # store the labels for later convinience.
6666

6767
for k in range(1,Nsites):
@@ -70,7 +70,7 @@ def optimize_psi(psi, functArgs, maxit=2, krydim=4):
7070
A[k] = cytnx.UniTensor(cytnx.random.normal([dim1, dim2, dim3],0.,1.), rowrank = 2)
7171

7272
lbl = [str(2*k),str(2*k+1),str(2*k+2)]
73-
A[k].relabels_(lbl)
73+
A[k].relabel_(lbl)
7474
lbls.append(lbl) # store the labels for later convinience.
7575

7676
LR = [None for i in range(Nsites+1)]
@@ -96,11 +96,11 @@ def optimize_psi(psi, functArgs, maxit=2, krydim=4):
9696
LR[p+1] = anet.Launch()
9797

9898
# Recover the original MPS labels
99-
A[p].relabels_(lbls[p])
100-
A[p+1].relabels_(lbls[p+1])
99+
A[p].relabel_(lbls[p])
100+
A[p+1].relabel_(lbls[p+1])
101101

102102
_,A[-1] = cytnx.linalg.Gesvd(A[-1],is_U=True,is_vT=False) ## last one.
103-
A[-1].relabels_(lbls[-1]) # Recover the original MPS labels
103+
A[-1].relabel_(lbls[-1]) # Recover the original MPS labels
104104

105105
Ekeep = []
106106
for k in range(1, numsweeps+1):
@@ -116,12 +116,12 @@ def optimize_psi(psi, functArgs, maxit=2, krydim=4):
116116

117117
psi.set_rowrank_(2) # maintain rowrank to perform the svd
118118
s,A[p],A[p+1] = cytnx.linalg.Svd_truncate(psi,new_dim)
119-
A[p+1].relabels_(lbls[p+1]); # set the label back to be consistent
119+
A[p+1].relabel_(lbls[p+1]); # set the label back to be consistent
120120

121121
s = s/s.Norm().item() # normalize s
122122

123123
A[p] = cytnx.Contract(A[p],s) # absorb s into next neighbor
124-
A[p].relabels_(lbls[p]); # set the label back to be consistent
124+
A[p].relabel_(lbls[p]); # set the label back to be consistent
125125

126126
# update LR from right to left:
127127
anet = cytnx.Network()
@@ -138,7 +138,7 @@ def optimize_psi(psi, functArgs, maxit=2, krydim=4):
138138

139139
A[0].set_rowrank_(1)
140140
_,A[0] = cytnx.linalg.Gesvd(A[0],is_U=False, is_vT=True)
141-
A[0].relabels_(lbls[0]); #set the label back to be consistent
141+
A[0].relabel_(lbls[0]); #set the label back to be consistent
142142

143143
for p in range(Nsites-1):
144144
dim_l = A[p].shape()[0]
@@ -151,12 +151,12 @@ def optimize_psi(psi, functArgs, maxit=2, krydim=4):
151151

152152
psi.set_rowrank_(2) # maintain rowrank to perform the svd
153153
s,A[p],A[p+1] = cytnx.linalg.Svd_truncate(psi,new_dim)
154-
A[p].relabels_(lbls[p]); #set the label back to be consistent
154+
A[p].relabel_(lbls[p]); #set the label back to be consistent
155155

156156
s = s/s.Norm().item() # normalize s
157157

158158
A[p+1] = cytnx.Contract(s,A[p+1]) ## absorb s into next neighbor.
159-
A[p+1].relabels_(lbls[p+1]); #set the label back to be consistent
159+
A[p+1].relabel_(lbls[p+1]); #set the label back to be consistent
160160

161161
# update LR from left to right:
162162
anet = cytnx.Network()
@@ -174,7 +174,7 @@ def optimize_psi(psi, functArgs, maxit=2, krydim=4):
174174

175175
A[-1].set_rowrank_(2)
176176
_,A[-1] = cytnx.linalg.Gesvd(A[-1],is_U=True,is_vT=False) ## last one.
177-
A[-1].relabels_(lbls[-1]); #set the label back to be consistent
177+
A[-1].relabel_(lbls[-1]); #set the label back to be consistent
178178
return Ekeep
179179

180180
if __name__ == '__main__':

example/Network/Construct.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ int main(int argc, char* argv[]) {
99
auto tc = UniTensor(arange(24).reshape(2, 3, 4), 1);
1010
auto td = UniTensor(arange(24).reshape(2, 3, 4), 1);
1111

12-
ta.set_labels({0, 1, 2});
13-
tb.set_labels({0, 3, 4});
14-
tc.set_labels({5, 1, 6});
15-
td.set_labels({5, 7, 8});
12+
ta.relabel_({0, 1, 2});
13+
tb.relabel_({0, 3, 4});
14+
tc.relabel_({5, 1, 6});
15+
td.relabel_({5, 7, 8});
1616

1717
UniTensor oot =
1818
Network::Contract(

example/iTEBD/iTEBD.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,10 @@ def itebd_tfim(chi = 20, J = 1.0, Hx = 1.0, dt = 0.1, CvgCrit = 1.0e-10):
6464
Elast = 0
6565
for i in range(10000):
6666

67-
A.set_labels(['a','0','b'])
68-
B.set_labels(['c','1','d'])
69-
la.set_labels(['b','c'])
70-
lb.set_labels(['d','e'])
67+
A.relabel_(['a','0','b'])
68+
B.relabel_(['c','1','d'])
69+
la.relabel_(['b','c'])
70+
lb.relabel_(['d','e'])
7171

7272

7373
## contract all
@@ -89,7 +89,7 @@ def itebd_tfim(chi = 20, J = 1.0, Hx = 1.0, dt = 0.1, CvgCrit = 1.0e-10):
8989
# Note that X,Xt contract will result a rank-0 tensor, which can use item() toget element
9090
XNorm = cytnx.Contract(X,Xt).item()
9191
XH = cytnx.Contract(X,H)
92-
XH.set_labels(['d','e','0','1'])
92+
XH.relabel_(['d','e','0','1'])
9393

9494

9595
XHX = cytnx.Contract(Xt,XH).item() ## rank-0
@@ -133,7 +133,7 @@ def itebd_tfim(chi = 20, J = 1.0, Hx = 1.0, dt = 0.1, CvgCrit = 1.0e-10):
133133
# again, but A' and B' are updated
134134
lb_inv = 1./lb
135135
# lb_inv.print_diagram();
136-
lb_inv.set_labels(['e','d'])
136+
lb_inv.relabel_(['e','d'])
137137

138138
A = cytnx.Contract(lb_inv,A)
139139
B = cytnx.Contract(B,lb_inv)

example/iTEBD/iTEBD_U1.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,10 @@ def itebd_heisenberg(chi = 32, J = 1.0, dt = 0.1, CvgCrit = 1.0e-12):
7373
Elast = 0
7474
for i in range(10000):
7575

76-
A.set_labels(["a","0","b"])
77-
B.set_labels(["c","1","d"])
78-
la.set_labels(["b","c"])
79-
lb.set_labels(["d","e"])
76+
A.relabel_(["a","0","b"])
77+
B.relabel_(["c","1","d"])
78+
la.relabel_(["b","c"])
79+
lb.relabel_(["d","e"])
8080

8181
## contract all
8282
tmpA = cytnx.Contract(A,la)
@@ -101,7 +101,7 @@ def itebd_heisenberg(chi = 32, J = 1.0, dt = 0.1, CvgCrit = 1.0e-12):
101101
## <psi|H|psi>
102102
XH = cytnx.Contract(X,H)
103103
#XH.print_diagram()
104-
XH.set_labels(['d','e','0','1'])
104+
XH.relabel_(['d','e','0','1'])
105105
XHX = cytnx.Contract(Xt,XH).item()
106106
E = XHX/XNorm
107107

@@ -141,7 +141,7 @@ def itebd_heisenberg(chi = 32, J = 1.0, dt = 0.1, CvgCrit = 1.0e-12):
141141
T = lb_inv.get_block_(b);
142142
lb_inv.put_block_(1./T,b);
143143

144-
lb_inv.set_labels(['e','d'])
144+
lb_inv.relabel_(['e','d'])
145145

146146
A = cytnx.Contract(lb_inv,A)
147147
B = cytnx.Contract(B,lb_inv)

example/iTEBD/iTEBD_tag.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ def itebd_tfim_tag(chi = 20, J = 1.0, Hx = 1.0, dt = 0.1, CvgCrit = 1.0e-10):
6666
Elast = 0
6767
for i in range(10000):
6868

69-
A.set_labels(['a','0','b'])
70-
B.set_labels(['c','1','d'])
71-
la.set_labels(['b','c'])
72-
lb.set_labels(['d','e'])
69+
A.relabel(['a','0','b'])
70+
B.relabel(['c','1','d'])
71+
la.relabel(['b','c'])
72+
lb.relabel(['d','e'])
7373

7474

7575

@@ -93,7 +93,7 @@ def itebd_tfim_tag(chi = 20, J = 1.0, Hx = 1.0, dt = 0.1, CvgCrit = 1.0e-10):
9393
# Note that X,Xt contract will result a rank-0 tensor, which can use item() toget element
9494
XNorm = cytnx.Contract(X,Xt).item()
9595
XH = cytnx.Contract(X,H)
96-
XH.set_labels(['d','e','0','1'])
96+
XH.relabel_(['d','e','0','1'])
9797
XHX = cytnx.Contract(Xt,XH).item() ## rank-0
9898
E = XHX/XNorm
9999

@@ -132,7 +132,7 @@ def itebd_tfim_tag(chi = 20, J = 1.0, Hx = 1.0, dt = 0.1, CvgCrit = 1.0e-10):
132132
#
133133
# again, but A' and B' are updated
134134
lb_inv = 1./lb
135-
lb_inv.set_labels(['e','d'])
135+
lb_inv.relabel_(['e','d'])
136136

137137
A = cytnx.Contract(lb_inv,A)
138138
B = cytnx.Contract(B,lb_inv)

pybind/unitensor_py.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ void unitensor_binding(py::module &m) {
164164

165165

166166
.def("c_set_labels",[](UniTensor &self, const std::vector<std::string> &new_labels){
167-
return self.set_labels(new_labels);
167+
return self.relabel_(new_labels);
168168
},py::arg("new_labels"))
169169

170170

0 commit comments

Comments
 (0)