# Introduction à Maple/Bibliothèques de fonctions
## Introduction

Les capacités en programmation et en résolution de Maple peuvent être étendues, au moyen de bibliothèques de fonctions. Certaines sont fournies d'office avec le logiciel, et permettent de réaliser des tâches aussi diverses que, par exemple :
* tracer des objets 3D ;
* réaliser des animations ;
* diagonaliser une matrice ;
* calculer la transformée de Fourier rapide ;
Dans ce bref chapitre, nous présentons les principales bibliothèques de fonctions et donnons quelques exemples d'application.

## Charger une bibliothèque

Les bibliothèques de fonctions peuvent s'utiliser de deux manières :
* de manière globale : on charge les fonctions une fois pour toutes au début de la feuille, on pourra ensuite les utiliser comme des fonctions standard ;
* de manière ponctuelle : on ne charge que la fonction désirée, mais il faut le faire à chaque fois qu'on l'utilise.
Chacune a ses avantages, la première est souvent préférée du fait qu'elle économise beaucoup de réflexion. Pour charger une bibliothèque globalement, on utilise l'instruction with :
    with(nom de la bibliothèque) ;
Par exemple, with(plots) charge la bibliothèque des fonctions de tracé (que nous étudierons plus en détail plus bas). Maple affiche la liste des fonctions ajoutées.
Pour, en revanche, charger une fonction ponctuellement, on utilise la syntaxe suivante :
    bibliothèque[nom de la fonction] ;
Par exemple : plots[pointplot] utilise la fonction pointplot de la bibliothèque plots. Dans toute la suite, on assumera que la bibliothèque a été chargé par la première méthode (globale).

## Utiliser les fonctions

Pour utiliser une fonction, on fait comme pour n’importe quelle fonction de base. La syntaxe précise est généralement indiquée :
* dans l'aide, lorsque la bibliothèque est fournie ;
* dans la documentation, lorsqu'elle n’est pas de base.
Par exemple, la fonction matrix de la bibliothèque linalg peut être utilisée de la manière suivante (comme nous l'avons vu dans le chapitre concerné) :

## Les bibliothèques usuelles
### Tracés (plots)

La bibliothèque plots permet d’utiliser des fonctions de tracé avancé. Entre autres :
* pointplot : permet de tracer des graphes à partir de listes de points ;
* plot3D : permet de tracer des surfaces ;
* animate : permet de mettre en place des animations ;
* display : permet de superposer des tracés ;
* implicitplot : permet de tracer une courbe définie implicitement (par exemple : x² + y² = 3).

### Algèbre linéaire (linalg)

La bibliothèque linalg permet de travailler avec des vecteurs, des matrices, etc. On retrouve les commandes :
* vector : permet de définir un vecteur selon ses coordonnées ;
* sumbasis : permet de calculer des bases de la somme de deux espaces vectoriels ;
* intbasis : permet de calculer des bases de l'intersection de deux espaces vectoriels ;
* matrix : permet de définir une matrice, cette commande prend en paramètres la taille de la matrice ainsi qu'une liste ;
* multiply : permet de multiplier deux matrices entre elles ;
* transpose : permet de calculer la transposée d'une matrice ;
* inverse : permet de calculer l'inverse d'une matrice ;
* trace : permet de calculer la trace d'une matrice ;
* det : permet de calculer le déterminant d'une matrice ;
* rank : permet de calculer le rang d'une matrice ;
* kernel : permet de calculer le noyau d'une matrice ;
* colspace : permet de calculer l'image d'une matrice ;

### Équations différentielles (DEtools)
## Résumé

| Procédures | Opérations sur les fichiers |