# SparsePolyOps-SturmSeq

* © 2017 John Abbott, Anna M. Bigatti*

GNU Free Documentation License, Version 1.2

CoCoALib Documentation Index
## Examples

## User documentation

This file offers two functions: `SturmSeq`

and `NumRealRoots`

.

### Operations

Let `f`

be a `RingElem`

whose value is a univariate polynomial
with rational coefficients.

`SturmSeq(f)`

-- returns a `vector<RingElem>`

being the Sturm sequence of the polynomial `f`

(in order of decreasing degree)
`NumRealRoots(f)`

-- returns a `long` being the number of real roots ``f`

has.

## Maintainer documentation

The implementation is naive and simple; this is OK for small examples.
Currently it computes a primitive PRS; seems adequate for smallish tests.

## Bugs, shortcomings and other ideas

Clears denominators, but I'm not sure why `content`

works.

## Main changes

**2017**

- November (v0.99561): first release