Κινέζικα υπόλοιπα : chinrem

### 1.25.13 Κινέζικα υπόλοιπα : `chinrem`

`chinrem` παίρνει δύο λίστες ως ορίσματα, κάθε λίστα αποτελούμενη από δύο πολυώνυμα (είτε παραστάσεις είτε λίστες συντελεστών σε φθίνουσα τάξη). Εάν τα πολυώνυμα είναι παραστάσεις, ένα προαιρετικό 3ο όρισμα μπορεί να παρέχεται για να καθορίσει την κύρια μεταβλητή — από προεπιλογή χρησιμοποιείται η `x` .
`chinrem([A,R],[B,Q])` επιστρέφει μια λίστα δύο πολυωνύμων, του `P` και του `S`, τέτοια ώστε :

S=R.Q, P=A (mod R ), P=B (mod Q )

Εάν `R` και `Q` είναι πρώτα μεταξύ τους, μια λύση `P` υπάρχει πάντα και όλες οι λύσεις είναι ισοδύναμες `modulo S=R*Q`. Για παράδειγμα, υποθέστε ότι θέλουμε να λύσουμε :

| `⎧ ⎨ ⎩` |
`P(x)=` | `x` | `mod``(x``2``+1)`
`P(x)=` | `x-1` | `mod``(x``2``-1)`

Είσοδος :

`chinrem([[1,0],[1,0,1]],[[1,-1],[1,0,-1]])`

Έξοδος :

`[[1/-2,1,1/-2],[1,0,0,0,-1]]`

ή :

`chinrem([x,x```^```2+1],[x-1,x```^```2-1])`

Έξοδος :

`[1/-2*x```^```2+x+1/-2,x```^```4-1]`

Επομένως, P(x)=−x2−2.x+1/2 (mod x4−1)
Άλλο παράδειγμα, εισάγετε:

`chinrem([[1,2],[1,0,1]],[[1,1],[1,1,1]])`

Έξοδος :

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

ή :

`chinrem([y+2,y```^```2+1],[y+1,y```^```2+y+1],y)`

Έξοδος :

`[-y```^```3-y```^```2+1,y```^```4+y```^```3+2*y```^```2+y+1]`