11using FillArrays: Eye
2- using KroneckerArrays: KroneckerArrays, ⊗ , × , diagonal, kron_nd
2+ using KroneckerArrays:
3+ KroneckerArrays,
4+ CartesianProductUnitRange,
5+ ⊗ ,
6+ × ,
7+ cartesianproduct,
8+ cartesianrange,
9+ diagonal,
10+ kron_nd,
11+ unproduct
312using LinearAlgebra: Diagonal, I, det, eigen, eigvals, lq, pinv, qr, svd, svdvals, tr
413using StableRNGs: StableRNG
514using Test: @test , @test_broken , @test_throws , @testset
@@ -10,6 +19,25 @@ const elts = (Float32, Float64, ComplexF32, ComplexF64)
1019 @test length (p) == 6
1120 @test collect (p) == [1 × 3 , 2 × 3 , 1 × 4 , 2 × 4 , 1 × 5 , 2 × 5 ]
1221
22+ r = cartesianrange (2 , 3 )
23+ @test r ===
24+ cartesianrange (2 × 3 ) ===
25+ cartesianrange (Base. OneTo (2 ), Base. OneTo (3 )) ===
26+ cartesianrange (Base. OneTo (2 ) × Base. OneTo (3 ))
27+ @test cartesianproduct (r) === Base. OneTo (2 ) × Base. OneTo (3 )
28+ @test unproduct (r) === Base. OneTo (6 )
29+ @test length (r) == 6
30+ @test first (r) == 1
31+ @test last (r) == 6
32+
33+ r = cartesianrange (2 × 3 , 2 : 7 )
34+ @test r === cartesianrange (Base. OneTo (2 ) × Base. OneTo (3 ), 2 : 7 )
35+ @test cartesianproduct (r) === Base. OneTo (2 ) × Base. OneTo (3 )
36+ @test unproduct (r) === 2 : 7
37+ @test length (r) == 6
38+ @test first (r) == 2
39+ @test last (r) == 7
40+
1341 a = randn (elt, 2 , 2 ) ⊗ randn (elt, 3 , 3 )
1442 b = randn (elt, 2 , 2 ) ⊗ randn (elt, 3 , 3 )
1543 c = a. a ⊗ b. b
0 commit comments