InvariantEn matemàtiques, un invariant és una propietat sostinguda per un tipus d'objectes matemàtics que no canvien davant de transformacions. Més formalment una entitat es considera invariant sota un conjunt de transformacions si la imatge transformada de l'entitat és indistingible de l'entitat original. La propietat de ser invariant es coneix com a invariància. El descobriment d'invariància és un pas important en el procés de classificació dels objectes matemàtics. La invariància s'utilitza en diverses àrees de les matemàtiques, com per exemple la geometria, la topologia i l'àlgebra. Algunes transformacions es defineixen amb una invariant, com per exemple els mapes de conformació que es defineixen com les transformacions del pla que conserven els angles. El descobriment de l'invariant és un pas important en el procés de la classificació dels objectes matemàtics. Exemples senzills
Els angles i les raons de les distàncies són invariants sota escales, rotacions, translacions i reflexions. Quan es fan aquestes transformacions es donen casos similars, que és la base de la trigonometria. Tots els cercles són similars pel que es pot transformar en si i la relació entre la circumferència i el diàmetre és invariable i igual a pi. Invariància en físicaUna noció física fonamental és la d'observador. En totes les teories físiques es pressuposa l'existència d'algun tipus de realitat objectiva i un nombre potencialment infinit d'observadors diferents capaços d'observar i mesurar aquesta realitat. Totes les teories físiques inclouen l'axioma o principi d'objectivitat segons el qual encara que diferents observadors poden arribar a mesures diferents de la mateixa realitat objectiva, totes elles són relacionables mitjançant regles generals, és a dir, l'objectivitat del món material es reflecteix en la intersubjectivitat de les mesures físiques. Pot demostrar que l'existència d'intersubjectivitat de les mesures fa que poden formar-se certes expressions matemàtiques que relacionen les mesures que són invariants en forma. Invariància en programacióUn invariant és una condició o propietat que es manté certa en certs punts del programa, com per exemple, descriure l'estat de les variables d'un bucle abans que se n'avaluï la seva condició. S'usa sobretot en la depuració de programes en les últimes fases del seu desenvolupament o en modificar codi existent (prova de regressió). Per exemple, els compiladors analitzen l'invariant d'un bucle per saber com paral·lelitzar-lo o vectorialitzar-lo. Hi ha casos d'optimització en els que podem fer servir l'invariant d'un bucle per treure aquesta part a fora i vagi més rapid. Un altre exemple seia per passar una funció recursiva a iterativa. Un algorisme pot ser trivial formular-lo com un procés recursiu, però no ser tan clar com fer-lo iteratiu (Mètode de Burstall).
/* INVARIANT I*/ While (C){ S; /*INVARIANT I*/ } -En el codi l'invariant "I" es compleix abans d'executar-se la primera iteració i just després de cada una d'elles. -A "S" es modifica el valor de les variables però mantenen la relació definida entre elles per l'invariant "I". -Quan el bucle arriba al final, també ho fa complint l'invariant "I". -- Vegeu també |