Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add relative and absolute tolerance for rank. #29926

Merged
merged 16 commits into from
Dec 6, 2018

Conversation

sam0410
Copy link
Contributor

@sam0410 sam0410 commented Nov 4, 2018

This is for issue number #3249

@StefanKarpinski
Copy link
Sponsor Member

StefanKarpinski commented Nov 4, 2018

Thanks for the PR! The standard names for this are rtol and atol, see docs for isapprox.

@sam0410
Copy link
Contributor Author

sam0410 commented Nov 4, 2018

Thanks for reviewing @StefanKarpinski. I changed the names.

@StefanKarpinski
Copy link
Sponsor Member

Requesting review from @andreasnoack for general linalg expertise and @stevengj because I know you were instrumental in the design of the isapprox behavior and we want to make sure that these APIs and behaviors are as consistent and coherent as possible.

@stevengj
Copy link
Member

stevengj commented Nov 8, 2018

As was commented in #29793, to be consistent we should also add these keywords for pinv and nullspace.

@StefanKarpinski
Copy link
Sponsor Member

Thanks for the thorough review, @stevengj!

As was commented in #29793, to be consistent we should also add these keywords for pinv and nullspace.

It seems like it would be fine to make those changes in separate PRs if preferred after getting this one in good shape and merged.

@stevengj
Copy link
Member

stevengj commented Nov 8, 2018

It would be easier to review them together for consistency, since it is almost the same change in all three cases, and it is good to keep the APIs for those functions consistent since they are closely related mathematically.

@StefanKarpinski
Copy link
Sponsor Member

I'd like to not overwhelm @sam0410 with too many not-strictly-necessary requests on a first PR here.

@sam0410
Copy link
Contributor Author

sam0410 commented Nov 8, 2018

Hi @StefanKarpinski, I will add the keywords to pinv and nullspace as mentioned by @stevengj in a different PR. Also, the build here is failing because of some 32bit issue- not because of the code in this PR.

@simonbyrne simonbyrne added linear algebra Linear algebra stdlib Julia's standard library labels Nov 28, 2018
@JuliaLang JuliaLang deleted a comment from simonbyrne Nov 30, 2018
@simonbyrne
Copy link
Contributor

I made a few small edits (we can't deprecate the old method yet, but I've added a note that we should do that in future).

@simonbyrne simonbyrne merged commit 060d1bf into JuliaLang:master Dec 6, 2018
@simonbyrne
Copy link
Contributor

Thanks for sticking with this!

fredrikekre added a commit that referenced this pull request Dec 7, 2018
Compat annotation for rank(A; rtol=..., atol=...), #29926.
@sam0410 sam0410 deleted the rankRelAbs branch December 7, 2018 19:10
ararslan pushed a commit that referenced this pull request Dec 7, 2018
* Compat annotation for unique!(f, A), #30141.
Compat annotation for rank(A; rtol=..., atol=...), #29926.

* Update stdlib/LinearAlgebra/src/generic.jl
KristofferC pushed a commit that referenced this pull request Dec 7, 2018
* Compat annotation for unique!(f, A), #30141.
Compat annotation for rank(A; rtol=..., atol=...), #29926.

* Update stdlib/LinearAlgebra/src/generic.jl

(cherry picked from commit 4fc446f)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
linear algebra Linear algebra stdlib Julia's standard library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants