Ακολουθίες Sturm : sturmseq

### 1.25.17 Ακολουθίες `Sturm` : `sturmseq`

`sturmseq` παίρνει ως όρισμα, μια πολυωνυμική παράσταση P ή ένα ρητό κλάσμα P/Q και επιστρέφει τη λίστα των ακολουθιών `Sturm` των `square-free` παραγόντων του P (ή του P/Q). (Σημείωση: Οι `square-free` παράγοντες έχουν (απλές) ρίζες με πολλαπλότητα 1.) Αν F ένας `square-free` παράγοντας, η ακολουθία `Sturm` R1,R2,... γίνεται από τα F, F′ από μια αναδρομική σχέση :

- Το R1 είναι το αντίθετο του υπολοίπου της Ευκλείδειας διαίρεσης του F από το F′ μετά,
- το R2 είναι το αντίθετο του υπολοίπου της Ευκλείδειας διαίρεσης του F′ από το R1,
- ...
- και ούτω καθεξής μέχρι Rk=0.

Είσοδος :

`sturmseq(2*x```^```3+2)`

ή

`sturmseq(2*y```^```3+2,y)`

Έξοδος :

`[2,[[1,0,0,1],[3,0,0],-9],1]`

Ο πρώτος όρος δίνει το `"`περιεχόμενο `"` (τον `gcd` των συντελεστών) του αριθμητή (εδώ 2), έπεται η ακολουθία `Sturm` [x3+1,3x2,−9] και ο τρίτος όρος είναι το περιεχόμενο του παρανομαστή (εδώ 1).
Είσοδος :

`sturmseq((2*x```^```3+2)/(3*x```^```2+2),x)`

Έξοδος :

`[2,[[1,0,0,1], [3,0,0],-9], 1, [[3,0,2],[6,0],-72]]`

Ο πρώτος όρος δίνει το περιεχόμενο του αριθμητή (εδώ 2), έπεται η ακολουθία `Sturm` του αριθμητή ([[1,0,0,1], [3,0,0], -9]), μετά είναι το περιεχόμενο του παρονομαστή (εδώ 1) και στο τέλος έχουμε την ακολουθία `Sturm` του παρονομαστή ([[3,0,2], [6,0], -72]). Σαν παραστάσεις, η [x3+1,3x2, −9] είναι η ακολουθία `Sturm` του αριθμητή και η [3x2+2,6x,−72] είναι η ακολουθία `Sturm` του παρονομαστή.
Είσοδος :

`sturmseq((x```^```3+1)```^```2,x)`

Έξοδος :

`[1,1]`

Είσοδος :

`sturmseq(3*(3*x```^```3+1)/(2*x+2),x)`

Έξοδος :

`[3,[[3,0,0,1],[9,0,0],-81],2,[[1,1],1]]`

Ο πρώτος όρος δίνει το περιεχόμενο του αριθμητή (εδώ `3`),
ο δεύτερος όρος δίνει την ακολουθία `Sturm` του αριθμητή (εδώ `3x```^```3+1, 9x```^```2, -81`),
ο τρίτος όρος δίνει το περιεχόμενο του παρονομαστή (εδώ `2`),
ο τέταρτος όρος δίνει την ακολουθία `Sturm` του παρονομαστή (εδώ `x+1,1`).
Προσοχή !!!!
Το P ορίζεται απ’ τη συμβολική του παράσταση.
Είσοδος :
`sturmseq([1,0,0,1],x)`,
Έξοδος :
`Bad argument type ( =` `Κακός τύπος ορίσματος``)`.