Skip to content

Fix eigenvectors (and a lot of other stuff) for symbolic matrices #6934

@kcrisman

Description

@kcrisman

From sage-devel http://groups.google.com/group/sage-devel/browse_thread/thread/4f39037d7fd17133 we have the following:

sage: A=matrix(SR,[[1,2,3],[4,5,6],[7,8,9]]) 
sage: A.eigenvectors_right() 
Traceback (most recent call last): 
... 
TypeError: degree() takes exactly one argument (0 given)

As it turns out, there are a HOST of things you can't do with A because of the new symbolics, which no one has yet implemented. Another example:

sage: A = matrix(SR, [[1,2,3],[4,5,6],[7,8,9]])
sage: A.charpoly()
(x - 1)*((x - 9)*(x - 5) - 48) - 29*x - 3
sage: type(_)
<type 'sage.symbolic.expression.Expression'>
sage: B = matrix(QQ, [[1,2,3],[4,5,6],[7,8,9]])
sage: B.charpoly()
x^3 - 15*x^2 - 18*x
sage: type(_)
<class 'sage.rings.polynomial.polynomial_element_generic.Polynomial_rational_dense'>

which means minpoly does not work (because it requires a polynomial, not an expression) and so on.

These were not caught before because these things were not tested, since they weren't actually implemented in the dense symbolic matrix file.

CC: @jasongrout @rbeezer

Component: linear algebra

Keywords: symbolics, matrices, polynomials

Author: Jason Grout

Reviewer: Rob Beezer

Merged: sage-4.6.alpha1

Issue created by migration from https://trac.sagemath.org/ticket/6934

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions