Creation of Lazy Series Rings

Both univariate and multivariate lazy series rings can be created.

LazyPowerSeriesRing(C, n) : Rng, RngIntElt -> RngPowLaz
The lazy power series ring with coefficient ring C and n variables. Any ring is valid input for C and n can be any positive integer.
ChangeRing(L, C) : RngPowLaz, Rng -> RngPowLaz, Map
Given a lazy series ring L defined over a ring R and some ring C, return the lazy series ring with coefficient ring C but the same number of variables as L. A map from L to the new lazy series ring is also returned which takes a series s in L to a series whose coefficients are those of s coerced into C.

Example RngLaz_ring_create (H51E1)

Here we illustrate the creation and printing of lazy power series rings.
> L := LazyPowerSeriesRing(Rationals(), 5);
> L;
Lazy power series ring in 5 variables over Rational Field
> ChangeRing(L, MaximalOrder(CyclotomicField(7)));
Lazy power series ring in 5 variables over Maximal Equation Order with defining
polynomial x^6 + x^5 + x^4 + x^3 + x^2 + x + 1 over Z
V2.28, 13 July 2023