There are also a number of variants of the theorem, that extend the idea of factorization in some ring R as *u*.*w*, where *u* is a unit and *w* is some sort of distinguished **Weierstrass polynomial**. C.L. Siegel has disputed the attribution of the theorem to Weierstrass, saying that it occurred under the current name in some of late nineteenth century *Traités d'analyse* without justification.

For one variable, the local form of an analytic function f(*z*) near 0 is *z*^{k}g(*z*) where g(0) is not 0, and *k* is the order of zero of f at 0. This is the result the preparation theorem generalises.
We pick out one variable *z*, which we may assume is first, and write our complex variables as (*z*, *z*_{2}, ..., *z _{n}*). A

*z ^{k}* + g

where g_{i}(*z*_{2}, ..., *z _{n}*) is analytic and g

Then the theorem states that for analytic functions f, if f(0, ...,0) = 0, but f(*z*, *z*_{2}, ..., *z _{n}*) as a power series has some term not involving

f(*z*, (0, ..., 0)) (0, ..., 0)) ) = W(z)h(*z*, *z*_{2}, ..., *z _{n}*)

with h analytic and h(0, ..., 0) = 0, and W a Weierstrass polynomial.

This has the immediate consequence that the set of zeroes of f, near (0, ..., 0), can be found by fixing any small value of *z* and then solving W(*z*). The corresponding values of *z*_{2}, ..., *z _{n}* form a number of continuously-varying

There is a deeper preparation theorem for smooth functions, due to Malgrange.