Package evaluation to test LFAToolkit on Julia 1.14.0-DEV.2186 (48ff18f4cd*) started at 2026-05-17T15:49:15.431 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 16.39s ################################################################################ # Installation # Installing LFAToolkit... Resolving package versions... Installed OpenSpecFun_jll ───── v0.5.6+0 Installed LogExpFunctions ───── v0.3.29 Installed Setfield ──────────── v1.1.2 Installed SpecialFunctions ──── v2.7.2 Installed MacroTools ────────── v0.5.16 Installed Preferences ───────── v1.5.2 Installed PrecompileTools ───── v1.3.4 Installed ConstructionBase ──── v1.6.0 Installed JLLWrappers ───────── v1.8.0 Installed StaticArraysCore ──── v1.4.4 Installed IrrationalConstants ─ v0.2.6 Installed FastGaussQuadrature ─ v1.2.0 Installed LFAToolkit ────────── v0.7.0 Installed DocStringExtensions ─ v0.9.5 Installed Polynomials ───────── v4.1.1 Installed StaticArrays ──────── v1.9.18 Installed OrderedCollections ── v1.8.1 Installing 1 artifacts Installed artifact OpenSpecFun 194.9 KiB Updating `~/.julia/environments/v1.14/Project.toml` [3f92b583] + LFAToolkit v0.7.0 Updating `~/.julia/environments/v1.14/Manifest.toml` [187b0558] + ConstructionBase v1.6.0 [ffbed154] + DocStringExtensions v0.9.5 [442a2c76] + FastGaussQuadrature v1.2.0 [92d709cd] + IrrationalConstants v0.2.6 [692b3bcd] + JLLWrappers v1.8.0 [3f92b583] + LFAToolkit v0.7.0 [2ab3a3ac] + LogExpFunctions v0.3.29 [1914dd2f] + MacroTools v0.5.16 [bac558e1] + OrderedCollections v1.8.1 [f27b6e38] + Polynomials v4.1.1 [aea7be01] + PrecompileTools v1.3.4 [21216c6a] + Preferences v1.5.2 [efcf1570] + Setfield v1.1.2 [276daf66] + SpecialFunctions v2.7.2 [90137ffa] + StaticArrays v1.9.18 [1e83bf80] + StaticArraysCore v1.4.4 [efe28fd5] + OpenSpecFun_jll v0.5.6+0 [56f22d72] + Artifacts v1.11.0 [ade2ca70] + Dates v1.11.0 [9fa8497b] + Future v1.11.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.13.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.13.0 [9e88b42a] + Serialization v1.11.0 [2f01184e] + SparseArrays v1.13.0 [fa267f1f] + TOML v1.0.3 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.5.1+0 [4536629a] + OpenBLAS_jll v0.3.33+0 [05823500] + OpenLibm_jll v0.8.7+0 [bea87d4a] + SuiteSparse_jll v7.10.1+0 [8e850b90] + libblastrampoline_jll v5.15.0+0 Installation completed after 8.39s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling project... 4.6 s ✓ TestEnv 1 dependency successfully precompiled in 5 seconds. 27 already precompiled. Precompiling package dependencies... Precompiling project... 4.4 s ✓ MacroTools 1.1 s ✓ ANSIColoredPrinters 1.3 s ✓ ConstructionBase 2.2 s ✓ IrrationalConstants 1.1 s ✓ StaticArraysCore 1.0 s ✓ LazilyInitializedFields 1.8 s ✓ OrderedCollections 1.4 s ✓ DocStringExtensions 1.2 s ✓ AbstractTrees 1.4 s ✓ TranscodingStreams 0.9 s ✓ IOCapture 1.9 s ✓ StructUtils 1.6 s ✓ Preferences 1.0 s ✓ ConstructionBase → ConstructionBaseLinearAlgebraExt 5.4 s ✓ RegistryInstances 1.4 s ✓ LogExpFunctions 1.9 s ✓ MarkdownAST 1.1 s ✓ CodecZlib 1.3 s ✓ StructUtils → StructUtilsStaticArraysCoreExt 2.3 s ✓ JLLWrappers 1.9 s ✓ PrecompileTools 3.1 s ✓ Setfield 2.4 s ✓ Libiconv_jll 2.4 s ✓ Git_LFS_jll 2.6 s ✓ OpenSSH_jll 2.5 s ✓ OpenSpecFun_jll 2.3 s ✓ Expat_jll 14.7 s ✓ StaticArrays 17.7 s ✓ Parsers 31.9 s ✓ Polynomials 4.4 s ✓ SpecialFunctions 1.7 s ✓ Git_jll 1.3 s ✓ ConstructionBase → ConstructionBaseStaticArraysExt 6.4 s ✓ JSON 5.4 s ✓ FastGaussQuadrature 1.4 s ✓ Git 6.2 s ✓ LFAToolkit 50.3 s ✓ Documenter 38 dependencies successfully precompiled in 194 seconds. 36 already precompiled. Precompilation completed after 233.38s ################################################################################ # Testing # Testing LFAToolkit Status `/tmp/jl_hanvki/Project.toml` [e30172f5] Documenter v1.17.0 [442a2c76] FastGaussQuadrature v1.2.0 [3f92b583] LFAToolkit v0.7.0 [f27b6e38] Polynomials v4.1.1 [37e2e46d] LinearAlgebra v1.13.0 [de0858da] Printf v1.11.0 [2f01184e] SparseArrays v1.13.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_hanvki/Manifest.toml` [a4c015fc] ANSIColoredPrinters v0.0.1 [1520ce14] AbstractTrees v0.4.5 [944b1d66] CodecZlib v0.7.8 [187b0558] ConstructionBase v1.6.0 [ffbed154] DocStringExtensions v0.9.5 [e30172f5] Documenter v1.17.0 [442a2c76] FastGaussQuadrature v1.2.0 [d7ba0133] Git v1.5.0 [b5f81e59] IOCapture v1.0.0 [92d709cd] IrrationalConstants v0.2.6 [692b3bcd] JLLWrappers v1.8.0 [682c06a0] JSON v1.6.0 [3f92b583] LFAToolkit v0.7.0 [0e77f7df] LazilyInitializedFields v1.3.0 [2ab3a3ac] LogExpFunctions v0.3.29 [1914dd2f] MacroTools v0.5.16 [d0879d2d] MarkdownAST v0.1.3 [bac558e1] OrderedCollections v1.8.1 [69de0a69] Parsers v2.8.4 [f27b6e38] Polynomials v4.1.1 [aea7be01] PrecompileTools v1.3.4 [21216c6a] Preferences v1.5.2 [2792f1a3] RegistryInstances v0.1.0 [efcf1570] Setfield v1.1.2 [276daf66] SpecialFunctions v2.7.2 [90137ffa] StaticArrays v1.9.18 [1e83bf80] StaticArraysCore v1.4.4 [ec057cc2] StructUtils v2.8.2 [3bb67fe8] TranscodingStreams v0.11.3 [2e619515] Expat_jll v2.8.0+0 [020c3dae] Git_LFS_jll v3.7.1+0 [f8c6e375] Git_jll v2.54.0+0 [94ce4f54] Libiconv_jll v1.18.0+0 [9bd350c2] OpenSSH_jll v10.3.1+0 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [0dad84c5] ArgTools v1.1.2 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [f43a241f] Downloads v1.7.0 [7b1f6079] FileWatching v1.11.0 [9fa8497b] Future v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [b27032c2] LibCURL v1.0.0 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.13.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.14.0 [de0858da] Printf v1.11.0 [3fa0cd96] REPL v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.13.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [2f01184e] SparseArrays v1.13.0 [f489334b] StyledStrings v1.13.0 [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.5.1+0 [deac9b47] LibCURL_jll v8.20.0+1 [e37daf67] LibGit2_jll v1.9.3+0 [29816b5a] LibSSH2_jll v1.11.101+0 [14a3606d] MozillaCACerts_jll v2026.3.19 [4536629a] OpenBLAS_jll v0.3.33+0 [05823500] OpenLibm_jll v0.8.7+0 [458c3c95] OpenSSL_jll v3.5.6+0 [efcefdf7] PCRE2_jll v10.47.0+0 [bea87d4a] SuiteSparse_jll v7.10.1+0 [83775a58] Zlib_jll v1.3.2+0 [3161d3a3] Zstd_jll v1.5.7+1 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.69.0+0 [3f19e933] p7zip_jll v17.8.0+0 Testing Running tests... ┌ Warning: Unable to determine HTML(edit_link = ...) from remote HEAD branch, defaulting to "master". │ Calling `git remote` failed with an exception. Set JULIA_DEBUG=Documenter to see the error. │ Unless this is due to a configuration error, the relevant variable should be set explicitly. └ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl:719 [ Info: SetupBuildDirectory: setting up build directory. [ Info: Doctest: running doctests. ┌ Error: doctest failure in ../src/Utilities.jl:43-76 │ │ ```jldoctest │ numbersteps1d = 5; │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ │ # compute symbols │ (_, eigenvalues, _) = computesymbolsoverrange(diffusion, numbersteps1d) │ │ # verify │ eigenvalues = real(eigenvalues) │ if dimension == 1 │ @assert minimum(eigenvalues[4, :]) ≈ 1 │ @assert maximum(eigenvalues[4, :]) ≈ 4 / 3 │ elseif dimension == 2 │ @assert minimum(eigenvalues[19, :]) ≈ 2 / 3 │ @assert maximum(eigenvalues[19, :]) ≈ 64 / 45 │ elseif dimension == 3 │ @assert minimum(eigenvalues[94, :]) ≈ 1 / 3 │ @assert maximum(eigenvalues[94, :]) ≈ 256 / 225 │ end │ end │ │ # output │ │ ``` │ │ Subexpression: │ │ numbersteps1d = 5; │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ │ # compute symbols │ (_, eigenvalues, _) = computesymbolsoverrange(diffusion, numbersteps1d) │ │ # verify │ eigenvalues = real(eigenvalues) │ if dimension == 1 │ @assert minimum(eigenvalues[4, :]) ≈ 1 │ @assert maximum(eigenvalues[4, :]) ≈ 4 / 3 │ elseif dimension == 2 │ @assert minimum(eigenvalues[19, :]) ≈ 2 / 3 │ @assert maximum(eigenvalues[19, :]) ≈ 64 / 45 │ elseif dimension == 3 │ @assert minimum(eigenvalues[94, :]) ≈ 1 / 3 │ @assert maximum(eigenvalues[94, :]) ≈ 256 / 225 │ end │ end │ │ Evaluated output: │ │ ERROR: eigen(A) not supported for sparse matrices. Use for example eigs(A) from the Arpack package instead. │ Stacktrace: │ [1] error(s::String) │ @ Base ./error.jl:56 │ [2] eigen(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ SparseArrays /opt/julia/share/julia/stdlib/v1.14/SparseArrays/src/linalg.jl:2419 │ [3] computesymbolsoverrange(operator::Operator, numbersteps1d::Int64; mass::Nothing, θ_min::Float64, θ_band::Float64) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:134 │ [4] computesymbolsoverrange │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:100 [inlined] │ [5] top-level scope │ @ ./none:15 │ │ Expected output: │ │ │ │ diff = │ Warning: Diff output requires color. │ ERROR: eigen(A) not supported for sparse matrices. Use for example eigs(A) from the Arpack package instead. │ Stacktrace: │ [1] error(s::String) │ @ Base ./error.jl:56 │ [2] eigen(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ SparseArrays /opt/julia/share/julia/stdlib/v1.14/SparseArrays/src/linalg.jl:2419 │ [3] computesymbolsoverrange(operator::Operator, numbersteps1d::Int64; mass::Nothing, θ_min::Float64, θ_band::Float64) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:134 │ [4] computesymbolsoverrange │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:100 [inlined] │ [5] top-level scope │ @ ./none:15 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:43 ┌ Error: doctest failure in ../src/Utilities.jl:79-97 │ │ ```jldoctest │ # setup │ numbersteps1d = 3; │ mesh = Mesh2D(0.5, 0.5); │ p = 6; │ │ # operators │ mass = GalleryOperator("mass", p + 1, p + 1, mesh); │ diffusion = GalleryOperator("diffusion", p + 1, p + 1, mesh); │ │ # compute symbols │ (_, eigenvalues, _) = │ computesymbolsoverrange(diffusion, numbersteps1d; mass = mass, θ_min = -π); │ eigenvalues = real(eigenvalues); │ │ @assert minimum(eigenvalues[2, :]) ≈ π^2 │ │ # output │ │ ``` │ │ Subexpression: │ │ # setup │ numbersteps1d = 3; │ mesh = Mesh2D(0.5, 0.5); │ p = 6; │ │ # operators │ mass = GalleryOperator("mass", p + 1, p + 1, mesh); │ diffusion = GalleryOperator("diffusion", p + 1, p + 1, mesh); │ │ # compute symbols │ (_, eigenvalues, _) = │ computesymbolsoverrange(diffusion, numbersteps1d; mass = mass, θ_min = -π); │ eigenvalues = real(eigenvalues); │ │ @assert minimum(eigenvalues[2, :]) ≈ π^2 │ │ Evaluated output: │ │ ERROR: MethodError: no method matching ldiv!(::SparseArrays.UMFPACK.UmfpackLU{ComplexF64, Int64}, ::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `ldiv!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ ldiv!(!Matched::LinearAlgebra.UniformScaling, ::AbstractVecOrMat) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/uniformscaling.jl:325 │ ldiv!(!Matched::LinearAlgebra.SymTridiagonal, ::AbstractVecOrMat; shift) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/tridiag.jl:279 │ ldiv!(!Matched::Number, ::AbstractArray) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/generic.jl:390 │ ... │ │ Stacktrace: │ [1] \(F::SparseArrays.UMFPACK.UmfpackLU{ComplexF64, Int64}, B::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/factorization.jl:139 │ [2] \(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}, B::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ SparseArrays /opt/julia/share/julia/stdlib/v1.14/SparseArrays/src/linalg.jl:2347 │ [3] computesymbolsoverrange(operator::Operator, numbersteps1d::Int64; mass::Operator, θ_min::Float64, θ_band::Float64) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:132 │ [4] top-level scope │ @ none:1 │ │ Expected output: │ │ │ │ diff = │ Warning: Diff output requires color. │ ERROR: MethodError: no method matching ldiv!(::SparseArrays.UMFPACK.UmfpackLU{ComplexF64, Int64}, ::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `ldiv!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ ldiv!(!Matched::LinearAlgebra.UniformScaling, ::AbstractVecOrMat) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/uniformscaling.jl:325 │ ldiv!(!Matched::LinearAlgebra.SymTridiagonal, ::AbstractVecOrMat; shift) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/tridiag.jl:279 │ ldiv!(!Matched::Number, ::AbstractArray) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/generic.jl:390 │ ... │ │ Stacktrace: │ [1] \(F::SparseArrays.UMFPACK.UmfpackLU{ComplexF64, Int64}, B::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/factorization.jl:139 │ [2] \(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}, B::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ SparseArrays /opt/julia/share/julia/stdlib/v1.14/SparseArrays/src/linalg.jl:2347 │ [3] computesymbolsoverrange(operator::Operator, numbersteps1d::Int64; mass::Operator, θ_min::Float64, θ_band::Float64) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:132 │ [4] top-level scope │ @ none:1 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:79 ┌ Error: doctest failure in ../src/Utilities.jl:180-216 │ │ ```jldoctest │ numbersteps1d = 5; │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ │ # preconditioner │ chebyshev = Chebyshev(diffusion) │ │ # compute symbols │ (_, eigenvalues, _) = computesymbolsoverrange(chebyshev, [1], numbersteps1d) │ │ # verify │ eigenvalues = real(eigenvalues) │ if dimension == 1 │ @assert minimum(eigenvalues[4, :]) ≈ 0.15151515151515105 │ @assert maximum(eigenvalues[4, :]) ≈ 0.27272727272727226 │ elseif dimension == 2 │ @assert minimum(eigenvalues[19, :]) ≈ -0.25495098334134725 │ @assert maximum(eigenvalues[19, :]) ≈ -0.17128758445192374 │ elseif dimension == 3 │ @assert minimum(eigenvalues[94, :]) ≈ -0.8181818181818181 │ @assert maximum(eigenvalues[94, :]) ≈ -0.357575757575757 │ end │ end │ │ # output │ │ ``` │ │ Subexpression: │ │ numbersteps1d = 5; │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ │ # preconditioner │ chebyshev = Chebyshev(diffusion) │ │ # compute symbols │ (_, eigenvalues, _) = computesymbolsoverrange(chebyshev, [1], numbersteps1d) │ │ # verify │ eigenvalues = real(eigenvalues) │ if dimension == 1 │ @assert minimum(eigenvalues[4, :]) ≈ 0.15151515151515105 │ @assert maximum(eigenvalues[4, :]) ≈ 0.27272727272727226 │ elseif dimension == 2 │ @assert minimum(eigenvalues[19, :]) ≈ -0.25495098334134725 │ @assert maximum(eigenvalues[19, :]) ≈ -0.17128758445192374 │ elseif dimension == 3 │ @assert minimum(eigenvalues[94, :]) ≈ -0.8181818181818181 │ @assert maximum(eigenvalues[94, :]) ≈ -0.357575757575757 │ end │ end │ │ Evaluated output: │ │ ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::LinearAlgebra.Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] geteigenvalueestimates(chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:185 │ [4] getproperty │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:483 [inlined] │ [5] computesymbols(chebyshev::Chebyshev, ω::Vector{Int64}, θ::Array{Float64, 0}) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:581 │ [6] computesymbolsoverrange(preconditioner::Chebyshev, ω::Vector{Int64}, numbersteps1d::Int64; mass::Nothing, θ_min::Float64, θ_band::Float64) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:250 │ [7] computesymbolsoverrange │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:219 [inlined] │ [8] top-level scope │ @ ./none:18 │ │ Expected output: │ │ │ │ diff = │ Warning: Diff output requires color. │ ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::LinearAlgebra.Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] geteigenvalueestimates(chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:185 │ [4] getproperty │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:483 [inlined] │ [5] computesymbols(chebyshev::Chebyshev, ω::Vector{Int64}, θ::Array{Float64, 0}) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:581 │ [6] computesymbolsoverrange(preconditioner::Chebyshev, ω::Vector{Int64}, numbersteps1d::Int64; mass::Nothing, θ_min::Float64, θ_band::Float64) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:250 │ [7] computesymbolsoverrange │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:219 [inlined] │ [8] top-level scope │ @ ./none:18 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:180 ┌ Error: doctest failure in ../src/Utilities.jl:302-342 │ │ ```jldoctest │ numbersteps1d = 5; │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ ctofbasis = TensorH1LagrangeBasis(3, 5, 1, dimension; collocatedquadrature = true) │ │ # operators │ finediffusion = GalleryOperator("diffusion", 5, 5, mesh) │ coarsediffusion = GalleryOperator("diffusion", 3, 5, mesh) │ │ # smoother │ jacobi = Jacobi(finediffusion) │ │ # preconditioner │ multigrid = PMultigrid(finediffusion, coarsediffusion, jacobi, [ctofbasis]) │ │ # compute symbols │ (_, eigenvalues, _) = computesymbolsoverrange(multigrid, [1.0], [1, 1], numbersteps1d) │ │ # verify │ eigenvalues = real(eigenvalues) │ if dimension == 1 │ @assert maximum(eigenvalues[4, :]) ≈ 0.64 │ elseif dimension == 2 │ @assert maximum(eigenvalues[19, :]) ≈ 0.9082562365654528 │ elseif dimension == 3 │ @assert maximum(eigenvalues[94, :]) ≈ 1.4359882222222669 │ end │ end │ │ # output │ │ ``` │ │ Subexpression: │ │ numbersteps1d = 5; │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ ctofbasis = TensorH1LagrangeBasis(3, 5, 1, dimension; collocatedquadrature = true) │ │ # operators │ finediffusion = GalleryOperator("diffusion", 5, 5, mesh) │ coarsediffusion = GalleryOperator("diffusion", 3, 5, mesh) │ │ # smoother │ jacobi = Jacobi(finediffusion) │ │ # preconditioner │ multigrid = PMultigrid(finediffusion, coarsediffusion, jacobi, [ctofbasis]) │ │ # compute symbols │ (_, eigenvalues, _) = computesymbolsoverrange(multigrid, [1.0], [1, 1], numbersteps1d) │ │ # verify │ eigenvalues = real(eigenvalues) │ if dimension == 1 │ @assert maximum(eigenvalues[4, :]) ≈ 0.64 │ elseif dimension == 2 │ @assert maximum(eigenvalues[19, :]) ≈ 0.9082562365654528 │ elseif dimension == 3 │ @assert maximum(eigenvalues[94, :]) ≈ 1.4359882222222669 │ end │ end │ │ Evaluated output: │ │ ERROR: The inverse of a sparse matrix can often be dense and can cause the computer to run out of memory. If you are sure you have enough memory, please either convert your matrix to a dense matrix, e.g. by calling `Matrix` or if `A` can be factorized, use `\` on the dense identity matrix, e.g. `A \ Matrix{eltype(A)}(I, size(A)...)` restrictions of `\` on sparse lhs applies. Alternatively, `A\b` is generally preferable to `inv(A)*b` │ Stacktrace: │ [1] error(s::String) │ @ Base ./error.jl:56 │ [2] inv(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ SparseArrays /opt/julia/share/julia/stdlib/v1.14/SparseArrays/src/linalg.jl:2038 │ [3] literal_pow(::typeof(^), A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}, ::Val{-1}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/generic.jl:1193 │ [4] computesymbols(multigrid::Multigrid, p::Vector{Float64}, v::Vector{Int64}, θ::Array{Float64, 0}) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Multigrid/Base.jl:360 │ [5] computesymbolsoverrange(multigrid::Multigrid, p::Vector{Float64}, v::Vector{Int64}, numbersteps1d::Int64; mass::Nothing, θ_min::Float64, θ_band::Float64) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:377 │ [6] computesymbolsoverrange │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:345 [inlined] │ [7] top-level scope │ @ ./none:25 │ │ Expected output: │ │ │ │ diff = │ Warning: Diff output requires color. │ ERROR: The inverse of a sparse matrix can often be dense and can cause the computer to run out of memory. If you are sure you have enough memory, please either convert your matrix to a dense matrix, e.g. by calling `Matrix` or if `A` can be factorized, use `\` on the dense identity matrix, e.g. `A \ Matrix{eltype(A)}(I, size(A)...)` restrictions of `\` on sparse lhs applies. Alternatively, `A\b` is generally preferable to `inv(A)*b` │ Stacktrace: │ [1] error(s::String) │ @ Base ./error.jl:56 │ [2] inv(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ SparseArrays /opt/julia/share/julia/stdlib/v1.14/SparseArrays/src/linalg.jl:2038 │ [3] literal_pow(::typeof(^), A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}, ::Val{-1}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/generic.jl:1193 │ [4] computesymbols(multigrid::Multigrid, p::Vector{Float64}, v::Vector{Int64}, θ::Array{Float64, 0}) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Multigrid/Base.jl:360 │ [5] computesymbolsoverrange(multigrid::Multigrid, p::Vector{Float64}, v::Vector{Int64}, numbersteps1d::Int64; mass::Nothing, θ_min::Float64, θ_band::Float64) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:377 │ [6] computesymbolsoverrange │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:345 [inlined] │ [7] top-level scope │ @ ./none:25 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/Utilities.jl:302 ┌ Error: doctest failure in ../src/PC/Chebyshev.jl:24-49 │ │ ```jldoctest │ # setup │ mesh = Mesh2D(1.0, 1.0); │ mass = GalleryOperator("mass", 4, 4, mesh); │ │ # preconditioner │ chebyshev = Chebyshev(mass); │ │ # verify │ println(chebyshev) │ │ # output │ │ chebyshev preconditioner: │ 1st-kind Chebyshev │ eigenvalue estimates: │ estimated minimum 0.2500 │ estimated maximum 1.3611 │ estimate scaling: │ λ_min = a * estimated min + b * estimated max │ λ_max = c * estimated min + d * estimated max │ a = 0.0000 │ b = 0.1000 │ c = 0.0000 │ d = 1.0000 │ ``` │ │ Subexpression: │ │ # setup │ mesh = Mesh2D(1.0, 1.0); │ mass = GalleryOperator("mass", 4, 4, mesh); │ │ # preconditioner │ chebyshev = Chebyshev(mass); │ │ # verify │ println(chebyshev) │ │ Evaluated output: │ │ chebyshev preconditioner: │ 1st-kind Chebyshev │ eigenvalue estimates:ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::LinearAlgebra.Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] geteigenvalueestimates(chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:192 │ [4] getproperty │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:483 [inlined] │ [5] show(io::IOContext{Base.PipeEndpoint}, chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:84 │ [6] print(io::IOContext{Base.PipeEndpoint}, x::Chebyshev) │ @ Base ./strings/io.jl:35 │ [7] print(::IOContext{Base.PipeEndpoint}, ::Chebyshev, ::String) │ @ Base ./strings/io.jl:46 │ [8] println(x::Chebyshev) │ @ Base ./coreio.jl:5 │ [9] top-level scope │ @ none:1 │ │ Expected output: │ │ chebyshev preconditioner: │ 1st-kind Chebyshev │ eigenvalue estimates: │ estimated minimum 0.2500 │ estimated maximum 1.3611 │ estimate scaling: │ λ_min = a * estimated min + b * estimated max │ λ_max = c * estimated min + d * estimated max │ a = 0.0000 │ b = 0.1000 │ c = 0.0000 │ d = 1.0000 │ │ diff = │ Warning: Diff output requires color. │ chebyshev preconditioner: │ 1st-kind Chebyshev │ eigenvalue estimates: │ estimated minimum 0.2500 │ estimated maximum 1.3611 │ estimate scaling: │ λ_min = a * estimated min + b * estimated max │ λ_max = c * estimated min + d * estimated max │ a = 0.0000 │ b = 0.1000 │ c = 0.0000 │ d = 1.0000estimates:ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::LinearAlgebra.Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] geteigenvalueestimates(chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:192 │ [4] getproperty │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:483 [inlined] │ [5] show(io::IOContext{Base.PipeEndpoint}, chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:84 │ [6] print(io::IOContext{Base.PipeEndpoint}, x::Chebyshev) │ @ Base ./strings/io.jl:35 │ [7] print(::IOContext{Base.PipeEndpoint}, ::Chebyshev, ::String) │ @ Base ./strings/io.jl:46 │ [8] println(x::Chebyshev) │ @ Base ./coreio.jl:5 │ [9] top-level scope │ @ none:1 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:24 ┌ Error: doctest failure in ../src/Operator/Base.jl:894-927 │ │ ```jldoctest │ using LinearAlgebra; │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ │ # compute symbols │ A = computesymbols(diffusion, π * ones(dimension)) │ │ # verify │ eigenvalues = real(eigvals(A)) │ if dimension == 1 │ @assert minimum(eigenvalues) ≈ 1 │ @assert maximum(eigenvalues) ≈ 4 / 3 │ elseif dimension == 2 │ @assert minimum(eigenvalues) ≈ 2 / 3 │ @assert maximum(eigenvalues) ≈ 64 / 45 │ elseif dimension == 3 │ @assert minimum(eigenvalues) ≈ 1 / 3 │ @assert maximum(eigenvalues) ≈ 256 / 225 │ end │ end │ │ # output │ │ ``` │ │ Subexpression: │ │ using LinearAlgebra; │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ │ # compute symbols │ A = computesymbols(diffusion, π * ones(dimension)) │ │ # verify │ eigenvalues = real(eigvals(A)) │ if dimension == 1 │ @assert minimum(eigenvalues) ≈ 1 │ @assert maximum(eigenvalues) ≈ 4 / 3 │ elseif dimension == 2 │ @assert minimum(eigenvalues) ≈ 2 / 3 │ @assert maximum(eigenvalues) ≈ 64 / 45 │ elseif dimension == 3 │ @assert minimum(eigenvalues) ≈ 1 / 3 │ @assert maximum(eigenvalues) ≈ 256 / 225 │ end │ end │ │ Evaluated output: │ │ ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] top-level scope │ @ ./none:18 │ │ Expected output: │ │ │ │ diff = │ Warning: Diff output requires color. │ ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] top-level scope │ @ ./none:18 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/Operator/Base.jl:894 ┌ Error: doctest failure in ../src/PC/Jacobi.jl:176-209 │ │ ```jldoctest │ using LinearAlgebra │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ │ # preconditioner │ jacobi = Jacobi(diffusion) │ │ # compute symbols │ A = computesymbols(jacobi, [1.0], π * ones(dimension)) │ │ # verify │ eigenvalues = real(eigvals(A)) │ if dimension == 1 │ @assert maximum(eigenvalues) ≈ 1 / 7 │ elseif dimension == 2 │ @assert minimum(eigenvalues) ≈ -1 / 14 │ elseif dimension == 3 │ @assert minimum(eigenvalues) ≈ -0.33928571428571486 │ end │ end │ │ # output │ │ ``` │ │ Subexpression: │ │ using LinearAlgebra │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ │ # preconditioner │ jacobi = Jacobi(diffusion) │ │ # compute symbols │ A = computesymbols(jacobi, [1.0], π * ones(dimension)) │ │ # verify │ eigenvalues = real(eigvals(A)) │ if dimension == 1 │ @assert maximum(eigenvalues) ≈ 1 / 7 │ elseif dimension == 2 │ @assert minimum(eigenvalues) ≈ -1 / 14 │ elseif dimension == 3 │ @assert minimum(eigenvalues) ≈ -0.33928571428571486 │ end │ end │ │ Evaluated output: │ │ ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] top-level scope │ @ ./none:21 │ │ Expected output: │ │ │ │ diff = │ Warning: Diff output requires color. │ ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] top-level scope │ @ ./none:21 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Jacobi.jl:176 ┌ Error: doctest failure in ../src/PC/Chebyshev.jl:524-560 │ │ ```jldoctest │ using LinearAlgebra │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ │ # preconditioner │ chebyshev = Chebyshev(diffusion) │ │ # compute symbols │ A = computesymbols(chebyshev, [1], π * ones(dimension)) │ │ # verify │ eigenvalues = real(eigvals(A)) │ if dimension == 1 │ @assert minimum(eigenvalues) ≈ 0.15151515151515105 │ @assert maximum(eigenvalues) ≈ 0.27272727272727226 │ elseif dimension == 2 │ @assert minimum(eigenvalues) ≈ -0.25495098334134725 │ @assert maximum(eigenvalues) ≈ -0.17128758445192374 │ elseif dimension == 3 │ @assert minimum(eigenvalues) ≈ -0.8181818181818181 │ @assert maximum(eigenvalues) ≈ -0.357575757575757 │ end │ end │ │ # output │ │ ``` │ │ Subexpression: │ │ using LinearAlgebra │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ │ # preconditioner │ chebyshev = Chebyshev(diffusion) │ │ # compute symbols │ A = computesymbols(chebyshev, [1], π * ones(dimension)) │ │ # verify │ eigenvalues = real(eigvals(A)) │ if dimension == 1 │ @assert minimum(eigenvalues) ≈ 0.15151515151515105 │ @assert maximum(eigenvalues) ≈ 0.27272727272727226 │ elseif dimension == 2 │ @assert minimum(eigenvalues) ≈ -0.25495098334134725 │ @assert maximum(eigenvalues) ≈ -0.17128758445192374 │ elseif dimension == 3 │ @assert minimum(eigenvalues) ≈ -0.8181818181818181 │ @assert maximum(eigenvalues) ≈ -0.357575757575757 │ end │ end │ │ Evaluated output: │ │ ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] geteigenvalueestimates(chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:185 │ [4] getproperty │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:483 [inlined] │ [5] computesymbols(chebyshev::Chebyshev, ω::Vector{Int64}, θ::Vector{Float64}) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:581 │ [6] top-level scope │ @ ./none:18 │ │ Expected output: │ │ │ │ diff = │ Warning: Diff output requires color. │ ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] geteigenvalueestimates(chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:185 │ [4] getproperty │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:483 [inlined] │ [5] computesymbols(chebyshev::Chebyshev, ω::Vector{Int64}, θ::Vector{Float64}) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:581 │ [6] top-level scope │ @ ./none:18 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:524 ┌ Error: doctest failure in ../src/PC/Multigrid/Base.jl:297-337 │ │ ```jldoctest │ using LinearAlgebra │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ ctofbasis = TensorH1LagrangeBasis(3, 5, 1, dimension; collocatedquadrature = true) │ │ # operators │ finediffusion = GalleryOperator("diffusion", 5, 5, mesh) │ coarsediffusion = GalleryOperator("diffusion", 3, 5, mesh) │ │ # smoother │ jacobi = Jacobi(finediffusion) │ │ # preconditioner │ multigrid = PMultigrid(finediffusion, coarsediffusion, jacobi, [ctofbasis]) │ │ # compute symbols │ A = computesymbols(multigrid, [1.0], [1, 1], π * ones(dimension)) │ │ # verify │ eigenvalues = real(eigvals(A)) │ if dimension == 1 │ @assert maximum(eigenvalues) ≈ 0.64 │ elseif dimension == 2 │ @assert maximum(eigenvalues) ≈ 0.9082562365654528 │ elseif dimension == 3 │ @assert maximum(eigenvalues) ≈ 1.4359882222222669 │ end │ end │ │ # output │ │ ``` │ │ Subexpression: │ │ using LinearAlgebra │ │ for dimension = 1:3 │ # setup │ mesh = [] │ if dimension == 1 │ mesh = Mesh1D(1.0) │ elseif dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ ctofbasis = TensorH1LagrangeBasis(3, 5, 1, dimension; collocatedquadrature = true) │ │ # operators │ finediffusion = GalleryOperator("diffusion", 5, 5, mesh) │ coarsediffusion = GalleryOperator("diffusion", 3, 5, mesh) │ │ # smoother │ jacobi = Jacobi(finediffusion) │ │ # preconditioner │ multigrid = PMultigrid(finediffusion, coarsediffusion, jacobi, [ctofbasis]) │ │ # compute symbols │ A = computesymbols(multigrid, [1.0], [1, 1], π * ones(dimension)) │ │ # verify │ eigenvalues = real(eigvals(A)) │ if dimension == 1 │ @assert maximum(eigenvalues) ≈ 0.64 │ elseif dimension == 2 │ @assert maximum(eigenvalues) ≈ 0.9082562365654528 │ elseif dimension == 3 │ @assert maximum(eigenvalues) ≈ 1.4359882222222669 │ end │ end │ │ Evaluated output: │ │ ERROR: The inverse of a sparse matrix can often be dense and can cause the computer to run out of memory. If you are sure you have enough memory, please either convert your matrix to a dense matrix, e.g. by calling `Matrix` or if `A` can be factorized, use `\` on the dense identity matrix, e.g. `A \ Matrix{eltype(A)}(I, size(A)...)` restrictions of `\` on sparse lhs applies. Alternatively, `A\b` is generally preferable to `inv(A)*b` │ Stacktrace: │ [1] error(s::String) │ @ Base ./error.jl:56 │ [2] inv(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ SparseArrays /opt/julia/share/julia/stdlib/v1.14/SparseArrays/src/linalg.jl:2038 │ [3] literal_pow(::typeof(^), A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}, ::Val{-1}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/generic.jl:1193 │ [4] computesymbols(multigrid::Multigrid, p::Vector{Float64}, v::Vector{Int64}, θ::Vector{Float64}) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Multigrid/Base.jl:360 │ [5] top-level scope │ @ ./none:25 │ │ Expected output: │ │ │ │ diff = │ Warning: Diff output requires color. │ ERROR: The inverse of a sparse matrix can often be dense and can cause the computer to run out of memory. If you are sure you have enough memory, please either convert your matrix to a dense matrix, e.g. by calling `Matrix` or if `A` can be factorized, use `\` on the dense identity matrix, e.g. `A \ Matrix{eltype(A)}(I, size(A)...)` restrictions of `\` on sparse lhs applies. Alternatively, `A\b` is generally preferable to `inv(A)*b` │ Stacktrace: │ [1] error(s::String) │ @ Base ./error.jl:56 │ [2] inv(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ SparseArrays /opt/julia/share/julia/stdlib/v1.14/SparseArrays/src/linalg.jl:2038 │ [3] literal_pow(::typeof(^), A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}, ::Val{-1}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/generic.jl:1193 │ [4] computesymbols(multigrid::Multigrid, p::Vector{Float64}, v::Vector{Int64}, θ::Vector{Float64}) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Multigrid/Base.jl:360 │ [5] top-level scope │ @ ./none:25 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Multigrid/Base.jl:297 ┌ Error: doctest failure in ../src/PC/BDDC/Base.jl:1087-1116 │ │ ```jldoctest │ using LinearAlgebra; │ │ for dimension = 2:3 │ # setup │ mesh = [] │ if dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ bddc = LumpedBDDC(diffusion) │ │ # compute symbols │ A = computesymbols(bddc, [0.2], π * ones(dimension)) │ │ # verify │ eigenvalues = real(eigvals(A)) │ if dimension == 2 │ @assert minimum(eigenvalues) ≈ 0.43999999999999995 │ @assert maximum(eigenvalues) ≈ 0.8 │ elseif dimension == 3 │ @assert minimum(eigenvalues) ≈ -0.6319999999999972 │ @assert maximum(eigenvalues) ≈ 0.8 │ end │ end │ │ # output │ │ ``` │ │ Subexpression: │ │ using LinearAlgebra; │ │ for dimension = 2:3 │ # setup │ mesh = [] │ if dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ bddc = LumpedBDDC(diffusion) │ │ # compute symbols │ A = computesymbols(bddc, [0.2], π * ones(dimension)) │ │ # verify │ eigenvalues = real(eigvals(A)) │ if dimension == 2 │ @assert minimum(eigenvalues) ≈ 0.43999999999999995 │ @assert maximum(eigenvalues) ≈ 0.8 │ elseif dimension == 3 │ @assert minimum(eigenvalues) ≈ -0.6319999999999972 │ @assert maximum(eigenvalues) ≈ 0.8 │ end │ end │ │ Evaluated output: │ │ ERROR: The inverse of a sparse matrix can often be dense and can cause the computer to run out of memory. If you are sure you have enough memory, please either convert your matrix to a dense matrix, e.g. by calling `Matrix` or if `A` can be factorized, use `\` on the dense identity matrix, e.g. `A \ Matrix{eltype(A)}(I, size(A)...)` restrictions of `\` on sparse lhs applies. Alternatively, `A\b` is generally preferable to `inv(A)*b` │ Stacktrace: │ [1] error(s::String) │ @ Base ./error.jl:56 │ [2] inv(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ SparseArrays /opt/julia/share/julia/stdlib/v1.14/SparseArrays/src/linalg.jl:2038 │ [3] literal_pow(::typeof(^), A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}, ::Val{-1}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/generic.jl:1193 │ [4] computesymbols(bddc::BDDC, ω::Vector{Float64}, θ::Vector{Float64}) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/BDDC/Base.jl:1214 │ [5] top-level scope │ @ ./none:14 │ │ Expected output: │ │ │ │ diff = │ Warning: Diff output requires color. │ ERROR: The inverse of a sparse matrix can often be dense and can cause the computer to run out of memory. If you are sure you have enough memory, please either convert your matrix to a dense matrix, e.g. by calling `Matrix` or if `A` can be factorized, use `\` on the dense identity matrix, e.g. `A \ Matrix{eltype(A)}(I, size(A)...)` restrictions of `\` on sparse lhs applies. Alternatively, `A\b` is generally preferable to `inv(A)*b` │ Stacktrace: │ [1] error(s::String) │ @ Base ./error.jl:56 │ [2] inv(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ SparseArrays /opt/julia/share/julia/stdlib/v1.14/SparseArrays/src/linalg.jl:2038 │ [3] literal_pow(::typeof(^), A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}, ::Val{-1}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/generic.jl:1193 │ [4] computesymbols(bddc::BDDC, ω::Vector{Float64}, θ::Vector{Float64}) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/BDDC/Base.jl:1214 │ [5] top-level scope │ @ ./none:14 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/PC/BDDC/Base.jl:1087 ┌ Error: doctest failure in ../src/PC/BDDC/Base.jl:1121-1150 │ │ ```jldoctest │ using LinearAlgebra; │ │ for dimension = 2:3 │ # setup │ mesh = [] │ if dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ bddc = DirichletBDDC(diffusion) │ │ # compute symbols │ A = computesymbols(bddc, [0.2], π * ones(dimension)) │ │ # verify │ eigenvalues = real(eigvals(A)) │ if dimension == 2 │ @assert minimum(eigenvalues) ≈ 0.7999999999999998 │ @assert maximum(eigenvalues) ≈ 0.8 │ elseif dimension == 3 │ @assert minimum(eigenvalues) ≈ 0.7801226993865031 │ @assert maximum(eigenvalues) ≈ 0.8 │ end │ end │ │ # output │ │ ``` │ │ Subexpression: │ │ using LinearAlgebra; │ │ for dimension = 2:3 │ # setup │ mesh = [] │ if dimension == 2 │ mesh = Mesh2D(1.0, 1.0) │ elseif dimension == 3 │ mesh = Mesh3D(1.0, 1.0, 1.0) │ end │ diffusion = GalleryOperator("diffusion", 3, 3, mesh) │ bddc = DirichletBDDC(diffusion) │ │ # compute symbols │ A = computesymbols(bddc, [0.2], π * ones(dimension)) │ │ # verify │ eigenvalues = real(eigvals(A)) │ if dimension == 2 │ @assert minimum(eigenvalues) ≈ 0.7999999999999998 │ @assert maximum(eigenvalues) ≈ 0.8 │ elseif dimension == 3 │ @assert minimum(eigenvalues) ≈ 0.7801226993865031 │ @assert maximum(eigenvalues) ≈ 0.8 │ end │ end │ │ Evaluated output: │ │ ERROR: The inverse of a sparse matrix can often be dense and can cause the computer to run out of memory. If you are sure you have enough memory, please either convert your matrix to a dense matrix, e.g. by calling `Matrix` or if `A` can be factorized, use `\` on the dense identity matrix, e.g. `A \ Matrix{eltype(A)}(I, size(A)...)` restrictions of `\` on sparse lhs applies. Alternatively, `A\b` is generally preferable to `inv(A)*b` │ Stacktrace: │ [1] error(s::String) │ @ Base ./error.jl:56 │ [2] inv(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ SparseArrays /opt/julia/share/julia/stdlib/v1.14/SparseArrays/src/linalg.jl:2038 │ [3] literal_pow(::typeof(^), A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}, ::Val{-1}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/generic.jl:1193 │ [4] computesymbols(bddc::BDDC, ω::Vector{Float64}, θ::Vector{Float64}) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/BDDC/Base.jl:1214 │ [5] top-level scope │ @ ./none:14 │ │ Expected output: │ │ │ │ diff = │ Warning: Diff output requires color. │ ERROR: The inverse of a sparse matrix can often be dense and can cause the computer to run out of memory. If you are sure you have enough memory, please either convert your matrix to a dense matrix, e.g. by calling `Matrix` or if `A` can be factorized, use `\` on the dense identity matrix, e.g. `A \ Matrix{eltype(A)}(I, size(A)...)` restrictions of `\` on sparse lhs applies. Alternatively, `A\b` is generally preferable to `inv(A)*b` │ Stacktrace: │ [1] error(s::String) │ @ Base ./error.jl:56 │ [2] inv(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ SparseArrays /opt/julia/share/julia/stdlib/v1.14/SparseArrays/src/linalg.jl:2038 │ [3] literal_pow(::typeof(^), A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}, ::Val{-1}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/generic.jl:1193 │ [4] computesymbols(bddc::BDDC, ω::Vector{Float64}, θ::Vector{Float64}) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/BDDC/Base.jl:1214 │ [5] top-level scope │ @ ./none:14 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/PC/BDDC/Base.jl:1121 ┌ Error: doctest failure in ../src/PC/Chebyshev.jl:157-169 │ │ ```jldoctest │ # setup │ mesh = Mesh1D(1.0); │ diffusion = GalleryOperator("diffusion", 3, 3, mesh); │ │ # preconditioner │ chebyshev = Chebyshev(diffusion); │ │ # verify eigenvalue estimates │ @assert chebyshev.eigenvalueestimates ≈ [0, 15 / 7] │ │ # output │ │ ``` │ │ Subexpression: │ │ # setup │ mesh = Mesh1D(1.0); │ diffusion = GalleryOperator("diffusion", 3, 3, mesh); │ │ # preconditioner │ chebyshev = Chebyshev(diffusion); │ │ # verify eigenvalue estimates │ @assert chebyshev.eigenvalueestimates ≈ [0, 15 / 7] │ │ Evaluated output: │ │ ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::LinearAlgebra.Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] geteigenvalueestimates(chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:185 │ [4] getproperty(preconditioner::Chebyshev, f::Symbol) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:483 │ [5] top-level scope │ @ none:3 │ │ Expected output: │ │ │ │ diff = │ Warning: Diff output requires color. │ ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::LinearAlgebra.Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] geteigenvalueestimates(chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:185 │ [4] getproperty(preconditioner::Chebyshev, f::Symbol) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:483 │ [5] top-level scope │ @ none:3 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:157 ┌ Error: doctest failure in ../src/PC/Chebyshev.jl:231-259 │ │ ```jldoctest │ # setup │ mesh = Mesh1D(1.0); │ diffusion = GalleryOperator("diffusion", 3, 3, mesh); │ │ # preconditioner │ chebyshev = Chebyshev(diffusion) │ │ # set eigenvalue estimate scaling │ # PETSc default is to use 1.1, 0.1 of max eigenvalue estimate │ # https://www.mcs.anl.gov/petsc/petsc-3.3/docs/manualpages/KSP/KSPChebyshevSetEstimateEigenvalues.html │ chebyshev.eigenvaluescaling = [0.0, 0.1, 0.0, 1.1]; │ println(chebyshev) │ │ # output │ │ chebyshev preconditioner: │ 1st-kind Chebyshev │ eigenvalue estimates: │ estimated minimum 0.0000 │ estimated maximum 2.1429 │ estimate scaling: │ λ_min = a * estimated min + b * estimated max │ λ_max = c * estimated min + d * estimated max │ a = 0.0000 │ b = 0.1000 │ c = 0.0000 │ d = 1.1000 │ ``` │ │ Subexpression: │ │ # setup │ mesh = Mesh1D(1.0); │ diffusion = GalleryOperator("diffusion", 3, 3, mesh); │ │ # preconditioner │ chebyshev = Chebyshev(diffusion) │ │ # set eigenvalue estimate scaling │ # PETSc default is to use 1.1, 0.1 of max eigenvalue estimate │ # https://www.mcs.anl.gov/petsc/petsc-3.3/docs/manualpages/KSP/KSPChebyshevSetEstimateEigenvalues.html │ chebyshev.eigenvaluescaling = [0.0, 0.1, 0.0, 1.1]; │ println(chebyshev) │ │ Evaluated output: │ │ chebyshev preconditioner: │ 1st-kind Chebyshev │ eigenvalue estimates:ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::LinearAlgebra.Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] geteigenvalueestimates(chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:185 │ [4] getproperty │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:483 [inlined] │ [5] show(io::IOContext{Base.PipeEndpoint}, chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:84 │ [6] print(io::IOContext{Base.PipeEndpoint}, x::Chebyshev) │ @ Base ./strings/io.jl:35 │ [7] print(::IOContext{Base.PipeEndpoint}, ::Chebyshev, ::String) │ @ Base ./strings/io.jl:46 │ [8] println(x::Chebyshev) │ @ Base ./coreio.jl:5 │ [9] top-level scope │ @ none:1 │ │ Expected output: │ │ chebyshev preconditioner: │ 1st-kind Chebyshev │ eigenvalue estimates: │ estimated minimum 0.0000 │ estimated maximum 2.1429 │ estimate scaling: │ λ_min = a * estimated min + b * estimated max │ λ_max = c * estimated min + d * estimated max │ a = 0.0000 │ b = 0.1000 │ c = 0.0000 │ d = 1.1000 │ │ diff = │ Warning: Diff output requires color. │ chebyshev preconditioner: │ 1st-kind Chebyshev │ eigenvalue estimates: │ estimated minimum 0.0000 │ estimated maximum 2.1429 │ estimate scaling: │ λ_min = a * estimated min + b * estimated max │ λ_max = c * estimated min + d * estimated max │ a = 0.0000 │ b = 0.1000 │ c = 0.0000 │ d = 1.1000estimates:ERROR: MethodError: no method matching eigvals!(::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ The function `eigvals!` exists, but no method is defined for this combination of argument types. │ │ Closest candidates are: │ eigvals!(::AbstractMatrix{T}, !Matched::LinearAlgebra.Cholesky{T}; sortby) where T<:Number │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/symmetriceigen.jl:355 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{Float32, Float64} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:420 │ eigvals!(!Matched::LinearAlgebra.UpperHessenberg{T, <:StridedMatrix{T}}; permute, scale, sortby) where T<:Union{ComplexF64, ComplexF32} │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/hessenberg.jl:416 │ ... │ │ Stacktrace: │ [1] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}; kws::@Kwargs{}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [2] eigvals(A::SparseArrays.SparseMatrixCSC{ComplexF64, Int64}) │ @ LinearAlgebra /opt/julia/share/julia/stdlib/v1.14/LinearAlgebra/src/eigen.jl:345 │ [3] geteigenvalueestimates(chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:185 │ [4] getproperty │ @ ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:483 [inlined] │ [5] show(io::IOContext{Base.PipeEndpoint}, chebyshev::Chebyshev) │ @ LFAToolkit ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:84 │ [6] print(io::IOContext{Base.PipeEndpoint}, x::Chebyshev) │ @ Base ./strings/io.jl:35 │ [7] print(::IOContext{Base.PipeEndpoint}, ::Chebyshev, ::String) │ @ Base ./strings/io.jl:46 │ [8] println(x::Chebyshev) │ @ Base ./coreio.jl:5 │ [9] top-level scope │ @ none:1 └ @ Documenter ~/.julia/packages/LFAToolkit/ImlV6/src/PC/Chebyshev.jl:231 ┌ Error: Doctesting failed │ exception = │ `makedocs` encountered a doctest error. Terminating build │ Stacktrace: │ [1] error(s::String) │ @ Base ./error.jl:56 │ [2] runner(::Type{Documenter.Builder.Doctest}, doc::Documenter.Document) │ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/builder_pipeline.jl:213 │ [3] dispatch(::Type{Documenter.Builder.DocumentPipeline}, x::Documenter.Document) │ @ Documenter.Selectors ~/.julia/packages/Documenter/AXNMp/src/utilities/Selectors.jl:170 │ [4] delete!(::Base.EnvDict, k::String) │ @ Base ~/.julia/packages/Documenter/AXNMp/src/makedocs.jl:283 [inlined] │ [5] withenv(::Documenter.var"#95#96"{Documenter.Document}, ::Pair{String, Nothing}, ::Vararg{Pair{String, Nothing}}) │ @ Base ./env.jl:265 │ [6] #93 │ @ ~/.julia/packages/Documenter/AXNMp/src/makedocs.jl:282 [inlined] │ [7] cd(f::Documenter.var"#93#94"{Documenter.Document}, dir::String) │ @ Base.Filesystem ./file.jl:112 │ [8] makedocs(; debug::Bool, format::Documenter.HTMLWriter.HTML, kwargs::@Kwargs{root::String, source::String, sitename::String, doctest::Symbol, modules::Vector{Module}, doctestfilters::Vector{Regex}, remotes::Nothing, plugins::Vector{Documenter.Plugin}}) │ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/makedocs.jl:281 │ [9] (::Documenter.var"#all_doctests#147"{Bool, Vector{Regex}, Vector{Documenter.Plugin}, Vector{Module}})() │ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/doctest.jl:85 │ [10] macro expansion │ @ ~/.julia/packages/Documenter/AXNMp/src/doctest.jl:110 [inlined] │ [11] macro expansion │ @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:781 [inlined] │ [12] macro expansion │ @ ~/.julia/packages/Documenter/AXNMp/src/doctest.jl:110 [inlined] │ [13] get_testset() │ @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2246 [inlined] │ [14] doctest(source::Nothing, modules::Vector{Module}; fix::Bool, testset::String, doctestfilters::Vector{Regex}, plugins::Vector{Documenter.Plugin}) │ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/doctest.jl:110 │ [15] doctest(package::Module; manual::Bool, testset::Nothing, kwargs::@Kwargs{}) │ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/doctest.jl:37 │ [16] top-level scope │ @ ~/.julia/packages/LFAToolkit/ImlV6/test/runtests.jl:13 │ [17] macro expansion │ @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2246 [inlined] │ [18] macro expansion │ @ ~/.julia/packages/LFAToolkit/ImlV6/test/runtests.jl:13 [inlined] │ [19] include(mapexpr::Function, mod::Module, _path::String) │ @ Base ./Base.jl:327 │ [20] top-level scope │ @ none:6 │ [21] eval(m::Module, e::Any) │ @ Core ./boot.jl:517 │ [22] exec_options(opts::Base.JLOptions) │ @ Base ./client.jl:318 │ [23] _start() │ @ Base ./client.jl:593 └ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/doctest.jl:99 Doctests: LFAToolkit: Test Failed at /home/pkgeval/.julia/packages/Documenter/AXNMp/src/doctest.jl:110 Expression: all_doctests() Stacktrace: [1] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:784 [inlined] [2] macro expansion @ ~/.julia/packages/Documenter/AXNMp/src/doctest.jl:110 [inlined] [3] Dict{Symbol, Any}() @ Base /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2246 [inlined] [4] doctest(source::Nothing, modules::Vector{Module}; fix::Bool, testset::String, doctestfilters::Vector{Regex}, plugins::Vector{Documenter.Plugin}) @ Documenter ~/.julia/packages/Documenter/AXNMp/src/doctest.jl:110 Test Summary: | Fail Total Time documentation tests | 1 1 4m18.3s Doctests: LFAToolkit | 1 1 4m15.4s RNG of the outermost testset: Random.Xoshiro(0xaa4b083341a45f9b, 0x236f076117a45ad9, 0x50f2166f2fe6da29, 0xd6fe6221fb73a583, 0x8a473d70583d3988) ERROR: LoadError: Some tests did not pass: 0 passed, 1 failed, 0 errored, 0 broken. in expression starting at /home/pkgeval/.julia/packages/LFAToolkit/ImlV6/test/runtests.jl:12 Testing failed after 283.34s ERROR: LoadError: Package LFAToolkit errored during testing Stacktrace: [1] pkgerror(msg::String) @ Pkg.Types /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Types.jl:68 [2] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, julia_args::Cmd, test_args::Cmd, test_fn::Nothing, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool) @ Pkg.Operations /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:3247 [3] Cmd(cmd::Cmd) @ Base /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:3110 [inlined] [4] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, test_fn::Nothing, julia_args::Cmd, test_args::Cmd, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool, kwargs::@Kwargs{io::IOContext{IO}}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:587 [5] test(pkgs::Vector{PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:172 [6] test(pkgs::Vector{String}; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [7] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [inlined] [8] test(pkg::String; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:159 [inlined] [9] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:223 [10] include(mod::Module, _path::String) @ Base ./Base.jl:326 [11] exec_options(opts::Base.JLOptions) @ Base ./client.jl:352 [12] _start() @ Base ./client.jl:593 in expression starting at /PkgEval.jl/scripts/evaluate.jl:214 PkgEval failed after 560.47s: package has test failures