- Idempotence
-
En mathématiques et en informatique, le concept d’idempotence signifie essentiellement qu'une opération a le même effet qu'on l'applique une ou plusieurs fois, ou encore qu'en la réappliquant on ne modifiera pas le résultat. On la retrouve en algèbre générale, en particulier dans la théorie des opérateurs de projections et des opérateurs de clôture.
Sommaire
Définitions
Un élément a d'un anneau A est dit idempotent si
- a2 = a.
Une application f : E → E est idempotente si f o f = f, autrement dit si pour tout élément x de E, f ( f ( x ) ) = f ( x ).
Nombres idempotents
En considérant, dans ce paragraphe, l'opération multiplication on a :
Dans , 0 et 1 sont idempotents.
Endomorphismes idempotents
Si E est un espace vectoriel et u un endomorphisme idempotent de E, u est appelé projecteur. On l'interprète géométriquement comme la projection sur l'espace image de u, parallèlement au noyau de u. Tout projecteur est diagonalisable, avec valeurs propres 0 et 1.
En informatique
En informatique, le terme est utilisé pour décrire des fonctions, procédures, méthodes, routines ou scripts qui peuvent être appelées plusieurs fois sans problèmes car le système maintient le même état après une ou plusieurs invocations : toutes les variables gardent la valeur qu'elles avaient après la première invocation.
Par exemple : rechercher le nom d'un client dans une base de données est typiquement idempotent, car cela ne change pas la base de données. Passer une commande n'est pas idempotent, car plusieurs invocations résulteront en plusieurs commandes. Annuler une commande au contraire est idempotent car la commande reste annulée quel que soit le nombre d'invocations.
Un script SQL d'insertion dans une base données peut être écrit de manière à être idempotent: les commandes d'insertions peuvent être écrites avec des conditions empêchant la réinsertion de ces mêmes enregistrements. Ce script peut alors être exécuté plusieurs fois sur la même base de données sans aucun risque de duplication de données. Ceci est intéressant dans le cas d'un système qui évolue et qui nécessite de nouvelles insertions lors de nouvelles versions. Ceci permet également aux utilisateurs du logiciel de faire évoluer leur installation à leur rythme, sans devoir toujours passer de la version n à la version n+1.
Voir aussi
Wikimedia Foundation. 2010.