AST node for the z-transform: ztrans(x, n, z) in the grammar.
Computes the one-sided (unilateral) transform X(z) = sum(k >= 0) x[k]*z^-k via the rule table in zTransformOf. The summation binder n is excluded from children per the _Functional convention; z names the output variable and appears free in the result.
One-sided rather than bilateral by design, matching laplace, which is itself unilateral. A bilateral transform would have to carry a region of convergence on every result — without one the same X(z) inverts to a causal or an anti-causal signal, so the inverse would have to guess — and that is deferred as future work.
eval applies zTransformOf and guards against the fixpoint (stays symbolic when the rule table cannot reduce the expression), the convention shared with _Laplace.
Value parameters
n
the discrete index variable (binder -- excluded from children)
x
the sequence expression to transform, in terms of the index n
z
the complex frequency variable (free in the result)