Thus, in order to implement the polynomial, it is sufficient to store its coefficients

a0, a1, a2, . . . , an.

The naive way to do this is in an (n + 1)-dimensional vector. This approach, however, is not sufficiently general and flexible. Indeed, in a vector object, the coefficients would actually be stored in an array, which requires that all of them are of the same size. This is good enough for polynomials of one variable, in which the coefficients are scalars, but not for polynomials of two or more variables, in which the coefficients are themselves polynomials that may have variable sizes.