Skip to main content
26 events
when toggle format what by license comment
Feb 6 at 17:31 comment added Will Jagy Suggest you also subscribe to their users mailing list \\\\\\\\\\\ Date: Fri, Jan 26, 2024 at 9:38 AM \\\\\\\\\\\\\\\\\\\\ Subject: subscribe \\\\\\\\\\\\\ To: <[email protected]> \\\\\\\\\\\\\\\\\\\\\\ Not sure how this works. \\\\\\\\\\\\\\\\\\\\\\\\\ Will Jagy \\\\\\\\\\\\\\\\\\\\\\
Feb 1 at 20:36 comment added JCK How much faster do you need? I just did a quick test with numpy on a M2 macbook, calculating the eigenvalues of a 20x20 0/1 symmetric matrix and checking the minimum absolute value (np.min(np.abs(np.linalg.eigh(A)[0])) ) took 90us, and you can do 36 million of those per hour. I know that you want exact answers, but this uses syevd and that's should be good enough that you'll only have to double-check values very close to 1.
Jan 27 at 13:56 comment added Max Lonysa Muller In case you're looking for ideas besides the ones provided in the answers below, you could consider also posting your question on Computational Science SE: scicomp.stackexchange.com
Jan 26 at 19:02 comment added Will Jagy Got a reply from Pari-gp. Both the commands qfgaussred() and qfsign() run on rational numbers when given a square symmetric integer matrix. So, as in the idea of @BrendanMcKay, run qfsign() on $A, A+I, A-I,$ and compare
Jan 26 at 7:54 answer added Artemy timeline score: 4
Jan 26 at 5:06 comment added Brendan McKay I have (undebugged) code about 100 times faster than Nathaniel reports for Matlab.
Jan 25 at 22:34 answer added Nick Alger timeline score: 27
Jan 25 at 20:35 answer added Joseph Van Name timeline score: 2
Jan 25 at 19:42 comment added Luis Ferroni So, isn't the whole problem equivalent to deciding whether the matrix $A^2-I$ is positive semidefinite?
Jan 25 at 19:00 comment added Will Jagy Also, this is called Gauss reduction in France although often called Lagrange reduction as in Gantmacher's books, pages 299-300 in volume one. fr.wikipedia.org/wiki/R%C3%A9duction_de_Gauss#
Jan 25 at 18:19 comment added Will Jagy see mathoverflow.net/questions/268334/signature-of-a-quadratic-form That is, I think the command qfgaussred() is what you want if you are working in pari-gp
Jan 24 at 19:56 answer added Will Jagy timeline score: 3
Jan 24 at 18:09 comment added Nathaniel Johnston The off-the-shelf eigenvalue computations that MATLAB uses can solve this problem (i.e., computing the minimal eigenvalue to, say, 8 decimal places) for 100 million $30 \times 30$ symmetric $\{0,1\}$ matrices in about 2 hours. If you want an exact answer you will need to use the characteristic polynomial when there is an eigenvalue really close to $1$, but can you use these numerical methods to rule out all matrices with an eigenvalue below, say, $0.999$?
Jan 24 at 17:27 answer added Denis Serre timeline score: 10
Jan 24 at 16:42 answer added ors timeline score: 2
Jan 24 at 14:19 history became hot network question
Jan 24 at 12:11 comment added Bill Bradley Compared to the time for computing, say, the determinant, how long would it take to compute the matrix inverse? If that were available cheaply you could, for instance, use the inverse power method.
Jan 24 at 10:47 answer added Liviu Nicolaescu timeline score: 14
Jan 24 at 8:09 comment added Brendan McKay If $|A|\ne 0$ and either $|A+I|$ or $|A-I|$ has different sign from $|A|$, then there is a small eigenvalue.
Jan 24 at 8:00 answer added Federico Poloni timeline score: 20
Jan 24 at 7:39 comment added Gordon Royle @FedericoPoloni They are symmetric matrices, so the unit disc is the unit interval so with a bit of pre-processing to eliminate repeated roots and roots at $\pm 1$ Sturm sequences can be used.
Jan 24 at 7:35 comment added Federico Poloni @GordonRoyle How do you test if a polynomial has no roots inside the unit disc without computing the roots? Schur/Hurwitz stability criteria?
Jan 24 at 7:34 comment added Gordon Royle @FedericoPoloni My current slow method (via characteristic polynomials) uses exact arithmetic only and does not compute any eigenvalues, but I would experiment with a heuristic involving floating point arithmetic if necessary.
Jan 24 at 6:33 comment added Gordon Royle @CarloBeenakker Since the matrices are all 0/1-matrices, the condition number never tells me much.
Jan 24 at 6:27 comment added Carlo Beenakker You could use the condition number, computed as the ratio of the largest diagonal element and the smallest diagonal element.
Jan 24 at 6:18 history asked Gordon Royle CC BY-SA 4.0