Thank you for the nice Julia implementation of DLR. I am trying to use Lehmann.jl in a project but have stumbled on an issue when calling the DLRGrid builder at high temperatures.
For the output please see below.
Do you think it would be possible to "harden" the behaviour of the grid builder so that it performs ok also for high temperatures?
(β, n, length(dlr.τ)) = (500.0, 1, 41)
(β, n, length(dlr.τ)) = (250.0, 2, 37)
(β, n, length(dlr.τ)) = (125.0, 3, 31)
(β, n, length(dlr.τ)) = (62.5, 4, 25)
(β, n, length(dlr.τ)) = (31.25, 5, 20)
(β, n, length(dlr.τ)) = (15.625, 6, 16)
(β, n, length(dlr.τ)) = (7.8125, 7, 13)
ArgumentError: reducing over an empty collection is not allowed
Stacktrace:
[1] _empty_reduce_error()
@ Base ./reduce.jl:301
[2] reduce_empty(op::Function, #unused#::Type{Float64})
@ Base ./reduce.jl:311
[3] mapreduce_empty(#unused#::typeof(identity), op::Function, T::Type)
@ Base ./reduce.jl:345
[4] reduce_empty(op::Base.MappingRF{typeof(identity), typeof(max)}, #unused#::Type{Float64})
@ Base ./reduce.jl:331
[5] reduce_empty_iter
@ ./reduce.jl:357 [inlined]
[6] mapreduce_empty_iter(f::Function, op::Function, itr::Vector{Float64}, ItrEltype::Base.HasEltype)
@ Base ./reduce.jl:353
[7] _mapreduce(f::typeof(identity), op::typeof(max), #unused#::IndexLinear, A::Vector{Float64})
@ Base ./reduce.jl:402
[8] _mapreduce_dim
@ ./reducedim.jl:330 [inlined]
[9] #mapreduce#725
@ ./reducedim.jl:322 [inlined]
[10] mapreduce
@ ./reducedim.jl:322 [inlined]
[11] #_maximum#743
@ ./reducedim.jl:894 [inlined]
[12] _maximum
@ ./reducedim.jl:894 [inlined]
[13] #_maximum#742
@ ./reducedim.jl:893 [inlined]
[14] _maximum
@ ./reducedim.jl:893 [inlined]
[15] #maximum#740
@ ./reducedim.jl:889 [inlined]
[16] maximum
@ ./reducedim.jl:889 [inlined]
[17] testInterpolation(dlrGrid::DLRGrid{Float64, :none}, τ::Lehmann.Discrete.CompositeChebyshevGrid, ω::Lehmann.Discrete.CompositeChebyshevGrid, kernel::Matrix{Float64}, print::Bool)
@ Lehmann.Discrete ~/.julia/packages/Lehmann/v7X4o/src/discrete/kernel.jl:137
[18] build(dlrGrid::DLRGrid{Float64, :none}, print::Bool)
@ Lehmann.Discrete ~/.julia/packages/Lehmann/v7X4o/src/discrete/builder.jl:119
[19] _build!(dlrGrid::DLRGrid{Float64, :none}, folder::Nothing, filename::String, algorithm::Symbol, verbose::Bool)
@ Lehmann ~/.julia/packages/Lehmann/v7X4o/src/dlr.jl:338
[20] DLRGrid(Euv::Float64, β::Float64, rtol::Float64, isFermi::Bool, symmetry::Symbol; rebuild::Bool, folder::Nothing, algorithm::Symbol, verbose::Bool, dtype::Type)
@ Lehmann ~/.julia/packages/Lehmann/v7X4o/src/dlr.jl:172
[21] #DLRGrid#7
@ ~/.julia/packages/Lehmann/v7X4o/src/dlr.jl:189 [inlined]
[22] top-level scope
@ ./In[20]:5
Dear Kun,
Thank you for the nice Julia implementation of DLR. I am trying to use
Lehmann.jlin a project but have stumbled on an issue when calling theDLRGridbuilder at high temperatures.Here is an example code that breaks throwing an
ArgumentErrorFor the output please see below.
Do you think it would be possible to "harden" the behaviour of the grid builder so that it performs ok also for high temperatures?
Cheers, Hugo