JuliaSmoothOptimizers / JuliaSmoothOptimizers/PartitionedStructures.jl

Partitioned matrix with diverse element matrices

Open
#81 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
10
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Implement a "super" partitioned matrix, which is not affiliate with only one type of element matrix (ex: PBFGS, PLBFGS, PLSR1...).

The structure would conciliate several element hessian approximations $\hat{B}_i$ being either a :
- dense matrix;
- linear operator;
- diagonal QN operator;
- ...
It should also integrate the linear contributions (empty matrices), to fit the partitioned structure of a PartitionedVector.
The partitioned matrix vector product must be adapted.

Here is a sketch of the desired structure:
```julia
mutable struct SuperPartitionedMatrix{T<:Number}
dense_elements::Vector{DenseMatrixElement{T}}
lbfgs_elements::Vector{LBFGSElement{T}}
lsr1_elements::Vector{LSR1Element{T}}
diag_qn_elements::Vector{DiagQNElements{T}}
redirection::Vector{Tuple{Symbol, Int}}
...
end
```
where `length(redirection) == N` and `redirection[i]` returns `symbol, index` linked to its nature (`dense, lbfgs, lsr1, diag_qn`) and its position (`index`) in the corresponding collection of element matrix contributions.

There is no mechanism similar to `redirection` right now.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.