I've opened an issue at https://github.com/sympy/sympy/issues/19365

On Thursday, May 14, 2020 at 5:07:10 PM UTC+9, JS wrote:
>
> Hello,
> I have run into a problem with various matrices. I have read Gotchas and 
> Pitfalls and tried to search around, but I was unable to find anything 
> relevant.
>
> For some matrices M, the  *M.is_indefinite* simply *returns no output*. I 
> have noticed that M.eigenvals() works for on these matrices, however,  
> M.diagonalize() runs for more than a minute before it gives an output.
> Matrices that have caused this problem for me:
> M1 = Matrix(([4, 2, sqrt(3)], [2, 2, 0], [sqrt(3), 0, 1] ))
> M1.is_indefinite
>
> M2 = Matrix(([4, 2, 1], [2, 2, 0], [1, 0, 1] ))
> M2.is_indefinite
>
> M3 = Matrix(([14, -9, 0], [-9, 32, 30], [0, 30, 1]))
> M3.is_indefinite
>  
> M4 = Matrix(([1, -4, -6], [-4, 2, 3], [-6, 3, 8] ))
> M4.is_indefinite
> Link to SymPy Live output 
> <https://live.sympy.org/?evaluate=A%20%3D%20Matrix((%5B4%2C%202%2C%20sqrt(2)%5D%2C%20%5B2%2C%202%2C%200%5D%2C%20%5Bsqrt(2)%2C%200%2C%201%5D%20))%20%0A%23--%0AA.is_indefinite%0A%23--%0AM1%20%3D%20Matrix((%5B4%2C%202%2C%20sqrt(3)%5D%2C%20%5B2%2C%202%2C%200%5D%2C%20%5Bsqrt(3)%2C%200%2C%201%5D%20))%0A%23--%0AM1.is_indefinite%0A%23--%0AM2%20%3D%20Matrix((%5B4%2C%202%2C%201%5D%2C%20%5B2%2C%202%2C%200%5D%2C%20%5B1%2C%200%2C%201%5D%20))%0A%23--%0AM2.is_indefinite%0A%23--%0AM3%20%3D%20Matrix((%5B14%2C%20-9%2C%200%5D%2C%20%5B-9%2C%2032%2C%2030%5D%2C%20%5B0%2C%2030%2C%201%5D))%20%0A%23--%0AM3.is_indefinite%0A%23--%0AM4%20%3D%20Matrix((%5B1%2C%20-4%2C%20-6%5D%2C%20%5B-4%2C%202%2C%203%5D%2C%20%5B-6%2C%203%2C%208%5D%20))%0A%23--%0AM4.is_indefinite%0A%23--%0A>
> .
>
>
>
> Some *bigger matrices B* returns error
> *# Since 'simplify' flag is unsupported in roots() MatrixError: Could not 
> compute eigenvalues for Matrix*
> *when using B.is_indefinite*, when I use B.*is_indefinite.* I get same 
> kind of error for B.eigenvals() and B.diagonalize().
>
> Matrices that have caused this problem for me:
> B1 = Matrix(([3, -1, 1, 1, 0, 0], [-1, 2, 0, 1, 0, 0], [1, 0, 1, 0, 0, 0], 
> [1, 1, 0, 1, 1, 0], [0, 0, 0, 1, 4, 1], [0, 0, 0, 1, 1, 2] ))
> B1.is_indefinite
> B1.eigenvals()
> B1.diagonalize()
>
> B2 = Matrix([[12, -4, 4, 3, 1, 0], [-4, 6, -1, 2, 1, 0], [4, -1, 2, 1, 0, 
> 0], [3, 2, 1, 5, 6, 3], [1, 1, 0, 6, 18, 6], [0, 0, 0, 3, 6, 5]])  # this 
> is in fact L2 = L1.T*L1
> B2.is_indefinite
> B2.eigenvals()
> B2.diagonalize()
>
> B3 = Matrix(([1, -1, 1, 0, 0, 1], [-1, 2, 1, 0, 2, 0], [1, 1, 6, 2, 3, 0], 
> [0, 0, 2, 1, 4, 0], [0, 2, 3, 4, 5, 1], [1, 0, 0, 0, 1, 2] ))   
> B3.is_indefinite
> B3.eigenvals()
> B3.diagonalize()
> Link to SymPy Live output 
> <https://live.sympy.org/?evaluate=B1%20%3D%20Matrix((%5B3%2C%20-1%2C%201%2C%201%2C%200%2C%200%5D%2C%20%5B-1%2C%202%2C%200%2C%201%2C%200%2C%200%5D%2C%20%5B1%2C%200%2C%201%2C%200%2C%200%2C%200%5D%2C%20%5B1%2C%201%2C%200%2C%201%2C%201%2C%200%5D%2C%20%5B0%2C%200%2C%200%2C%201%2C%204%2C%201%5D%2C%20%5B0%2C%200%2C%200%2C%201%2C%201%2C%202%5D%20))%0A%23--%0AB1.is_indefinite%0A%23--%0AB1.eigenvals()%0A%23--%0AB1.diagonalize()%0A%23--%0AB2%20%3D%20Matrix(%5B%5B12%2C%20-4%2C%204%2C%203%2C%201%2C%200%5D%2C%20%5B-4%2C%206%2C%20-1%2C%202%2C%201%2C%200%5D%2C%20%5B4%2C%20-1%2C%202%2C%201%2C%200%2C%200%5D%2C%20%5B3%2C%202%2C%201%2C%205%2C%206%2C%203%5D%2C%20%5B1%2C%201%2C%200%2C%206%2C%2018%2C%206%5D%2C%20%5B0%2C%200%2C%200%2C%203%2C%206%2C%205%5D%5D)%0A%23--%0AB2.is_indefinite%0A%23--%0AB2.eigenvals()%0A%23--%0AB2.diagonalize()%0A%23--%0AB3%20%3D%20Matrix((%5B1%2C%20-1%2C%201%2C%200%2C%200%2C%201%5D%2C%20%5B-1%2C%202%2C%201%2C%200%2C%202%2C%200%5D%2C%20%5B1%2C%201%2C%206%2C%202%2C%203%2C%200%5D%2C%20%5B0%2C%200%2C%202%2C%201%2C%204%2C%200%5D%2C%20%5B0%2C%202%2C%203%2C%204%2C%205%2C%201%5D%2C%20%5B1%2C%200%2C%200%2C%200%2C%201%2C%202%5D%20))%0A%23--%0AB3.is_indefinite%0A%23--%0AB3.eigenvals()%0A%23--%0AB3.diagonalize()%0A%23--%0A>
> .
>
> I have this problem on my Linux machine (SymPy 1.5.1, Python 3.8.2-64-bit) 
> as well as on the SymPy Live (SymPy 1.5.1, Python 2.7.12).
>
> Please, could you tell me if I’m just doing something wrong (hopefully 
> it’s just that),
> or if SymPy is really unable to perform these operations?
>
> Thanks. : - )
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/278ebbb8-0b6d-42cb-a50d-85b8f88ff0ef%40googlegroups.com.

Reply via email to