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

Remove eigmin and eigmax definitions for PDSparseMat and thereby #115

Merged
merged 3 commits into from May 20, 2020

Conversation

andreasnoack
Copy link
Member

stop depending on Arpack. The Arpack dependency sometimes causes some problems on some platforms and since Distributions depend on PDMats it means that most users end up depending on Arpack even though they never compute eigmax or eigmin of a sparse matrix even indirectly.

@andreasnoack
Copy link
Member Author

I've now also enabled testing on the latest Julia release and dropped support for Julia 0.7 to avoid increasing the number of tested versions.

@@ -50,9 +48,6 @@ end

Base.inv(a::PDSparseMat{T}) where {T<:Real} = PDMat( a\eye(T,a.dim) )
LinearAlgebra.logdet(a::PDSparseMat) = logdet(a.chol)
LinearAlgebra.eigmax(a::PDSparseMat{T}) where {T<:Real} = convert(T,eigs(convert(SparseMatrixCSC{Float64,Int},a.mat), which=:LM, nev=1, ritzvec=false)[1][1]) #to avoid type instability issues in eigs, see e.g., julia issue #13929
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there fallback definitions somewhere that will produce the right thing for a PDSparseMat?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. The PR is removing functionality based on a trade off between how useful this method is (I don’t think it is) and how costly it is to have the binary dependency for all downstream packages

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay. I don't have an opinion here so I trust your judgement on this as long as we make this a breaking release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants