LinearOperators.jl
LinearOperators.jl copied to clipboard
Linear Operators for Julia
`Matrix(op)` may generate incorrect result in the case when `op * x` changes the values stored in` x`. Typical example is when `op` is a linear equation solver which overwrites...
- [ ] limited-memory SR1 approximation - [X] in loop form, forward ~~and inverse~~: #14 - [ ] in compact form, forward ~~and inverse~~ - NB: inverse is trivial because...
https://docs.julialang.org/en/v1/stdlib/Test/#Test.detect_unbound_args cf: #241
``` using ADNLPModels, CUDA, LinearOperators, NLPModels nvar = 10 x0 = CuArray(rand(nvar)) nlp = ADNLPModel(sum, x0, gradient_backend = ADNLPModels.ReverseDiffADGradient) V = typeof(x0) xc = V(undef, nvar) Hs = V(undef, nvar)...
@dpo, this is the first version of an implementation of a compressed LBFGS (forward) operator. I made a first `structure`, as well as a `Matrix` interface, and a `mul!` method....
This operator is used in JSOSolvers https://github.com/JuliaSmoothOptimizers/JSOSolvers.jl/blob/5c08163ee594d8f8d7e12a98b14f4ed7cd22424e/src/lbfgs.jl#L87C3-L87C63 but nothing allows GPU computation
To remove the dependency on LDLFactorizations.