UnitsWV_2: Page Dimensions

Contenu du snippet

Bonjour,

Je n'ai pas trouvé d'articles où les opérations algébriques du Système International (SI) sont basés sur des structures mathématiques "solides" telles que le groupe ou le corps (ou d'un ensemble muni de lois de composition).
Toute référence à ce sujet est bienvenue !

L'annexe "Petit résumé du groupe ℤⁿ" ci-dessous peut vous aider à parcourir le texte (important et un peu compliqué) qui suit.

Les notions de "dimension" et de "dimension de base" me semblent primaires, alors que le SI se fonde plutôt sur celle de d'"unité de base".

Pour le moment, considérons simplement les dimensions comme des "ensembles de grandeurs" muni d'une loi de composition notée ▫, et qu'une grandeur appartient à une et une seule dimension.
 

Dimensions

Considérons les n symboles ℭ₁, ℭ₂, ..., ℭₙ que nous appeleront dimensions de base.

Soit 𝔻ⁿ le groupe abélien de type fini (ℤⁿ) généré par ces symboles.

Un élément d de 𝔻ⁿ peut donc être noté (multiplicativement avec l'opération ▫): d = ℭ₁ª¹▫ℭ₂ª²▫…▫ℭₙªⁿ (avec ªⁱ∊ℤ).
Lorsqu'un exposant ªⁱ est zéro, le terme ℭ₁ªⁱ peut être omis.

L'élément neutre de 𝔻ⁿ est 𝟙 = ℭ₁⁰▫ℭ₂⁰▫…▫ℭₙ⁰, et est bien sûr unique; il sert à définir l'élément inverse, et donc la division.

L'élément inverse de d = ℭ₁ª¹▫ℭ₂ª²▫…▫ℭₙªⁿ ∊ 𝔻ⁿ est d⁻¹ = ℭ₁⁻ª¹▫ℭ₂⁻ª²▫…▫ℭₙ⁻ªⁿ.
Nous avons bien: pour tout x∊𝔻ⁿ, il existe un élément x⁻¹ tel que x⁻¹▫x = x▫x⁻¹ = 𝟙.

Pour x ∊ 𝔻ⁿ, les expressions x⁻¹▫x et x▫x⁻¹ sont parfois utilisées pour désigner l'unique élément neutre 𝟙.
L'élément x⁻¹ (élément inverse de x) est souvent noté 𝟙/x.

Le cardinal (nombre d'éléments) de 𝔻ⁿ est infini !
   (sauf pour n = 0, car 𝔻⁰ est réduit à l'élément neutre 𝟙).
 

Exemple basé sur les 7 symboles de grandeurs de base du SI

Considérons le 𝔻⁷ engendré par les 7 symboles de grandeurs de base du SI L, M, T, I, Θ, N, J.

Donnons à quelques éléments de 𝔻⁷ (dont le cardinal est infini) les noms suivants:
L: {longueur}
M: {masse}
T: {temps}
   ...
L²: {aire}
L▫T⁻¹: {vitesse}
L▫T⁻²: {accélération}
L▫M▫T⁻²: {force}
L²▫M▫T⁻²: {travail}
   ...

Nous retrouvons les quelques "équations de définition" suivantes:
{aire} = {longueur} ▫ {longueur} = {longueur}².
{vitesse} = {longueur} / {temps}.
{accélération} = {vitesse} / {temps} = {longueur} / {temps}².
{force} = {masse} ▫ {accélération}.
{travail} = {longueur} ▫ {force}.

Les noms de ces dimensions correspondent à une grandeur "représentative" qu'elle contient.
Par exemple, les grandeurs: longueur, largeur, hauteur, rayon, distance, longueur d'onde, …, appartiennent toutes à la dimension {longueur}.

L'unique élément neutre 𝟙 = L⁰▫M⁰▫T⁰▫I⁰▫Θ⁰▫N⁰▫J⁰ de 𝔻⁷ (ou 𝔻ⁿ) est aussi appelé ensemble des grandeurs sans dimension.

On dit qu'un élément de 𝔻⁷ est dérivé d'une grandeur de base (c'est-à-dire d'un de ses symboles: L, M, T, I, Θ, N, J) lorsque l'exposant par rapport à ce symbole est non nul.
Exemples:
- L: {longueur} est dérivé de L (= L¹).
- L²▫M▫T⁻²: {travail} est dérivé de L, M et T.
- L'élément neutre 𝟙 = L⁰▫M⁰▫T⁰▫I⁰▫Θ⁰▫N⁰▫J⁰ n'est dérivé d'aucune grandeur de base.

Rappelons ici que dans tous les groupes, l'élément x/x = x▫x⁻¹ désigne l'unique élément neutre et n'est pas dérivé de x, ni d'un autre élément !!!

Le logiciel UnitsWV utilise actuellement 𝔻¹⁰ engendré par les 10 symboles Φ, Ω, L, M, T, I, Θ, N, J, C, qui inclut le 𝔻⁷ du SI.
 

UnitsWV: page dimensions

La liste des Dimensions correspond à celles qui ont un nom et qui sont générées par les dimensions de base actives.
Elle peut être triée selon les nom ( de gauche) ou selon les expressions formées des symboles de dimensions (ou unités) de base ( de droite).

La sélection d'une dimension affiche les trois listes suivantes.

La liste des équations de définition contient les équations qui sont de l'une des formes suivantes:
a) dim = dimA ▫ dimB
b) dim = dimA / dimB
c) dim = dimA   (en rouge)

Je pense y ajouter prochainement les équations de la forme:
d) dim = 𝟙 / (dimA ▫ dimB)
e) dim = dimAⁿ (comme par exemple {volume} = {longueur}³ )

Les équations de la forme c) montrent les dimensions devenues "égales" à cause de la neutralisation d'au moins un couple (grandeur: unité) de base.
Elles sont affichées en rouge car elles représentent des grandeurs non comparables comme par exemple, avec la base SI:
‥ {angle plan} = {angle solide} = (𝟙)   (élément neutre)
‥ {éclairement} = {luminance}
‥ {travail} = {moment d'une force}
‥ {volume} = {moment de résistance}

A l'extrême, en neutralisant tous les couples (grandeur: unité) de base actifs, toutes les dimensions deviennent "égales" à l'élément neutre 𝟙 !

La liste des grandeurs de la dimension
Affiche toutes les grandeurs de la dimension,
Le numéro d'ordre sera expliqué sous "Grandeurs".

La liste des unités de la dimension
Affiche les valeurs des unités (simples) des familles d'unités sélectionnées, par rapport à la composition adéquate d'unités de base (ou au symbole donné à cette composition.
Les égalités peuvent être "inversées" en cliquant sur <gros>↔</gras>.
 

Code de la page Dimensions

//// D.js: Dimensions
function D() {}
D.D=new Array(0); // Liste des dimensions

D.Ini=function() {
  D.ff=[6,5,4,7,0,1,2,3]; D.ee=[7,6,5,0,1,2,3,4];
  D.de=new Array(nbD); D.nn=new Array(Lng.mes.length); D.dd=S.SoD(D.b);
  D.sel=null; D.sd=-1; D.cln=1; D.iv=false;
  var i,b,d,e,z;
  for (i=0;i<nbD;i++) {
    e=0; b=0; z=1; d=D.b[i];
    do {if (d[b]!=0) e+=z; z<<=1;} while (++b<nbB);
    D.de[i]=e;
  }
};
D.Lng=function() {S.SoN(D.nn,D.D); D.Lst(D.cln);};
D.Lst=function(n) {
  var b=false,e,p=0,i,k,s='',dd=D.D[Lng.sel];
  D.k=(n==0)?D.nn[Lng.sel]:D.dd;
  for (i=0;i<nbD;i++) {
    k=D.k[i]; e=D.de[k];
    if ((e&bas)==e) {
      if (k==D.sd) {b=true; z="lS' id='ds";} else z="lN";
      s+="<div class='"+z+"' onclick='D.Clk(this,"+k+")'>{"+dd[k]
        +"}</br><div style='color:blue; float:left; width:120px'>     "
        +D.TxQ(D.b[k])+"</div><div style='color:red; float:left'>"
        +D.TxU(D.b[k])+"</div></div>";
    }
  }
  document.getElementById('Z2a').innerHTML=s; D.cln=n;
  document.getElementById('dma').style.backgroundColor=colSel[1-n];
  document.getElementById('dmb').style.backgroundColor=colSel[n];
  if (b) D.sel=document.getElementById('ds'); else {D.sel=null; D.sd=-1;}
  D.Upd()
};
D.Upd=function() {
  if (D.sel==null) return;
  var i,ii,j,k,kk,s,ds=D.b[D.sd],dl=D.D[Lng.sel],uu=U.U[Lng.sel],
    qq=Q.Q[Lng.sel],d,dd,da=new Array(nbB),db=new Array(nbB);
  document.getElementById('Z2b').innerHTML="<b>{"+dl[D.sd]+"}</b>";
  for (i=0,s='';i<nbD;i++) {
    k=D.k[i]; d=D.b[k];
    if (k==D.sd) continue;
    if (D.D1E(ds,d)) s+="<span style='color:red'> = {"+dl[k]+"}</span></br>";
    j=0; do {da[j]=ds[j]+d[j]; db[j]=ds[j]-d[j];} while (++j<nbB);
    ii=i; do {
      kk=D.k[ii]; dd=D.b[kk];
      if (kk==D.sd) continue;
      if (D.DiE(dd,db)) // ds-d= dd ==> ds=d+dd
        {s+=" = {"+dl[k]+"} ▫ {"+dl[kk]+"}</br>"; continue;}
      if (k==kk) continue;
      if (D.DiE(dd,da)) // ds+d= dd ==> ds=dd-d
        {s+=" = {"+dl[kk]+"} / {"+dl[k]+"}</br>"; continue;}
      if (D.DiX(dd,db)) // ds-d=-dd ==> ds=d-dd
        {s+=" = {"+dl[k]+"} / {"+dl[kk]+"}</br>"; continue;}
    } while (++ii<nbD);
  }
  document.getElementById('Z2c').innerHTML=s;
  i=0; s=""; do {k=Q.k[i];
    if (D.sd==Q.d[k])
      s+="<div style='overflow:hidden'><span style='font-size:10px'>"+Q.i[k]
      +"</span><span style='float:right; width:304px'>"+qq[k]+"</span></div>";
  } while (++i<nbQ);
  document.getElementById('Z2e').innerHTML=s;
  i=0; s=''; do {k=U.k[i];
    if ((D.sd==U.d[k])&&(fml&U.f[k])) s+="<div style='overflow:hidden'>"+uu[k]
      +"<span style='float:right; width:196px'>1 "
      +((D.iv)?D.TxU(D.b[D.sd])+" = "+(1/U.v[k]).si()
      +" "+U.s[k]:U.s[k]+" = "+U.v[k].si()
      +" "+D.TxU(D.b[D.sd]))+"</span></div>";
  } while (++i<nbU);
  document.getElementById('Z2g').innerHTML=s;
};
D.Clk=function(e,k) {
  if (D.sel!=null) D.sel.className='lN';
  e.className='lS'; D.sel=e; D.sd=k; D.Upd();
};
D.Inv=function() {D.iv=!D.iv; D.Upd();};
D.TxU=function(d) { // dim to text (base units)
  var i,k,m=1,z='';
  for (i=0;i<nbB;i++,m<<=1) if (((eq1&m)==0)&&((k=d[i])!=0))
    z+=((z!='')?'·':'')+B.s[i]+((k==1)?'':'<sup>'+k+'</sup>');
  return z;
};
D.TxQ=function(d) { // dim to text (base quantities)
  var i,k,m=1,z='';
  for (i=0;i<nbB;i++,m<<=1) if (((eq1&m)==0)&&((k=d[i])!=0))
    z+=((z!='')?'▫':'')+B.d[i]+((k==1)?'':'<sup>'+k+'</sup>');
  return z;
};
D.DiE=function(a,b) {
  for (var i=0;i<nbB;i++) if (a[i]!=b[i]) return false;
  return true;
};
D.ij1=function(i,j) {return (i==j)?true:D.D1E(D.b[i],D.b[j]);};
D.D1E=function(a,b) {
  for (var i=0,m=1;i<nbB;i++,m<<=1) if (((eq1&m)==0)&&(a[i]!=b[i])) return false;
  return true;
};
D.DiX=function(a,b) {
  for (var i=0;i<nbB;i++) if (a[i]!=-b[i]) return false;
  return true;
};
D.DiS=function(d,c) {
  var i,m,z="<span style='float:right; font-family:courier new;background-color:"
    +c+"; font-size:8pt'> ";
  for (i=0,m=1;i<nbB;i++,m<<=1) if ((eq1&m)!=0)
    z+="<span style='color:red'> 0</span>"; else z+=(d[i]<0)?d[i]:" "+d[i];
  return z+" </span>";
};

 
 
Bonne lecture et agréable utilisation …
 

Annexe: Petit résumé du groupe ℤⁿ

On appelle groupe un ensemble G muni d’une loi de composition (x,y) → x⊥y sur G tels que:
1. x⊥(y⊥z) = (x⊥y)⊥z (associativité).
2. Pour tout x∊G, il existe un élément e de G tel que x⊥e = e⊥x = x
   (existence de l’élément neutre).
3. Pour tout x∊G, il existe un élément x⁻¹ tel que x⁻¹⊥x = x⊥x⁻¹ = e
   (existence de l’élément inverse: définit la division).

Théorème: L’élément neutre d’un groupe est unique.
En effet, si e et e’ sont des éléments neutres de G, on a e’⊥e = e’ et e’⊥e = e , donc e = e’.

Remarques:
‥ un groupe est dit commutatif (ou abélien) si pour tout x,y on a: x⊥y = y⊥x.
‥ Il est dit trivial s'il est réduit au seul élément neutre.
‥ L'élément neutre est donné "avant tout", car il sert à définir les éléments inverses, et donc la "division".
‥ La notation x⊥x⁻¹ (ou x/x) n'est pas une "définition" de l'élément neutre, mais simplement un moyen de le désigner.
 
Soit ℤ l'ensemble des entiers relatifs: ℤ = {…,-2,-1,0,1,2,…}.

L'ensemble ℤⁿ = {(z₁,z₂,…,zₙ)}, où les zⱼ∊ℤ, muni de la loi de composition
   (x₁,x₂,…,xₙ) ▫ (y₁,y₂,…,yₙ) = (x₁+y₁,x₂+y₂,…,xₙ+yₙ)
définie ci-dessous, est le groupe abélien de type fini.

Soient 𝖟∊ℤⁿ et a,b∊ℤ. Posons:
𝖟ª = 𝖟 ▫ 𝖟 ▫ … ▫ 𝖟 (a facteurs)   si a > 0
  = eₙ = (0,0,…,0) (élément neutre souvent noté 1)   si a = 0
  = (𝖟⁻¹)⁻ª   si a < 0.
On a 𝖟ª▫𝖟ª = 𝖟ª⁺ª ;   (𝖟ª)⁻¹ = 𝖟⁻ª ;   (𝖟ª)ᵇ = 𝖟ªᵇ ;   𝖟¹ = 𝖟 ;   𝖟° = eₙ = 1.

Les éléments 𝖌₁ = (1,0,…,0), 𝖌₂ = (0,1,…,0), … , 𝖌ₙ = (0,0,…,1) sont les générateurs de ℤⁿ.
Tout élément 𝖟∊ℤⁿ peut s'écrire sous la forme: 𝖟 = 𝖌₁ᵃ¹▫𝖌₂ᵃ²▫…▫𝖌ₙᵃⁿ   (ªⁱ∊ℤ).

Remarques:
‥ ℤ° est un groupe trivial (qui ne comprend que l’élément neutre).
‥ On dit qu'un élément 𝖟 est dérivé du générateur 𝖌ᵢ si l'exposant correspondant ªⁱ est non nul;
   parfois, on exige aussi que 𝖟 soit différent de ce générateur.
‥ Un élément sera simplement dit dérivé s'il est dérivé d'au moins un générateur.
‥ L'élément neutre n'est pas dérivé.
 

Liens

CodeS-SourceS: UnitsWV: Dimensions, grandeurs et unités (SI*)
CodeS-SourceS: UnitsWV_0: Parties communes
CodeS-SourceS: UnitsWV_1: Page Base

Brochure sur le SI: Le Système international d'unités
SI Brochure: The International System of Units (SI)
Vocabulaire international de métrologie
Métrologie française: Les unités de mesure
METAS: Unités de mesure
Wikipédia: Unité de mesure
WikipédiA: Système international d'unités
WikipediA: International System of Units
WikipediA: Internationales Einheitensystem
NIST: International System of Units
 

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.