21
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO ÁLGEBRA LINEAL PRACTICA 1: SISTEMAS DE ECUACIONES LINEALES INTEGRANTES: MORA GUARDADO DANIEL SORIA ZÚÑIGA BRIAN ISAAC SANTOYO LÓPEZ OSCAR SAID GRUPO: 1CM2 PROFESOR: IVÁN GIOVANNY MOSSO GARCÍA

algoritmo gauss-jordan en c

  • Upload
    mc-slos

  • View
    269

  • Download
    3

Embed Size (px)

DESCRIPTION

algoritmo gauss-jordan en c para campos primos

Citation preview

INSTITUTO POLITCNICO NACIONAL ESCUELA SUPERIOR DE CMPUTO LGEBRA LINEAL PRACTICA 1: SISTEMAS DE ECUACIONES LINEALES INTEGRANTES: MORA GUARDADO DANIEL SORIA ZIGA BRIAN ISAAC SANTOYO LPEZ OSCAR SAID GRUPO: 1CM2 PROFESOR: IVN GIOVANNY MOSSO GARCA CLCULO DEL INVERSO MULTIPLICATIVO MODULAR El campo finito de orden p es un conjunto de elementos

= {0, 1, 2, 1} y dos operacioneslasumayelproductomodulardefinidascomo: + = +y = .Enestaintroduccinnosconcentraremosen explicarcmoseobtieneelinversomultiplicativotalquealhacerlaoperacin: 1 = 1( ). El multiplicador modular inverso de un entero n mdulo p es un entero m tal que n-1 m (mod p) Esto significa que es el inverso multiplicativo en el anillo de los enteros mdulo p. Es equivalente a mn 1 (mod p) El multiplicador inverso de n mdulo p existe si y slo si n y p son coprimos.Siexisteelmultiplicadormodularinversodenmdulop,sepuededefinirla operacin de divisin entre n mdulo p mediante la multiplicacin por el inverso. Pararealizarelcalculodelinversomultiplicativoseutilizaunalgoritmollamado: ALGORITMO DE EUCLIDES O ALGORITMO EUCLIDIANO. A continuacin explicare en que consiste este algoritmo. Elmultiplicadormodularinversodenmdulopsepuedeobtenermediante el Algoritmo de Euclides. En particular, invocando el algoritmo extendido de Euclides con n y p como argumentos se obtiene una tripla (x,y,mcd(n,p)) tal que Si MCD(n, p)=1 entonces de donde es el inverso modular de n mdulo p. Si el MCD(n,p) 1 entonces no existeelmodularinverso.EstealgoritmoseejecutaenuntiempoO(log(p)2) (asumiendo que |n|pentoncespodemosexpresarncomon=qp+r.Esdecir 244=2*117+10 Paso 2: Como 117>10 entonces 117=11*10+7 Paso 3: Como 10>7 entonces 10=1*7+3 Paso 4: Como 7>3 entonces 7=2*3+1 Paso 5: Como 3>1 entonces 3=1*3+0 De esta forma demostramos que mcd(244,117)=1 Paso 6: Del paso 4 despejo el resto (el nmero que queda a la derecha de la suma), quedando 1=7-3*2 Paso 7:Delpaso 3despejo elrestoquedando 3=10-1*7.Sisustituimosenla ecuacin del paso 6 tenemos 1=7-(10-1*7)*2=-2*10+3*7 Paso 8: Del paso 2 despejo el resto quedando 7=117-11*10. Si sustituimos en la ecuacin del paso 7 tenemos 1=-2*10+3(117-11*10)=3*117-35*10 Paso 9: Del paso 1 despejo el resto quedando 10=244-2*117. Si sustituimos en laecuacindelpaso8obtenemos1=3*117-35*(244-2*117)=-35*244+73*117. De esta ecuacin podemos decir que n-1=73 que es lo que queramos calcular. Paso 10: Si n-1 es negativo, el inverso n-1 se recalcula como n-1 + p. EL DISEO Paraempezareldiseodelalgoritmoempezamosprogramandoelalgoritmode Gauss-Jordan con base decimalen donde explicaremos algunas partes del cdigo. El cdigo se encargaba de revisar si el pivote era diferente de cero ya que si s lo era debamos cambiar las filas. if (A[i][i]==0){for(s=i+1;s