@@ -38,17 +38,16 @@ For matrix functions with a restricted domain (e.g. [`squareroot`](@ref) and [`l
3838as rounding artifacts and clamped to the domain boundary, with `nothing` denoting the default
3939tolerance [`default_domain_atol`](@ref).
4040"""
41- struct MatrixFunctionViaEigh{A <: AbstractAlgorithm , T <: Union{Nothing, Real} } <: AbstractAlgorithm
41+ struct MatrixFunctionViaEigh{A <: AbstractAlgorithm } <: AbstractAlgorithm
4242 eigh_alg:: A
43- domain_atol:: T
44- end
45- function MatrixFunctionViaEigh (eigh_alg:: AbstractAlgorithm ; domain_atol:: Union{Nothing, Real} = nothing )
46- return MatrixFunctionViaEigh (eigh_alg, domain_atol)
43+ domain_atol:: Float64 # negative value for runtime defaults
4744end
45+ MatrixFunctionViaEigh (eigh_alg:: AbstractAlgorithm ; domain_atol:: Real = - 1.0 ) =
46+ MatrixFunctionViaEigh (eigh_alg, Float64 (domain_atol))
4847function Base. show (io:: IO , alg:: MatrixFunctionViaEigh )
4948 print (io, " MatrixFunctionViaEigh(" )
5049 _show_alg (io, alg. eigh_alg)
51- isnothing ( alg. domain_atol) || print (io, " ; domain_atol=" , alg. domain_atol)
50+ alg. domain_atol < 0 || print (io, " ; domain_atol=" , alg. domain_atol)
5251 return print (io, " )" )
5352end
5453
@@ -62,16 +61,15 @@ For matrix functions with a restricted domain (e.g. [`squareroot`](@ref) and [`l
6261as rounding artifacts and clamped to the domain boundary, with `nothing` denoting the default
6362tolerance [`default_domain_atol`](@ref).
6463"""
65- struct MatrixFunctionViaEig{A <: AbstractAlgorithm , T <: Union{Nothing, Real} } <: AbstractAlgorithm
64+ struct MatrixFunctionViaEig{A <: AbstractAlgorithm } <: AbstractAlgorithm
6665 eig_alg:: A
67- domain_atol:: T
68- end
69- function MatrixFunctionViaEig (eig_alg:: AbstractAlgorithm ; domain_atol:: Union{Nothing, Real} = nothing )
70- return MatrixFunctionViaEig (eig_alg, domain_atol)
66+ domain_atol:: Float64 # negative value for runtime defaults
7167end
68+ MatrixFunctionViaEig (eig_alg:: AbstractAlgorithm ; domain_atol:: Real = - 1.0 ) =
69+ MatrixFunctionViaEig (eig_alg, Float64 (domain_atol))
7270function Base. show (io:: IO , alg:: MatrixFunctionViaEig )
7371 print (io, " MatrixFunctionViaEig(" )
7472 _show_alg (io, alg. eig_alg)
75- isnothing ( alg. domain_atol) || print (io, " ; domain_atol=" , alg. domain_atol)
73+ alg. domain_atol < 0 || print (io, " ; domain_atol=" , alg. domain_atol)
7674 return print (io, " )" )
7775end
0 commit comments