Skip to content

Commit 8a353bd

Browse files
committed
finish merging
1 parent 3f6bd2e commit 8a353bd

File tree

2 files changed

+7
-23
lines changed
  • NDTensors/src/lib

2 files changed

+7
-23
lines changed

NDTensors/src/lib/BlockSparseArrays/src/abstractblocksparsearray/views.jl

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
using BlockArrays:
2-
AbstractBlockedUnitRange,
3-
BlockArrays,
4-
Block,
5-
BlockIndexRange,
6-
BlockedVector,
7-
blocklength,
8-
blocksize,
9-
viewblock
2+
BlockArrays, Block, BlockIndexRange, BlockedVector, blocklength, blocksize, viewblock
103

114
# This splits `BlockIndexRange{N}` into
125
# `NTuple{N,BlockIndexRange{1}}`.

NDTensors/src/lib/GradedAxes/src/fusion.jl

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,6 @@ function fuse_blocklengths(x::LabelledInteger, y::LabelledInteger)
5151
return blockedrange([labelled(x * y, fuse_labels(label(x), label(y)))])
5252
end
5353

54-
flatten_maybe_nested(v::Vector{<:Integer}) = v
55-
flatten_maybe_nested(v::Vector{<:AbstractGradedUnitRange}) = reduce(vcat, blocklengths.(v))
56-
5754
using BlockArrays: blockedrange, blocks
5855
function tensor_product(a1::AbstractBlockedUnitRange, a2::AbstractBlockedUnitRange)
5956
nested = map(Iterators.flatten((Iterators.product(blocks(a1), blocks(a2)),))) do it
@@ -63,13 +60,8 @@ function tensor_product(a1::AbstractBlockedUnitRange, a2::AbstractBlockedUnitRan
6360
return blockedrange(new_blocklengths)
6461
end
6562

66-
# convention: sort UnitRangeDual according to nondual blocks
67-
function blocksortperm(a::AbstractUnitRange)
68-
return Block.(sortperm(blocklabels(nondual(a))))
69-
end
70-
7163
# convention: sort GradedUnitRangeDual according to nondual blocks
72-
function blocksortperm(a::GradedUnitRangeDual)
64+
function blocksortperm(a::AbstractUnitRange)
7365
return Block.(sortperm(blocklabels(nondual(a))))
7466
end
7567

@@ -102,14 +94,13 @@ end
10294
function blockmergesort(g::AbstractGradedUnitRange)
10395
glabels = blocklabels(g)
10496
gblocklengths = blocklengths(g)
105-
new_blocklengths = map(
106-
la -> labelled(sum(gblocklengths[findall(==(la), glabels)]; init=0), la),
107-
sort(unique(glabels)),
108-
)
109-
return GradedAxes.gradedrange(new_blocklengths)
97+
new_blocklengths = map(sort(unique(glabels))) do la
98+
return labelled(sum(gblocklengths[findall(==(la), glabels)]; init=0), la)
99+
end
100+
return gradedrange(new_blocklengths)
110101
end
111102

112-
blockmergesort(g::GradedUnitRangeDual) = dual(blockmergesort(flip(g)))
103+
blockmergesort(g::GradedUnitRangeDual) = flip(blockmergesort(flip(g)))
113104

114105
# fusion_product produces a sorted, non-dual GradedUnitRange
115106
function fusion_product(g1, g2)

0 commit comments

Comments
 (0)