begin process at 2012 02 12 13:20:53
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > EXTENSION DE CORPS (MATH)

EXTENSION DE CORPS (MATH)


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Classé sous :corps, extension, fini, irréductible, générique Niveau :Débutant Date de création :15/01/2008 Vu / téléchargé :4 823 / 95

Auteur : JCDjcd

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


 Description

Voici un petite programme qui permet de gerer des corps de facon generique.
On peut obtenir des corps classiques comme les reels, les rationnels, ou
encore les corps finis Z/pZ (avec p premier). A partir de cela on peut
constuire des polynomes sur un corps, et puis faire des extensions de corps
a partir d'un polynome irreductible... on construit d'autres corps, comme
les complexes et des corps finis a 4,16,256,3,9,27... elements !!

Un petit detour dans le monde merveilleux des mathematiques :
Soit K un corps, et P un polynome irreductible de degre n sur K.
K[X] est l'anneau des polynomes a coefficients dans K. On note
K[X]/P la classe residuelle modulo P des polynomes de K[x],
autrement dit on considere seulement les restes des divisions
euclidiennes par P. (Autrement mathematiquement-pompeusement dit : on
quotiente l'ensemble K[X] par la relation d'equivalence A~B<=>P|A-B, et
on prend comme representant des classes d'equivalences le polynome de
degre strictement inferieur a n)

Noton L=K[X]/P cette ensemble. L est muni naturellement de l'addition,
soustraction, multiplication, regles d'associativite et de distributivite,
... et surtout de l'inverse (et donc de la division pour tout element non-nul)
La relation de bezout entre un polynome non-nul et P donne : XU+PV=PGCD(X,P)=1
car P est irreductible, dont premier avec tout polynome de degre strictement
inferieur a n. Ainsi "modulo P" on a XU=1, U est donc l'inverse de X dans L.
L est donc muni d'une structure de corps. Et L est un espace vectoriel sur K
de dimension n.

Dans le cas des corps finis, ceci montre que si K=Z/pZ, alors L est un corps
a p^n elements... reste a demontrer qu'il existe bien un polynome irreductible
de degre n... c'est un autre probleme !




La genericite du code pour la strucutre de corps ('FIELD') permet aisement de
construire c'est sur-corps, ce programme met bien en oeuvre l'utilisation
des extensions de corps.

C=R[X]/X^2+1 est le corps des complexes
Q[racine de deux] ) Q[X]/X^2-2
F16 = F2[X]/X^4+X+1 est le corps (a isomorphisme pres il est unique) a 16 elements

Source

  • ---------------
  • corps des reels
  • ---------------
  • x = +3.14159
  • y = +2.00000
  • x+y = +5.14159
  • x-y = +1.14159
  • x*y = +6.28319
  • x/y = +1.57080
  • -------------------
  • corps des complexes
  • -------------------
  • x = +0.000+1.000.i
  • y = +0.000+1.414.i
  • x+y = +0.000+2.414.i
  • x-y = +0.000-0.414.i
  • x*y = -1.414+0.000.i
  • x/y = +0.707+0.000.i
  • --------------------
  • corps des rationnels
  • --------------------
  • x = +1/3
  • y = -9/5
  • x+y = -22/15
  • x-y = +32/15
  • x*y = -3/5
  • x/y = -5/27
  • ----------
  • corps Z/7Z
  • ----------
  • x = 3
  • y = 6
  • x+y = 2
  • x-y = 4
  • x*y = 4
  • x/y = 4
  • ---------------------
  • polynomes (complexes)
  • ---------------------
  • A = (-1.000+0.000.i) + (+1.000+0.000.i).X^4
  • B = (+0.000+1.000.i) + (+1.000+0.000.i).X
  • A+B = (-1.000+1.000.i) + (+1.000+0.000.i).X + (+1.000+0.000.i).X^4
  • A*B = (+0.000-1.000.i) + (-1.000+0.000.i).X + (+0.000+1.000.i).X^4 + (+1.000+0.000.i).X^5
  • A/B = (+0.000+1.000.i) + (-1.000+0.000.i).X + (+0.000-1.000.i).X^2 + (+1.000+0.000.i).X^3
  • A%B = +0.000+0.000.i
  • -------------------------
  • bezout (Z/5Z) : A.U+B.V=G
  • -------------------------
  • A = (4) + (1).X + (4).X^2 + (1).X^3
  • B = (1).X + (1).X^2 + (1).X^3 + (1).X^4
  • U = (4) + (2).X
  • V = (3)
  • G = (1) + (1).X^2
  • ---------------------------------
  • extension de corps : C=R[X]/X^2+1
  • ---------------------------------
  • A = (+1.00000)
  • B = (+1.00000).j
  • A+B = (+1.00000) + (+1.00000).j
  • 1/(A+B) = (+0.50000) + (-0.50000).j
  • ------------------------------------------
  • extension de corps : Q[sqrt(2)]=Q[X]/X^2-2
  • ------------------------------------------
  • A = (+5/3)
  • B = (+1/1).sqrt(2)
  • A+B = (+5/3) + (+1/1).sqrt(2)
  • 1/(A+B) = (+15/7) + (-9/7).sqrt(2)
  • ---------------------------------------
  • extension de corps : F16=(Z/2Z)/X^4+X+1
  • ---------------------------------------
  • A^ 1 = (1).a
  • A^ 2 = (1).a^2
  • A^ 3 = (1).a^3
  • A^ 4 = (1) + (1).a
  • A^ 5 = (1).a + (1).a^2
  • A^ 6 = (1).a^2 + (1).a^3
  • A^ 7 = (1) + (1).a + (1).a^3
  • A^ 8 = (1) + (1).a^2
  • A^ 9 = (1).a + (1).a^3
  • A^10 = (1) + (1).a + (1).a^2
  • A^11 = (1).a + (1).a^2 + (1).a^3
  • A^12 = (1) + (1).a + (1).a^2 + (1).a^3
  • A^13 = (1) + (1).a^2 + (1).a^3
  • A^14 = (1) + (1).a^3
  • A^15 = (1)
  • A^16 = (1).a
  • B^ 1 = (1) + (1).a + (1).a^2
  • B^ 2 = (1).a + (1).a^2
  • B^ 3 = (1)
  • B^ 4 = (1) + (1).a + (1).a^2
---------------
corps des reels
---------------
   x   = +3.14159
   y   = +2.00000
   x+y = +5.14159
   x-y = +1.14159
   x*y = +6.28319
   x/y = +1.57080

-------------------
corps des complexes
-------------------
   x   = +0.000+1.000.i
   y   = +0.000+1.414.i
   x+y = +0.000+2.414.i
   x-y = +0.000-0.414.i
   x*y = -1.414+0.000.i
   x/y = +0.707+0.000.i

--------------------
corps des rationnels
--------------------
   x   = +1/3
   y   = -9/5
   x+y = -22/15
   x-y = +32/15
   x*y = -3/5
   x/y = -5/27

----------

corps Z/7Z
----------
   x   = 3
   y   = 6
   x+y = 2
   x-y = 4
   x*y = 4
   x/y = 4

---------------------
polynomes (complexes)
---------------------
   A   = (-1.000+0.000.i) + (+1.000+0.000.i).X^4
   B   = (+0.000+1.000.i) + (+1.000+0.000.i).X
   A+B = (-1.000+1.000.i) + (+1.000+0.000.i).X + (+1.000+0.000.i).X^4
   A*B = (+0.000-1.000.i) + (-1.000+0.000.i).X + (+0.000+1.000.i).X^4 + (+1.000+0.000.i).X^5
   A/B = (+0.000+1.000.i) + (-1.000+0.000.i).X + (+0.000-1.000.i).X^2 + (+1.000+0.000.i).X^3
   A%B = +0.000+0.000.i
-------------------------
bezout (Z/5Z) : A.U+B.V=G
-------------------------
   A = (4) + (1).X + (4).X^2 + (1).X^3
   B = (1).X + (1).X^2 + (1).X^3 + (1).X^4
   U = (4) + (2).X
   V = (3)
   G = (1) + (1).X^2
---------------------------------
extension de corps : C=R[X]/X^2+1
---------------------------------
   A       = (+1.00000)
   B       = (+1.00000).j
   A+B     = (+1.00000) + (+1.00000).j
   1/(A+B) = (+0.50000) + (-0.50000).j
------------------------------------------
extension de corps : Q[sqrt(2)]=Q[X]/X^2-2
------------------------------------------
   A       = (+5/3)
   B       = (+1/1).sqrt(2)
   A+B     = (+5/3) + (+1/1).sqrt(2)
   1/(A+B) = (+15/7) + (-9/7).sqrt(2)
---------------------------------------
extension de corps : F16=(Z/2Z)/X^4+X+1
---------------------------------------
   A^ 1 = (1).a
   A^ 2 = (1).a^2
   A^ 3 = (1).a^3
   A^ 4 = (1) + (1).a
   A^ 5 = (1).a + (1).a^2
   A^ 6 = (1).a^2 + (1).a^3
   A^ 7 = (1) + (1).a + (1).a^3
   A^ 8 = (1) + (1).a^2
   A^ 9 = (1).a + (1).a^3
   A^10 = (1) + (1).a + (1).a^2
   A^11 = (1).a + (1).a^2 + (1).a^3
   A^12 = (1) + (1).a + (1).a^2 + (1).a^3
   A^13 = (1) + (1).a^2 + (1).a^3
   A^14 = (1) + (1).a^3
   A^15 = (1)
   A^16 = (1).a
   B^ 1 = (1) + (1).a + (1).a^2
   B^ 2 = (1).a + (1).a^2
   B^ 3 = (1)
   B^ 4 = (1) + (1).a + (1).a^2


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture COLORATION SYNTAXIQUE
Source avec Zip Source avec une capture ORBITES DES SATELLITES GPS
Source avec Zip Source avec une capture DESSIN D'ARBRES
Source avec Zip Source avec une capture PROGRAMMATION LINEAIRE
Source avec Zip Source avec une capture CACUL (RAPIDE) DE PGCD

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture INFOTIP SHELL EXTENSION (BULLE DE L'EXPLORATEUR WINDOWS) (WI... par racpp
Source avec Zip Source avec une capture EXTENSION DU SHELL: MENU CONTEXTUEL EN C (WIN32 API) par racpp
Source avec Zip IMPLÉMENTATION D'UNE STRUCTURE DE DONNÉE DYNAMIQUE ET GÉNÉRI... par spiky31
[C] COMPARAISON GÉNÉRIQUE (OU COMMENT COMPARER DES ELEMENTS ... par LocalStone
Source avec Zip Source avec une capture DLL EXTENSION - DES LIENS DANS VOS APP par Joky

Commentaires et avis

Commentaire de GUIDARK le 07/05/2008 23:10:58 7/10

fun ! Vive les maths !

Commentaire de The Void le 17/07/2008 13:24:08

Salut,

La présentation mathématiques est très intéressante, notamment quotienter l'espace des polynômes pour avoir des inverses via Bezout, je ne connaissais pas...

Par contre peux tu mettre un executable (en renommant .ex)? le fichier .dsw ne semble pas être compatible avec ma version de VS, je n'arrive pas à compiler :s

Commentaire de Saros le 09/02/2010 18:44:52

Terrible !
J'avais des calculs à faire dans le corps à 7^3 éléments l'autre jour, programmer ça avec maple m'a demandé moult rations d'aspirine, si j'avais vu ce programme j'aurais fait des économies ^^

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

attendre que le shell soit fini C++ [ par McK_N ] Salut,je veux appeler la fonction Shell et je veux que mon programe arrête jusqu'à ce que le shell soit terminé.Comment puis-je le faire avec la fonct Afficher un dialog modal dans une dll d'extension... [ par MadPlop ] J'ai cree la DLL avec une classe de dialogue (avec la ressource de dialogue associee) et une autre classe. Les fonctions de ces classes fonctionnent s attribuer icone en fonction de l'extension [ par glipper ] Bonjour, Je suis en train de travailler sur un explorateur de fichier (du style 'l'explorateur windows'), et je cherche comment attribuer les bonnes demande une application en c++ pour automate a etat fini [ par hajimohamed1 ] salut tout le monde et surtout les developpeursje suis un developpeurs en c++ j'ai en ce moment un projet qui se resume de faire une application en c extension des devdays [ par sitesref ] les devdays de codes-sources. com s'étendront-elles au voisin francophone du nord, c'est-à-dire la Belgique ?ce serait une très bonne chose car cela p modifier l'extension d'un fichier [ par oudkaramla ] bonjour j'ai un soucis:j'ai un fichier dont le nom est contenu dans une variable de type char, le probleme est que je veux changer son extensionl'exte exports Shell Extension [ par guimou ] Hello tout le monde, j'ai un problème avec une Shell Extension. Les fonctions sont déclarées avec __stdcall et j'ai mis un .def avec le nom de la lib Apprenez moi des trucs [ par 01Dawi ] Bon je vous explique le topo.A l'origine je developpe sous visual basic. J'avais pratiquement fini un utilitaire melant dessin et texte. Bref je fini Classe liste chaînée générique [ par marik7335 ] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Salut &#224; tous, &nbsp; Je souhaite g&#233;rer un parc de v&#233;hicules contenant des motos et des voitures. File Extension [ par vez_from_hell ] Bonjourpour commencer je d&#233;veloppe un programme de texte (un peu comme bloc notes) mais je ne sais pas comment, lorsque j'enregistre un fichier,


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales