@@ -7,33 +7,31 @@ using GradedArrays: AbelianStyle, NotAbelianStyle, SymmetryStyle, checkspaces
7
7
using TensorAlgebra: AbstractBlockPermutation, permmortar
8
8
9
9
# permutedims with 1 tuple of 2 separate tuples
10
- function fusiontensor_permutedims (ft, new_leg_indices :: Tuple{Tuple,Tuple} )
11
- return fusiontensor_permutedims (ft, new_leg_indices ... )
10
+ function fusiontensor_permutedims (ft, new_leg_dims :: Tuple{Tuple,Tuple} )
11
+ return fusiontensor_permutedims (ft, new_leg_dims ... )
12
12
end
13
13
14
- function fusiontensor_permutedims! (ftdst, ftsrc, new_leg_indices :: Tuple{Tuple,Tuple} )
15
- return fusiontensor_permutedims! (ftdst, ftsrc, new_leg_indices ... )
14
+ function fusiontensor_permutedims! (ftdst, ftsrc, new_leg_dims :: Tuple{Tuple,Tuple} )
15
+ return fusiontensor_permutedims! (ftdst, ftsrc, new_leg_dims ... )
16
16
end
17
17
18
18
# permutedims with 2 separate tuples
19
- function fusiontensor_permutedims (
20
- ft, new_codomain_indices:: Tuple , new_domain_indices:: Tuple
21
- )
22
- biperm = permmortar ((new_codomain_indices, new_domain_indices))
19
+ function fusiontensor_permutedims (ft, new_codomain_dims:: Tuple , new_domain_dims:: Tuple )
20
+ biperm = permmortar ((new_codomain_dims, new_domain_dims))
23
21
return fusiontensor_permutedims (ft, biperm)
24
22
end
25
23
26
24
function fusiontensor_permutedims! (
27
- ftdst, ftsrc, new_codomain_indices :: Tuple , new_domain_indices :: Tuple
25
+ ftdst, ftsrc, new_codomain_dims :: Tuple , new_domain_dims :: Tuple
28
26
)
29
- biperm = permmortar ((new_codomain_indices, new_domain_indices ))
27
+ biperm = permmortar ((new_codomain_dims, new_domain_dims ))
30
28
return fusiontensor_permutedims! (ftdst, ftsrc, biperm)
31
29
end
32
30
33
31
# permutedims with BlockedPermutation
34
32
function fusiontensor_permutedims (ft, biperm:: AbstractBlockPermutation{2} )
35
33
ndims (ft) == length (biperm) || throw (ArgumentError (" Invalid permutation length" ))
36
- ftdst = FusionTensor {eltype (ft)} (undef , axes (ft)[biperm])
34
+ ftdst = similar (ft, axes (ft)[biperm])
37
35
fusiontensor_permutedims! (ftdst, ft, biperm)
38
36
return ftdst
39
37
end
0 commit comments