JuliaSmoothOptimizers / LinearOperators.jl

Linear Operators for Julia
Other
150 stars 32 forks source link

Normest #224

Closed farhadrclass closed 2 years ago

farhadrclass commented 2 years ago

I have added a norm estimator (This function also works with stochastic rounding )

codecov[bot] commented 2 years ago

Codecov Report

Merging #224 (c7173f0) into main (6d02355) will decrease coverage by 0.14%. The diff coverage is 93.33%.

@@            Coverage Diff             @@
##             main     #224      +/-   ##
==========================================
- Coverage   97.85%   97.71%   -0.15%     
==========================================
  Files          13       13              
  Lines         934      964      +30     
==========================================
+ Hits          914      942      +28     
- Misses         20       22       +2     
Impacted Files Coverage Δ
src/LinearOperators.jl 100.00% <ø> (ø)
src/utilities.jl 96.47% <93.33%> (-1.72%) :arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 6d02355...c7173f0. Read the comment docs.

github-actions[bot] commented 2 years ago
Package name latest stable
CaNNOLeS.jl
DCISolver.jl
JSOSolvers.jl
Krylov.jl
NLPModels.jl
NLPModelsModifiers.jl
PROPACK.jl
Percival.jl
QuadraticModels.jl
SolverTools.jl
farhadrclass commented 2 years ago

I will update it now

farhadrclass commented 2 years ago

I just pushed, let me know what you think

geoffroyleconte commented 2 years ago

Hi, thanks for this PR. Do you know why the tests are failing? This comment is more of a performance tip, but I noticed that you used * to compute products with S, I think it would be faster and allocate less to use mul!. Also I think it would be a good idea to include tests with LinearOperators and Float64 or Complex{Float64} arrays.

farhadrclass commented 2 years ago

Hi, thanks for this PR. Do you know why the tests are failing? This comment is more of a performance tip, but I noticed that you used * to compute products with S, I think it would be faster and allocate less to use mul!. Also I think it would be a good idea to include tests with LinearOperators and Float64 or Complex{Float64} arrays.

Thanks for your suggestions and I will update the code accordingly shortly, However I don't know why other test cases are failing

dpo commented 2 years ago

Here's what's used in opnorm: https://github.com/JuliaLang/julia/blob/bf534986350a991e4a1b29126de0342ffd76205e/stdlib/LinearAlgebra/src/generic.jl#L705

farhadrclass commented 2 years ago

Here's what's used in opnorm: https://github.com/JuliaLang/julia/blob/bf534986350a991e4a1b29126de0342ffd76205e/stdlib/LinearAlgebra/src/generic.jl#L705

yes I agree, I used the simple_matrix build in to generate tests

github-actions[bot] commented 2 years ago
Package name latest stable
CaNNOLeS.jl
DCISolver.jl
JSOSolvers.jl
Krylov.jl
NLPModels.jl
NLPModelsModifiers.jl
PROPACK.jl
Percival.jl
QuadraticModels.jl
SolverTools.jl
github-actions[bot] commented 2 years ago
Package name latest stable
CaNNOLeS.jl
DCISolver.jl
JSOSolvers.jl
Krylov.jl
NLPModels.jl
NLPModelsModifiers.jl
PROPACK.jl
Percival.jl
QuadraticModels.jl
SolverTools.jl
github-actions[bot] commented 2 years ago
Package name latest stable
CaNNOLeS.jl
DCISolver.jl
JSOSolvers.jl
Krylov.jl
NLPModels.jl
NLPModelsModifiers.jl
PROPACK.jl
Percival.jl
QuadraticModels.jl
SolverTools.jl
github-actions[bot] commented 2 years ago
Package name latest stable
CaNNOLeS.jl
DCISolver.jl
JSOSolvers.jl
Krylov.jl
NLPModels.jl
NLPModelsModifiers.jl
PROPACK.jl
Percival.jl
QuadraticModels.jl
SolverTools.jl