# DenseUPolyRing

© 2007 Anna Bigatti
GNU Free Documentation License, Version 1.2

- User documentation for DenseUPolyRing
  - Pseudo-constructors
  - Query and cast
  - Operations on a DenseUPolyRing
- Maintainer documentation for DenseUPolyRing
- Bugs, Shortcomings and other ideas

CoCoALib Documentation Index

## User documentation for DenseUPolyRing

`DenseUPolyRing` is an abstract class (inheriting from `PolyRing`) representing rings of univariate polynomials written with *dense representation*: a polynomial is viewed abstractly as a vector of coefficients (belonging to the coefficient ring). Indices are `long`. All meaningful coefficients are in the positions 0 to `deg`. Between deg+1 and size-1 the coefficients are guaranteed to be valid and valued 0.

Zero polynomial is represented with `myDegPlus1 = 0`.

See `RingElem` DenseUPolyRing for operations on its elements.

### Pseudo-constructors

- `NewPolyRing_DUP(CoeffRing)` -- default indet name is `x`
- `NewPolyRing_DUP(CoeffRing, IndetName)`
- `NewPolyRing_DUP(CoeffRing, IndetName, MinCapacity)` -- allows to specify the minimum capacity for the coefficient vector (in order to minimize reallocations)

### Query and cast

Let `R` be an object of type `ring`.

- `IsDenseUPolyRing(R)` -- `true` if `R` is actually `DenseUPolyRing`
- `AsDenseUPolyRing(R)` -- if `R` is a `DenseUPolyRing` view it as such

### Operations on a DenseUPolyRing

See `PolyRing` operations.

## Maintainer documentation for DenseUPolyRing

## Bugs, Shortcomings and other ideas