Idempotence

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article ne cite pas suffisamment ses sources (mars 2021).

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».

En pratique : Quelles sources sont attendues ? Comment ajouter mes sources ?

En mathématiques et en informatique, l'idempotence signifie qu'une opération a le même effet qu'on l'applique une ou plusieurs fois. Par exemple, la valeur absolue est idempotente : | | − 5 | | = | − 5 | {\textstyle \left\vert \left\vert -5\right\vert \right\vert =\left\vert -5\right\vert } , les deux membres étant égaux à 5. On retrouve ce concept en algèbre générale, en particulier dans la théorie des opérateurs de projection et des opérateurs de clôture, mais aussi en informatique, en particulier en programmation fonctionnelle.

En mathématiques

Définition

Un élément x d'un magma (M, •) est dit idempotent si, :

x • x = x.

Si tous les éléments de M sont idempotents pour •, alors • est dite idempotente.

Exemples

En informatique

En informatique, le terme peut avoir un sens différent selon le contexte, mais reste néanmoins proche du sens mathématique :

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.

Autre exemple : le tri d'une liste d'éléments est une procédure idempotente. Une fois la liste triée, le fait de la trier à nouveau ne changera pas l'ordre des éléments ; la liste ne sera donc pas modifiée.

Un script SQL d'insertion dans une base de 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.

Notes et références

  1. Alfred Doneddu, Polynômes et algèbre linéaire, 1976, p. 180, « Soit M un magma, noté multiplicativement. On nomme idempotent de M tout élément a de M tel que a2 = a. » 
  2. Robert J. Valenza, Linear Algebra: An Introduction to Abstract Mathematics, 2012, p. 22, « An element s of a magma such that ss = s is called idempotent. » 

Voir aussi