The way I process information, applied to ‘Computer Algebra Systems’, defines the difference between constants and variables in a context-sensitive way. It’s for the purpose of solving one problem, that certain symbols in an expression become variables, others constants, and others yet, function names. The fact that a syntax has been defined to store these symbols, does not affect the fact that their status can be changed from constant to variable and vice-versa.
I’ll name an example. For most purposes a Univariate Polynomial has the single variable (x), denotes powers of (x) as its base terms, and multiplies each of the base terms by a constant coefficient. To some people this might seem immutable.
But if the purpose of the exercise is to compute a Statistical, Polynomial Regression – which is “an overdetermined system” – then we must find optimal values for prospective coefficients. We can use this as the basis to form a “Polynomial Approximation” of a system, which could be of the 8th degree for example, and yet this polynomial must fit a data-set as closely as possible, which could have a list of 20 values of (x), each associated with a real value of (y), which our optimized set of coefficients is supposed to approximate, from the powers of (x), including the power (0), which always yields the base value (1).
In order to determine our 9 coefficients, we need to decide that all the powers of (x) have become constants. The coefficients we’re trying to determine best, have now become the variables in our problem. Thus, we have a column-vector of real (y)s (still variables), and matrices which state the powers of (x) which supposedly led to those values of (y). I believe that this is a standard for doing so:
Well another conclusion we can reach, is that the base values which need to be correlated with real (y), aren’t limited to powers of (x). They could just as easily be some other functions of (x). It’s just that one advantage which polynomials have, is that if there is some scaling of (x), it’s possible to define a scaled parameter (t = ux) such that a corresponding polynomial in terms of (t) can do what our polynomial in terms of (x) did. If the base value was ( sin(x) ) , then ( sin(t) ) could not simply take its place. This is important to note if we are trying to approximate orbital motions of planets for example.
But then as soon as we’ve computed our best-fitting vector of coefficients, we can treat them as constants again, so that to plug in different values of (x) which did not occur in the original data-set, will also yield the corresponding, predicted values of (y’). So now (x) and (y’) are our variables again.