Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Theoretical Q: Convert 10 points on an x^9 to 1000 points described by an x^2 polynomial?

  1. Sep 23, 2014 #1
    In the above title 10 and 1000 are arbitrary numbers I will use them below to signify the concept of a smaller and larger number.

    I know that n points are described by at most an x^(n-1) polynomial.

    What I really mean to ask is:
    Is it possible to take a "smaller" amount of points say 10, go through a series of transformations, turn them into a "larger" number of points, say 1000, so that the larger number of points all lie on a line described by a polynomial with a degree less than the degree of the polynomial that describes the 10 points?

    Assume that the 10 points are described by a 10-1 = 9 degree polynomial.

    I would then want to take my new polynomial (along with some meta data) and derive the original 10 points.

    Is any of this possible? Any recommended resources to get me started or point me in the right direction?

    Note this is just for fun and not any sort of homework or test problem so it may just be impossible.
  2. jcsd
  3. Sep 23, 2014 #2


    User Avatar
    Science Advisor

    I'm not completely sure what you are asking but, as you say, you can, given any n points find a polynomial of degree at most n-1 whose graph goes through those n points. Given 10 points you find a polynomial of degree at most nine whose graph passes through those points. To get an additional 90 points lying on that polynomial, just evaluate that polynomial at 90 additional "x" values. I don't know what more you want.
  4. Sep 23, 2014 #3
    What I want to end up with is a polynomial with a degree less than 9.

    I want to take 10 points and their respective x^9 polynomial. Convert these points 10 points through a series of transformations to 1000 points on a X^2 (or x^3, or X^4... or x^y where y < 9) polynomial. Is this possible?

    Basically I start with points and a polynomial. I want a set of transformations so that the amount of points increase while the polynomial's degree decreases.
  5. Sep 23, 2014 #4


    User Avatar
    Science Advisor

    In other words, you want to do exactly what I said before -you want to start with 10 points, create 9th degree polynomial from them, then calculate 90 more points that satisfy that polynomial.
  6. Sep 23, 2014 #5
    No I want to calculate 990 more points that satisfy a different, lesser degree polynomial. I want this "calculation" to be deterministic and reversible.

    No. With 10 points I have a 9th degree polynomial. If I add 990 points to this curve, the curve is still of degree 9. This is not what I want.

    I don't want to "add" 990 points. I want to "transform" 10 points into 1000. The original 10 points do not have to necessarily show up in their original form in the new 1000 points.
    The transformation will be one such that the new polynomial that describes these 1000 points is now only of degree 2.

    The transformation does two things:
    - The polynomial is reduced from degree 9 to degree 2.
    - The number of points is increased from 10 to 1000

    What kind of transformation can do this? Does such a thing exist?
    Last edited: Sep 23, 2014
  7. Sep 23, 2014 #6
    For a polynomial of degree [itex]n[/itex], you'd need exactly [itex]n+1[/itex] points to determine a unique polynomial of that degree which those points satisfy. Any fewer points and not all parameters will be determined. Too many points and it's very likely there is no polynomial that those points satisfy exactly.

    More precisely, each polynomial can be represented as [itex]\vec y = \vec X \vec c[/itex] where [itex]\vec X[/itex] is a matrix where the elements of each row are growing powers of [itex]x[/itex] i.e. [itex]1, x, x^2, \dots , x^n[/itex] of one point. This has a unique solution iff [itex]rank(\vec X) = rank([\vec X | \vec y]) = n+1[/itex].

    So if I understand you correctly, you want to take these 10 points, generate the ninth-degree polynomial from which you'll "sample" these 1000 points that you'll then use to generate a second-degree polynomial? Seeing as that you almost certainly won't be able to get a polynomial that satisfy all of those points, you'll end up doing an approximate solution anyway using some fitting method e.g. least squares.

    However, if the end goal is to simplify the original ninth-degree polynomial then this is a bad method unless those points lie very close to each other due to loss of information. An better way to approximate the polynomial is to use splines.
  8. Sep 23, 2014 #7


    User Avatar
    Science Advisor

    As previously noted, you could use splines. Alternatively, if you want one lower degree polynomial, you can use a least square fit.
  9. Sep 23, 2014 #8


    User Avatar
    2017 Award

    Staff: Mentor

    If you require your original 10 points to be on the polynomial, then it is impossible (in general). It does not matter how many other points you want to consider, such a function just does not exist.

    If the original 10 points don't have to be on the polynomial, then how are the initial points and the final points related? What stops you from making up an arbitrary polynomial and to find 1000 points on it with no relation to the original 10 points?

    I guess you want some approximation procedure. But then the 1000 points do not matter at all. Least square fits and splines as the typical approximation methods have been mentioned before.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook