# Functions on Lazy Series Rings

Lazy series rings have variables, names for their variables and a coefficient ring.

## `R . i: RngPowLaz, RngIntElt -> RngPowLazElt`

The $i$th variable of the lazy power series ring $R$, where $i$ is between $1$ and the rank of $R$.

## `AssignNames(~R, S): RngPowLaz, [MonStgElt]`

Given a lazy series ring $R$ with $n$ indeterminates and a sequence $S$ of $n$ strings, assign the elements of $S$ to the names of the variables of $R$.

## `BaseRing(R): RngPowLaz -> Rng`

## `CoefficientRing(R): RngPowLaz -> Rng`

The coefficient ring of the lazy power series ring $R$. The coefficients of all the series in $R$ will lie in this ring.

## `Rank(R): RngPowLaz -> RngIntElt`

The number of variables associated with the lazy power series ring $R$.

## `R1 eq R2: RngPowLaz, RngPowLaz -> BoolElt`

Return `true` if the lazy series rings $R1$ and $R2$ are the same ring, that is, they have the same coefficient ring and rank.

## `Example: Ring Ops (ex-aee740)`

The functions on lazy power series rings are illustrated here.

```magma
> L := LazyPowerSeriesRing(FiniteField(73), 7);
> L.4;
Lazy power series
> AssignNames(~L, ["a", "b", "c", "d", "fifth", "sixth", "seventh"]);
> L.4;
Lazy power series

```

The names for the variables of $L$ are not used in default series printing. However they are used when printing an element to a given precision using [`PrintToPrecision`](elements.md#function-rnglaz-printtoprecision).

```magma
> CoefficientRing(L);
Finite field of size 73
> Rank(L);
7
> L eq LazyPowerSeriesRing(CoefficientRing(L), Rank(L));
true

```
