Closed gaborcsardi closed 10 years ago
Actually, right now the algebraic largest eigenvalue is used....
Ahh, this is good to know. What about for directed?
Honestly, Carey frequently asks our group whether we should use largest algebraic or largest magnitude. My answer is that the default should be largest magnitude since statistically it is consistent for a more general class of models. However, frequently the largest algebraic may be a reasonable model constraint for various particular problems. Anyhow, just giving you some more background about why we care.
Ahh, this is good to know. What about for directed?
The same. For the SVD you calculate the eigenvalue of a symmetric matrix, always.
OK, so largest magnitude will be the new default. Watch out, because this might change the behavior of some of your code.....
OK, I will let the group know (particularly Youngser) to make sure that everyone knows they should change their code if necessary.
Wait, Why should we change the default option?? I don't remember how many times I use ase (in many different files), and I know may others are also using it.
So, if it's not too much trouble, can we change back to the current default and add a new option??
Thanks!
On May 5, 2014, at 11:05 PM, Daniel Sussman notifications@github.com wrote:
OK, I will let the group know (particularly Youngser) to make sure that everyone knows they should change their code if necessary.
— Reply to this email directly or view it on GitHub.
Sorry Youngser, I should have asked first. Keeping the default as it was before seems good.
Btw. aren't the singular values always non-negative anyway? What is the point of having 'largest magnitude' and 'largest algebraic'?
Well, this issue matters only for directed where the eigenvalues are all real and we have to choose an ordering for them.
For undirected it should always work with singular values which are non-negative as you mentioned.
AFAIK these are singular values and not eigenvalues. At least they surely are in the code. Singular values are always non-negative.
Sorry for the confusion. I noticed I said:
Well, this issue matters only for directed where the eigenvalues are all real and we have to choose an ordering for them.
For undirected it should always work with singular values which are non-negative as you mentioned.
I mixed up directed and undirected. For undirected we want the eigenvalues, where ordering options would matter. For directed we want the singular values where ordering options wouldn't matter.
This function currently does not calculate eigenvalues, it only calculates singular values. You want to add eigenvalues calculation as well?
Well, that is where the difference comes up. Sometimes largest algebraic is an option we care about for undirected. The eigendecomposition should only be used for the undirected case.
Just to clarify. Currently the SVD is used for both undirected and directed graphs, and you want to use eigenvalues and eigenvectors for undirected graphs, and keep the current behavior for directed graphs. Right?
Yes!
Though, really the eigenstuff really only makes a difference for Undirected and Largest Algebraic ordering
Otherwise, the behavior shouldn't change.
Daniel:
From #38.