Ask Your Question

How to define a polynomial which can take matrix ?

asked 2016-05-18 20:33:49 +0200

daviddgl gravatar image

updated 2016-05-18 20:53:03 +0200

tmonteil gravatar image

I want to define a matrix valued function. for example..

If I have a polynomial of a matrix with me say $f(x)$ and I want to check $f(A)$. What can be done better? The following will work for numbers but not for matrix.

print f(A)# this is what I want as an answer..


In the above if I want to replace my x by a matrix what I have to do?


So, ultimate aim is to find define a polynomial which can take matrix Thanks in advance...

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2016-05-18 20:52:03 +0200

tmonteil gravatar image

You should work with polynomials, not symbolic expressions.

Here is an example, let us assume that your matrix is defined over the field QQ:

sage: A = random_matrix(QQ,3)
sage: A
[   2    0   -2]
[   2    2    0]
[-1/2    0    0]

Then you can define the polynomial ring with one variable over the rationals, and define your polynomial:

sage: R.<x> = PolynomialRing(QQ)
sage: R
Univariate Polynomial Ring in x over Rational Field
sage: f = 2*x^2 + x + 3
sage: f.parent()
Univariate Polynomial Ring in x over Rational Field

And apply it to your matrix:

sage: f(A)
[  15    0  -10]
[  18   13   -8]
[-5/2    0    5]
edit flag offensive delete link more


Thank you so much..

daviddgl gravatar imagedaviddgl ( 2016-05-19 04:06:31 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2016-05-18 20:33:49 +0200

Seen: 337 times

Last updated: May 18 '16