Skip to content

Commit 0c75fee

Browse files
committed
Add tests
1 parent e4b647c commit 0c75fee

File tree

8 files changed

+70
-4
lines changed

8 files changed

+70
-4
lines changed

src/lib/ITensorsNamedDimsArraysExt/examples/example_dmrg.jl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using Adapt: adapt
2-
using ITensors: MPO, dmrg, random_mps, siteinds
3-
using ITensors.Ops: OpSum
2+
using ITensorMPS: MPO, OpSum, dmrg, random_mps, siteinds
43
using ITensors.ITensorsNamedDimsArraysExt: to_nameddimsarray
54

65
function main(; n, conserve_qns=false, nsweeps=3, cutoff=1e-4, arraytype=Array)

src/lib/ITensorsNamedDimsArraysExt/src/to_nameddimsarray.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ using ITensors: QN
6363
using ..NDTensors.GradedAxes: GradedAxes
6464
GradedAxes.fuse_labels(l1::QN, l2::QN) = l1 + l2
6565

66+
using ITensors: QN
67+
using ..NDTensors.SymmetrySectors: SymmetrySectors
68+
SymmetrySectors.dual(l::QN) = -l
69+
6670
## TODO: Add this back, define `CombinerArrays` library in NDTensors!
6771
## using ..NDTensors: CombinerTensor, CombinerArray, storage
6872
## # TODO: Delete when we directly use `CombinerArray` as storage.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[deps]
2+
BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
3+
ITensors = "9136182c-28ba-11e9-034c-db9fb085ebd5"
4+
NDTensors = "23ae76d9-e61a-49c4-8f12-3f1a16adf9cf"
5+
Suppressor = "fd094767-a336-5f1f-9728-57cf17d0bbfb"
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
@eval module $(gensym())
2+
using BlockArrays: blocklengths
3+
using ITensors: ITensor, Index, QN, dag, inds, plev, random_itensor
4+
using ITensors.ITensorsNamedDimsArraysExt: to_nameddimsarray
5+
using NDTensors: tensor
6+
using NDTensors.BlockSparseArrays: BlockSparseArray, block_nstored
7+
using NDTensors.GradedAxes: isdual
8+
using NDTensors.LabelledNumbers: label
9+
using NDTensors.NamedDimsArrays: NamedDimsArray, unname
10+
using Test: @test, @testset
11+
@testset "to_nameddimsarray" begin
12+
i = Index([QN(0) => 2, QN(1) => 3])
13+
a = random_itensor(i', dag(i))
14+
b = to_nameddimsarray(a)
15+
@test b isa ITensor
16+
@test plev(inds(b)[1]) == 1
17+
@test plev(inds(b)[2]) == 0
18+
@test inds(b)[1] == i'
19+
@test inds(b)[2] == dag(i)
20+
nb = tensor(b)
21+
@test nb isa NamedDimsArray{Float64}
22+
bb = unname(nb)
23+
@test bb isa BlockSparseArray{Float64}
24+
@test !isdual(axes(bb, 1))
25+
@test isdual(axes(bb, 2))
26+
@test blocklengths(axes(bb, 1)) == [2, 3]
27+
@test blocklengths(axes(bb, 2)) == [2, 3]
28+
@test label.(blocklengths(axes(bb, 1))) == [QN(0), QN(1)]
29+
@test label.(blocklengths(axes(bb, 2))) == [QN(0), QN(-1)]
30+
@test block_nstored(bb) == 2
31+
@test b' * b to_nameddimsarray(a' * a)
32+
end
33+
end
Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
1+
@eval module $(gensym())
2+
using ITensors: ITensors
3+
using Suppressor: @suppress
14
using Test: @testset
2-
35
@testset "examples" begin
4-
include("../examples/example_readme.jl")
6+
@suppress include(
7+
joinpath(
8+
pkgdir(ITensors),
9+
"src",
10+
"lib",
11+
"ITensorsNamedDimsArraysExt",
12+
"examples",
13+
"example_readme.jl",
14+
),
15+
)
16+
end
517
end
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[deps]
2+
ITensors = "9136182c-28ba-11e9-034c-db9fb085ebd5"
3+
NDTensors = "23ae76d9-e61a-49c4-8f12-3f1a16adf9cf"
4+
Suppressor = "fd094767-a336-5f1f-9728-57cf17d0bbfb"
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
@eval module $(gensym())
2+
using ITensors: ITensors
3+
include(
4+
joinpath(
5+
pkgdir(ITensors), "src", "lib", "ITensorsNamedDimsArraysExt", "test", "runtests.jl"
6+
),
7+
)
8+
end

test/runtests.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ ITensors.disable_threaded_blocksparse()
1919
"base",
2020
"threading",
2121
"lib/ContractionSequenceOptimization",
22+
"lib/ITensorsNamedDimsArraysExt",
2223
"ext/ITensorsChainRulesCoreExt",
2324
"ext/ITensorsVectorInterfaceExt",
2425
"ext/NDTensorsMappedArraysExt",

0 commit comments

Comments
 (0)