JuliaSmoothOptimizers / JuliaSmoothOptimizers/LDLFactorizations.jl
supporting Intervals
- Dominant language
- Julia
- Stars
- 36
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
A current conversation on Slack # Intervals asks
is it reasonably easy to do?
```
bottine 01:39
I'm wondering how much work would be needed to be able to plug interval types into tulip
Jeffrey Sarnoff 2 hours ago
:wink: ? ask @mtanneau
Only visible to you
Slackbot 2 hours ago
OK! I’ve invited @mtanneau to this channel.
Mathieu Tanneau 2 hours ago
Hmm :male-detective:
Mathieu Tanneau 2 hours ago
On the top of my head, to support computations in arithmetic T,
it would need the following methods to be implemented (the list is non-exhaustive):
eps(T) to compute tolerances
sqrt(::T) to be used within factorizations
abs(::T) for some tolerances & step size computation
classical operations +, *, -, /
binary comparisons like >= and <=
Some norm(::Vector{T}, Inf) computations
Mathieu Tanneau 1 hour ago
The first step would be trying to compute an LDLt factorization of
a symmetric positive definite matrix with Interval eltype, using LDLFactorizations.jl.
If that fails badly and can't be resolved, then there's little change Tulip would work
Jeffrey Sarnoff 1 hour ago
IntervalArithmetic.jl supports all of those arithmetic T ops
(for norm(::Vector{T}, Inf) first do using LinearAlgebra). (edited)
Jeffrey Sarnoff 1 hour ago
@dpsanders do we have LDLt ___ with Interval eltype?
Mathieu Tanneau 30 minutes ago
Damn, I thought LDLFactorizations.jl supported any arithmetic... Turns out it requires T <: Real.
It might be fixable by "just" relaxing the type restrictions in the LDLFactorizations code.
```
Contributor guide
Research direction
Start by reviewing the LDLFactorizations code and its T <: Real restrictions, then try an LDLt factorization of a symmetric positive definite matrix with an Interval eltype. Check which restrictions can be relaxed without breaking existing behavior; done means the factorization works with interval types and the required operations remain supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- hpc
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100