How to divide a matrix by a polynomial?
1 view (last 30 days)
Show older comments
Having a matrix say 'A' whoose content is taken as variable for a P(x), which is a 3rd Degree polynomial, resulting in a Matrix 'Ax'. What operation should be done between P(x) and 'Ax' to get back 'A' ?
sample code is ...
A=[0:0.01:1];
Ax = p1*A.^3 + p2*A.^2 + p3*A + p4; % p1 to p4 are coefficients of polynomials
How can 'A' be recovered from 'Ax' using P(x) ?
0 Comments
Accepted Answer
John D'Errico
on 22 Nov 2018
In general, you can't.
This is not aquestion of "dividing a matrix by a polynomial". In fact, that makes no sense at all. You have a list of points (x) that you are evaluating a polynomial at, and now, you want to recover the original x. Thus, given a point or set of points x, you have computed the value y for each x.
y = P(x)
Now, for each y, you want to recover the original value of x. Sorry, but you cannot do that operation uniquely, unless the polynomial is a linear one, in which case it is trivial. Even if the function is a quadratic polynomial, not the cubic one that you show, there will be multiple solutions, so no unique solution. You can never know which of those multiple roots to choose. This is no different from asking the question:
If I know the value of y=x^2, then which of the possible solutions,
x = sqrt(y)
or
x = -sqrt(y)
did I start with?
More Answers (0)
See Also
Categories
Find more on Polynomials in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!