Skip to content

Commit 637c0d1

Browse files
committed
FusionMatrix
1 parent 0aeca66 commit 637c0d1

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/fusiontensor/fusiontensor.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ struct FusionTensor{T,N,Axes<:FusionTensorAxes,Mat<:AbstractMatrix{T},Mapping} <
134134
end
135135
end
136136

137+
const FusionMatrix{T,Axes,Mat,Mapping} = FusionTensor{
138+
T,2,Axes,Mapping
139+
} where {BT<:BlockedTuple{2,(1, 1)},Axes<:FusionTensorAxes{BT}}
140+
137141
# ===================================== Accessors ========================================
138142

139143
data_matrix(ft::FusionTensor) = ft.data_matrix

test/test_basics.jl

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ using Test: @test, @test_throws, @testset
33
using BlockArrays: Block
44
using BlockSparseArrays: BlockSparseArray, eachblockstoredindex
55
using FusionTensors:
6+
FusionMatrix,
67
FusionTensor,
78
FusionTensorAxes,
89
codomain_axes,
@@ -40,6 +41,7 @@ include("setup.jl")
4041
fta = FusionTensorAxes((g1,), (g2,))
4142
ft0 = FusionTensor{Float64}(undef, fta)
4243
@test ft0 isa FusionTensor
44+
@test ft0 isa FusionMatrix
4345
@test space_isequal(codomain_axis(ft0), g1)
4446
@test space_isequal(domain_axis(ft0), g2)
4547

@@ -134,6 +136,8 @@ end
134136
m2 = BlockSparseArray{Float64}(undef, gr, gc)
135137
ft = FusionTensor(m2, (g1, g2), (g3, g4))
136138

139+
@test ft isa FusionTensor
140+
@test !(ft isa FusionMatrix)
137141
@test data_matrix(ft) == m2
138142
@test checkspaces(codomain_axes(ft), (g1, g2))
139143
@test checkspaces(domain_axes(ft), (g3, g4))
@@ -155,6 +159,8 @@ end
155159

156160
# one row axis
157161
ft1 = FusionTensor{Float64}(undef, (g1,), ())
162+
@test ft1 isa FusionTensor
163+
@test !(ft1 isa FusionMatrix)
158164
@test ndims_codomain(ft1) == 1
159165
@test ndims_domain(ft1) == 0
160166
@test ndims(ft1) == 1
@@ -165,6 +171,8 @@ end
165171

166172
# one column axis
167173
ft2 = FusionTensor{Float64}(undef, (), (g1,))
174+
@test ft2 isa FusionTensor
175+
@test !(ft2 isa FusionMatrix)
168176
@test ndims_codomain(ft2) == 0
169177
@test ndims_domain(ft2) == 1
170178
@test ndims(ft2) == 1
@@ -175,13 +183,22 @@ end
175183

176184
# zero axis
177185
ft3 = FusionTensor{Float64}(undef, (), ())
186+
@test ft3 isa FusionTensor
187+
@test !(ft3 isa FusionMatrix)
178188
@test ndims_codomain(ft3) == 0
179189
@test ndims_domain(ft3) == 0
180190
@test ndims(ft3) == 0
181191
@test size(ft3) == tuplemortar(((), ()))
182192
@test size(data_matrix(ft3)) == (1, 1)
183193
@test isnothing(check_sanity(ft3))
184194
@test sector_type(ft3) === TrivialSector
195+
196+
ft4 = FusionTensor{Float64}(undef, (g1, g1), ())
197+
@test ft4 isa FusionTensor
198+
@test !(ft4 isa FusionMatrix)
199+
ft5 = FusionTensor{Float64}(undef, (), (g1, g1))
200+
@test ft5 isa FusionTensor
201+
@test !(ft5 isa FusionMatrix)
185202
end
186203

187204
@testset "specific constructors" begin

0 commit comments

Comments
 (0)