diff --git a/.github/workflows/IntegrationTest.yml b/.github/workflows/IntegrationTest.yml new file mode 100644 index 0000000..dd3c7b1 --- /dev/null +++ b/.github/workflows/IntegrationTest.yml @@ -0,0 +1,24 @@ +name: "IntegrationTest" + +on: + push: + branches: + - 'main' + tags: '*' + paths: + - 'Project.toml' + pull_request: + paths: + - 'Project.toml' + +jobs: + integration-test: + name: "IntegrationTest" + strategy: + matrix: + pkg: + - 'ITensorNetworksNext' + uses: "ITensor/ITensorActions/.github/workflows/IntegrationTest.yml@main" + with: + localregistry: "https://github.com/ITensor/ITensorRegistry.git" + pkg: "${{ matrix.pkg }}" diff --git a/Project.toml b/Project.toml index 5a98ef2..6a457c9 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "ITensorBase" uuid = "4795dd04-0d67-49bb-8f44-b89c448a1dc7" authors = ["ITensor developers and contributors"] -version = "0.3.4" +version = "0.4.0" [deps] Accessors = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" @@ -17,25 +17,15 @@ UnallocatedArrays = "43c9e47c-e622-40fb-bf18-a09fc8c466b6" UnspecifiedTypes = "42b3faec-625b-4613-8ddc-352bf9672b8d" VectorInterface = "409d34a3-91d5-4945-b6ec-7529ddf182d8" -[weakdeps] -DiagonalArrays = "74fd4be6-21e2-4f6f-823a-4360d37c7a77" -SparseArraysBase = "0d5efcca-f356-4864-8770-e1ed8d78f208" - -[extensions] -ITensorBaseDiagonalArraysExt = "DiagonalArrays" -ITensorBaseSparseArraysBaseExt = ["NamedDimsArrays", "SparseArraysBase"] - [compat] Accessors = "0.1.39" ConstructionBase = "1.6.0" DerivableInterfaces = "0.5" -DiagonalArrays = "0.3" FillArrays = "1.13" LinearAlgebra = "1.10" MapBroadcast = "0.1.5" -NamedDimsArrays = "0.8, 0.9" +NamedDimsArrays = "0.10" Random = "1.10" -SparseArraysBase = "0.7" TensorAlgebra = "0.3, 0.4, 0.5, 0.6" UnallocatedArrays = "0.1.1" UnspecifiedTypes = "0.1.1" diff --git a/docs/Project.toml b/docs/Project.toml index b46fb32..bd8f0d7 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -9,6 +9,6 @@ ITensorBase = {path = ".."} [compat] Documenter = "1" -ITensorBase = "0.3" +ITensorBase = "0.4" Literate = "2" -NamedDimsArrays = "0.8, 0.9" +NamedDimsArrays = "0.10" diff --git a/examples/Project.toml b/examples/Project.toml index 7a84e74..f7c3c41 100644 --- a/examples/Project.toml +++ b/examples/Project.toml @@ -7,6 +7,6 @@ NamedDimsArrays = "60cbd0c0-df58-4cb7-918c-6f5607b73fde" ITensorBase = {path = ".."} [compat] -ITensorBase = "0.3" +ITensorBase = "0.4" LinearAlgebra = "1.10" -NamedDimsArrays = "0.8, 0.9" +NamedDimsArrays = "0.10" diff --git a/ext/ITensorBaseDiagonalArraysExt/ITensorBaseDiagonalArraysExt.jl b/ext/ITensorBaseDiagonalArraysExt/ITensorBaseDiagonalArraysExt.jl deleted file mode 100644 index 59cd9cf..0000000 --- a/ext/ITensorBaseDiagonalArraysExt/ITensorBaseDiagonalArraysExt.jl +++ /dev/null @@ -1,28 +0,0 @@ -module ITensorBaseDiagonalArraysExt - -using DiagonalArrays: DiagonalArrays, δ, delta -using ITensorBase: ITensor, Index - -# TODO: Define more generic definitions in `NamedDimsArraysDiagonalArraysExt`. -function DiagonalArrays.delta(elt::Type{<:Number}, is::Tuple{Index, Vararg{Index}}) - return ITensor(delta(elt, Int.(length.(is))), is) -end -function DiagonalArrays.δ(elt::Type{<:Number}, is::Tuple{Index, Vararg{Index}}) - return delta(elt, is) -end -DiagonalArrays.delta(is::Tuple{Index, Vararg{Index}}) = delta(Bool, is) -DiagonalArrays.δ(is::Tuple{Index, Vararg{Index}}) = delta(is) -function DiagonalArrays.delta(elt::Type{<:Number}, i1::Index, i_rest::Index...) - return delta(elt, (i1, i_rest...)) -end -function DiagonalArrays.δ(elt::Type{<:Number}, i1::Index, i_rest::Index...) - return delta(elt, i1, i_rest...) -end -function DiagonalArrays.delta(i1::Index, i_rest::Index...) - return delta((i1, i_rest...)) -end -function DiagonalArrays.δ(i1::Index, i_rest::Index...) - return delta(i1, i_rest...) -end - -end diff --git a/ext/ITensorBaseSparseArraysBaseExt/ITensorBaseSparseArraysBaseExt.jl b/ext/ITensorBaseSparseArraysBaseExt/ITensorBaseSparseArraysBaseExt.jl deleted file mode 100644 index dc2ff22..0000000 --- a/ext/ITensorBaseSparseArraysBaseExt/ITensorBaseSparseArraysBaseExt.jl +++ /dev/null @@ -1,13 +0,0 @@ -module ITensorBaseSparseArraysBaseExt - -using ITensorBase: ITensor, Index -using NamedDimsArrays: dename -using SparseArraysBase: SparseArraysBase, oneelement - -function SparseArraysBase.oneelement( - value, index::NTuple{N, Int}, ax::NTuple{N, Index} - ) where {N} - return ITensor(oneelement(value, index, only.(axes.(dename.(ax)))), ax) -end - -end diff --git a/test/Project.toml b/test/Project.toml index a7df4ec..e777beb 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -15,11 +15,9 @@ ITensorBase = {path = ".."} [compat] Aqua = "0.8.9" -DiagonalArrays = "0.3" -ITensorBase = "0.3" -NamedDimsArrays = "0.8, 0.9" +ITensorBase = "0.4" +NamedDimsArrays = "0.10" SafeTestsets = "0.1" -SparseArraysBase = "0.7" Suppressor = "0.2" TensorAlgebra = "0.3, 0.4, 0.5, 0.6" Test = "1.10" diff --git a/test/test_basics.jl b/test/test_basics.jl index 896ae68..fd6f38e 100644 --- a/test/test_basics.jl +++ b/test/test_basics.jl @@ -1,8 +1,6 @@ -using DiagonalArrays: δ, delta, diagview using ITensorBase: ITensorBase, ITensor, Index, IndexName, gettag, hastag, plev, prime, setplev, settag, tags, unsettag using NamedDimsArrays: dename, inds, mapinds, name, named -using SparseArraysBase: oneelement using LinearAlgebra: factorize using Test: @test, @test_broken, @test_throws, @testset @@ -117,45 +115,6 @@ const elts = (Float32, Float64, Complex{Float32}, Complex{Float64}) i = Index(2; id, tags = ["X" => "Y"]) @test sprint(show, "text/plain", i) == "Index(length=2|id=$(id % 1000)|\"X\"=>\"Y\")" end - @testset "delta" begin - i, j = Index.((2, 2)) - for a in ( - delta(i, j), - delta(Bool, i, j), - delta((i, j)), - delta(Bool, (i, j)), - δ(i, j), - δ(Bool, i, j), - δ((i, j)), - δ(Bool, (i, j)), - ) - @test eltype(a) === Bool - # TODO: Fix this. - @test_broken diagview(a) - @test diagview(dename(a)) == ones(2) - end - end - @testset "oneelement" begin - i = Index(3) - a = oneelement(i => 2) - @test a isa ITensor - @test ndims(a) == 1 - @test issetequal(inds(a), (i,)) - @test eltype(a) === Bool - @test a[1] == 0 - @test a[2] == 1 - @test a[3] == 0 - - i = Index(3) - a = oneelement(Float32, i => 2) - @test a isa ITensor - @test ndims(a) == 1 - @test issetequal(inds(a), (i,)) - @test eltype(a) === Float32 - @test a[1] == 0 - @test a[2] == 1 - @test a[3] == 0 - end @testset "factorize" for elt in elts i = Index(2) j = Index(2)