### 1.17.5 Παράγωγος και μερική παράγωγος

`diff` ή `derive` μπορεί να έχουν ένα ή δύο ορίσματα για τον υπολογισμό της παραγώγου πρώτης τάξης (ή της μερικής παραγώγου πρώτης τάξης) μιας παράστασης ή μιας λίστας παραστάσεων, ή περισσότερα ορίσματα για τον υπολογισμό της n-οστής μερικής παραγώγου μιας παράστασης ή μιας λίστας παραστάσεων.

#### Παράγωγος και μερική παράγωγος πρώτης τάξης : `diff derive deriver`

`diff` (ή `derive`) παίρνει δύο ορίσματα : μια παράσταση και μια μεταβλητή (αντίστοιχα, ένα διάνυσμα των ονομάτων των μεταβλητών) (δείτε συνάρτησεις πολλών μεταβλητών στο ??). Εάν δίνεται μόνο ένα όρισμα, η παράγωγος υπολογίζεται ως προς x
`diff` (ή `derive`) επιστρέφει την παράγωγο (αντίστοιχα ένα διάνυσμα παραγώγων ) της παράστασης ως προς τη μεταβλητή (αντίστοιχα ως προς κάθε μεταβλητή) που δίνεται ως δεύτερο όρισμα.
Παραδείγματα :

- Υπολογίστε :

  ∂ (x.y2.z3+x.y.z)
  ∂ z

  Είσοδος :
  `diff(x*y` ``^```2*z```^```3+x*y*z,z)`
  Έξοδος :
  `x*y```^```2*3*z```^```2+x*y`
- Υπολογίστε τις 3 μερικές παραγώγους πρώτης τάξης της παράστασης x*y2*z3+x*y*z.
  Είσοδος :
  `diff(x*y```^```2*z```^```3+x*y*z,[x,y,z])`
  Έξοδος :
  `[y```^```2*z```^```3+y*z, x*2*y*z```^```3+x*z, x*y```^```2*3*z```^```2+x*y]`

#### Παράγωγος και μερική παράγωγος n-οστής τάξης : `diff derive deriver`

`derive` (ή `diff`) μπορεί να πάρει παραπάνω από δύο ορίσματα : μια παράσταση και τα ονόματα των μεταβλητών παραγώγισης (κάθε μεταβλητή μπορεί να ακολουθείται από $n για να υποδεικνύει τον αριθμό n των παραγωγίσεων ).
`diff` επιστρέγει τη μερική παράγωγο της παράστασης ως προς τις μεταβλητές που δίνονται μετά το πρώτο όρισμα.

Ο συμβολισμός $ είναι χρήσιμος εάν θέλετε να παραγωγίσετε k φορές ως προς την ίδια μετβλητή. Αντί να εισάγετε k φορές το ίδιο όνομα της μεταβλητής, εισάγετε το όνομα μεταβλητής ακολουθούμενο από `$k`, για παράδειγμα `x$3` αντί του `(x,x,x)`. Κάθε μεταβλητή μπορεί να ακολουθείται από ένα $, για παράδειγμα `diff(exp(x*y),x$3,y$2,z)` είναι το ίδιο με `diff(exp(x*y),x,x,x,y,y,z)`
Παραδείγματα

- Υπολογίστε :

  ∂2 (x.y2.z3+x.y.z)
  ∂ x∂ z

  Είσοδος :
  `diff(x*y` ``^```2*z```^```3+x*y*z,x,z)`
  Έξοδος :
  `y```^```2*3*z```^```2+y`
- Υπολογίστε :

  ∂3 (x.y2.z3+x.y.z)
  ∂ x∂2 z

  Είσοδος :
  `diff(x*y` ``^```2*z```^```3+x*y*z,x,z,z)`
  ή είσοδος :
  `diff(x*y` ``^```2*z```^```3+x*y*z,x,z$2)`
  Έξοδος :
  `y```^```2*3*2*z`
- Υπολογίστε την τρίτη παράγωγο της :

  1
  x2+2

  Είσοδος :
  `normal(diff((1)/(x```^```2+2),x,x,x))`
  ή :
  `normal(diff((1)/(x```^```2+2),x$3))`
  Έξοδος :
  `(-24*x```^```3+48*x)/(x```^```8+8*x```^```6+24*x```^```4+32*x```^```2+16)`

Σχόλια

- Σημειώστε τη διαφορά μεταξύ `diff(f,x,y)` και `diff(f,[x,y])` :
  `diff`(f,x,y) επιστρέφει ∂2(f)/∂ x∂ y ενώ
  `diff`(f,[x,y]) επιστρέφει [∂(f)/∂ x,∂ (f)/∂ y]
- Μην ορίζετε ποτέ την συνάρτηση παραγώγου με `f1(x):=diff(f(x),x)`. Πράγματι, το `x` θα σήμαινε δύο διαφορετικά πράγματα με τα οποία το`Xcas` `αδυνατεί να χειρισθεί : το όνομα της μεταβλητής για τον ορισμό της συνάρτησης` `f``1``και τη μεταβλητή παραγώγισης. Ο σωστός τρόπος για τον ορισμό μιας συνάρτησης παραγώγου είναι είτε με την εντολή` `function_diff` `είτε:`
  `` `f1:=unapply(diff(f(x),x),x)```
  ``