# How to define a polynomial which can take matrix ?

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.

var('x')
f(x)=2x^2+x+3
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 close merge delete

Sort by ยป oldest newest most voted

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]

more

Thank you so much..

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

## Stats

Seen: 164 times

Last updated: May 18 '16