JuliaIntervals / IntervalLinearAlgebra.jl

Linear algebra done rigorously
MIT License
36 stars 9 forks source link

Implemented Theorem 7 in Miya14 #129

Open orkolorko opened 2 years ago

orkolorko commented 2 years ago

PR description

Implemented Algorithm M1 based on Theorem 7 of https://link.springer.com/article/10.1007/s13160-014-0145-5

After

The, not exported function svdbox, allows to compute rigorous enclosures of the singular values of a matrix (rectangular and square)

Checklist

Other

I did not export the function yet

lucaferranti commented 2 years ago

thank you very much! This is a very nice and welcome addition! I'll try to investigate the failing tests in the next couple of days

orkolorko commented 2 years ago

I'm doing some further work on the branch

codecov-commenter commented 2 years ago

Codecov Report

Base: 97.19% // Head: 96.72% // Decreases project coverage by -0.48% :warning:

Coverage data is based on head (17f6aae) compared to base (fe87dd4). Patch coverage: 94.21% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #129 +/- ## ========================================== - Coverage 97.19% 96.72% -0.48% ========================================== Files 17 19 +2 Lines 642 763 +121 ========================================== + Hits 624 738 +114 - Misses 18 25 +7 ``` | [Impacted Files](https://codecov.io/gh/JuliaIntervals/IntervalLinearAlgebra.jl/pull/129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaIntervals) | Coverage Δ | | |---|---|---| | [src/IntervalLinearAlgebra.jl](https://codecov.io/gh/JuliaIntervals/IntervalLinearAlgebra.jl/pull/129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaIntervals#diff-c3JjL0ludGVydmFsTGluZWFyQWxnZWJyYS5qbA==) | `73.68% <66.66%> (-26.32%)` | :arrow_down: | | [src/eigenvalues/miyajima\_svd.jl](https://codecov.io/gh/JuliaIntervals/IntervalLinearAlgebra.jl/pull/129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaIntervals#diff-c3JjL2VpZ2VudmFsdWVzL21peWFqaW1hX3N2ZC5qbA==) | `97.53% <97.53%> (ø)` | | | [src/multiplication.jl](https://codecov.io/gh/JuliaIntervals/IntervalLinearAlgebra.jl/pull/129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaIntervals#diff-c3JjL211bHRpcGxpY2F0aW9uLmps) | `100.00% <100.00%> (ø)` | | | [src/numerical\_test/multithread.jl](https://codecov.io/gh/JuliaIntervals/IntervalLinearAlgebra.jl/pull/129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaIntervals#diff-c3JjL251bWVyaWNhbF90ZXN0L211bHRpdGhyZWFkLmps) | `100.00% <100.00%> (ø)` | | Help us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaIntervals). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=JuliaIntervals)

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

orkolorko commented 2 years ago

thank you very much! This is a very nice and welcome addition! I'll try to investigate the failing tests in the next couple of days

@lucaferranti I'm happy is it interesting! Happy to contribute!

I am thinking about implementing Miyajima's estimates for eigenvalues later on, also.

I will also check if Miyajima's svd estimate works for complex matrices (Rump estimate works, so it should, but the theorems in his paper are only stated for real matrices.)