JuliaSmoothOptimizers / JuliaSmoothOptimizers/LDLFactorizations.jl

supporting Intervals

Open
#90 3 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.