Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #128 +/- ##
==========================================
- Coverage 88.04% 85.88% -2.17%
==========================================
Files 32 34 +2
Lines 3422 3379 -43
==========================================
- Hits 3013 2902 -111
- Misses 409 477 +68 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
I agree that the different signatures with Of course, anything regarding initialisation that applies to function initialize(::typeof(eigsolve), ::TypeOfLinearMap, ...)
end |
|
I think it is fair to always have to provide a starting guess, but I do expect that this will be a little harsh... I think this is only necessary for I can look into adding this is this sounds right, and see if I can deprecate the other syntaxes |
This PR adds some infrastructure to be able to hook into creating initial vectors for
eigsolve.This came up in #126.
I've added an overloadable
eigsolve_initfunction that can be used instead.Unfortunately, in order to make this backwards compatible this gets a bit messy with the multitude of different signatures that
eigsolveneeds to support.For example, I'm not sure if it is that useful to support signatures with
nto specify the size of the matrix. Replacing this withrand(T, n)would not really be that much more verbose, and would make dispatching a bit easier.Considering the initialization of the sparse eigenvectors, I don't know enough about this topic to make an educated choice.
Is defaulting to dense vectors the correct way to characterize random eigenvectors? Should these be random sparse vectors with some specified sparsity instead?
Do we instead force users to provide a starting vector, or throw a warning?