idlastro / Math and Statistics: TRANSFORM_COEFF

[Source code]

NAME
TRANSFORM_COEFF()
PURPOSE
Compute new polynomial coefficients under a linear transformation 
EXPLANATION
Suppose one has a (nonlinear) polynomial (similar to the POLY() function)
     y = C[0] + C[1]*x  + C[2]*x^2 + C[3]*x^3 + ...
 and one has a linear transformation in X
     x = alpha*x' + beta
This function computes the new polynomial coefficients under the linear
transformation. 
CALLING SEQUENCE
newcoeff = TRANSFORM_COEFF( coeff, alpha, beta)
INPUTS
Coeff  -  vector of polynomial coefficients (as with POLY()).    The 
    degree of the polynomial is N_elements(coeff) - 1
Alpha, Beta - numeric scalars defining the linear transformation in X 
OUTPUTS
NewCoeff - Vector (same size as Coeff) giving the new polynomial 
           coefficients
EXAMPLE
Suppose one has polynomial mapping a nonlinear distortion in the X 
direction of a spectrum
y = 0.2 + 1.1*x + 0.1*x^2
if one rebins the spectrum to half the size then the linear transformation
is  x = 2.*x'
so alpha = 2 and beta = 0
The new coefficients are
IDL> print, transform_coeff([0.2,1.1,0.1],2.,0) 
==> [0.2, 2.2, 0.4] 
METHOD
Performs a binomial expansion of the polynomial and collect like terms
groups.google.com/group/comp.lang.idl-pvwave/msg/11132d96d9c0f93d?hl=en&
REVISION HISTORY
Written   W. Landsman          December 2007