So for e.g. polynomials (uni- and multivariate), Laurent (m)polyinomaisl, free associative algebras and more, the respective docs/src/*.md files should explicitly mention these.
The point is that users and implementors should be able to look up and explicitly know whether coefficient_ring etc. are (supposed to be) implemented for some kind of rings. (Note that in many cases, we also document explicitly for these rings types that base_ring returns "the coefficient ring". So next to those spots would be a natural place for the new text.
Note that we have the following blanket mention in docs/src/extending_abstractalgebra.md where the docstrings are included, and one could link to that in each case.
### Acquiring associated elements and parents
Further, if one has a base ring, like polynomials over the integers
$\mathbb{Z}[x]$, then one should implement
```@docs
base_ring
base_ring_type
```
If there is a well-defined notion of a coefficient ring (e.g. in the case of
polynomial rings or modules), then one should implement
```@docs
coefficient_ring
coefficient_ring_type
```
```
So for e.g. polynomials (uni- and multivariate), Laurent (m)polyinomaisl, free associative algebras and more, the respective
docs/src/*.mdfiles should explicitly mention these.The point is that users and implementors should be able to look up and explicitly know whether
coefficient_ringetc. are (supposed to be) implemented for some kind of rings. (Note that in many cases, we also document explicitly for these rings types thatbase_ringreturns "the coefficient ring". So next to those spots would be a natural place for the new text.Note that we have the following blanket mention in
docs/src/extending_abstractalgebra.mdwhere the docstrings are included, and one could link to that in each case.