4 svar
203 visningar
mrlill_ludde är nöjd med hjälpen
mrlill_ludde 1047 – Fd. Medlem
Postad: 20 jan 2019 12:46

Hitta alla lösningar x till ekvationerna med modul

Så när det kommer till sånna här typ av uppgifter, så ska man börja med att se vad den största gemensamma Delaren är? om den är 1, så kan man alltid göra den med invseren? Vill någon visa hur? 

AlvinB 4014
Postad: 20 jan 2019 14:26 Redigerad: 20 jan 2019 14:28

Om vi har en kongruensekvation axb (modn)ax\equiv b\ \pmod{n} skulle vi ju gärna hitta en invers a-1a^{-1} modulo nn sådan att a-1·a1 (modn)a^{-1}\cdot a\equiv1\ \pmod{n} och därefter enkelt lösa ekvationen genom:

axb (modn)ax\equiv b\ \pmod{n}

a-1·axa-1·b (modn)a^{-1}\cdot ax\equiv a^{-1}\cdot b\ \pmod{n}

xa-1·b (modn)x\equiv a^{-1}\cdot b\ \pmod{n}

Det stora problemet med detta är att det inte alltid går att finna inversen a-1a^{-1} beroende på vilket nn-värde vi har. Det är nämligen så att det bara går att finna en invers a-1a^{-1} modulo nn om gcd(a,n)=1\gcd(a,n)=1.

Om den största gemensamma delaren inte är 11 får vi skriva om kongruensekvationen på formen:

ax=b+n·kax=b+n\cdot k

där kk\in\mathbb{Z}. Eftersom GCD inte är 1 finns det någon gemensam delare dd större än ett i både aa och nn. Om vi delar båda led på denna största gemensamma delare dd får vi då:

ad·x=bd+nd·k\dfrac{a}{d}\cdot x=\dfrac{b}{d}+\dfrac{n}{d}\cdot k

Eftersom dd är delare till både aa och nn är det säkert att a/da/d och n/dn/d blir heltal. Däremot är det inte säkert att b/db/d är ett heltal. Om det inte är ett heltal har ekvationen inga lösningar (som med den andra ekvationen i ditt exempel).

Om b/db/d å andra sidan är ett heltal kan vi omvandla ekvationen:

ad·x=bd+nd·k\dfrac{a}{d}\cdot x=\dfrac{b}{d}+\dfrac{n}{d}\cdot k

till kongruensekvationen:

a/d·xb/d (modn/d)a/d\cdot x\equiv b/d\ \pmod{n/d}

eftersom vi nu dividerat bort den största gemensamma delaren dd vet vi att gcd(a/d,n/d)=1\gcd(a/d,n/d)=1 och därmed går det att finna en invers till a/da/d och på så sätt ta fram lösningarna.

mrlill_ludde 1047 – Fd. Medlem
Postad: 20 jan 2019 15:56
AlvinB skrev:

Om vi har en kongruensekvation axb (modn)ax\equiv b\ \pmod{n} skulle vi ju gärna hitta en invers a-1a^{-1} modulo nn sådan att a-1·a1 (modn)a^{-1}\cdot a\equiv1\ \pmod{n} och därefter enkelt lösa ekvationen genom:

axb (modn)ax\equiv b\ \pmod{n}

a-1·axa-1·b (modn)a^{-1}\cdot ax\equiv a^{-1}\cdot b\ \pmod{n}

xa-1·b (modn)x\equiv a^{-1}\cdot b\ \pmod{n}

Det stora problemet med detta är att det inte alltid går att finna inversen a-1a^{-1} beroende på vilket nn-värde vi har. Det är nämligen så att det bara går att finna en invers a-1a^{-1} modulo nn om gcd(a,n)=1\gcd(a,n)=1.

Om den största gemensamma delaren inte är 11 får vi skriva om kongruensekvationen på formen:

ax=b+n·kax=b+n\cdot k

där kk\in\mathbb{Z}. Eftersom GCD inte är 1 finns det någon gemensam delare dd större än ett i både aa och nn. Om vi delar båda led på denna största gemensamma delare dd får vi då:

ad·x=bd+nd·k\dfrac{a}{d}\cdot x=\dfrac{b}{d}+\dfrac{n}{d}\cdot k

Eftersom dd är delare till både aa och nn är det säkert att a/da/d och n/dn/d blir heltal. Däremot är det inte säkert att b/db/d är ett heltal. Om det inte är ett heltal har ekvationen inga lösningar (som med den andra ekvationen i ditt exempel).

Om b/db/d å andra sidan är ett heltal kan vi omvandla ekvationen:

ad·x=bd+nd·k\dfrac{a}{d}\cdot x=\dfrac{b}{d}+\dfrac{n}{d}\cdot k

till kongruensekvationen:

a/d·xb/d (modn/d)a/d\cdot x\equiv b/d\ \pmod{n/d}

eftersom vi nu dividerat bort den största gemensamma delaren dd vet vi att gcd(a/d,n/d)=1\gcd(a/d,n/d)=1 och därmed går det att finna en invers till a/da/d och på så sätt ta fram lösningarna.

 Jaa okej, så lite Euikliders algoritm? och det gäller samma regler vid modolo inverser som matris division? 

AlvinB 4014
Postad: 20 jan 2019 16:07 Redigerad: 20 jan 2019 16:17

Ja, det finns lite likheter med Euklides algoritm, men det här behöver vi faktiskt bara göra en gång ifall gcd(a,n)1\gcd(a,n)\neq1 eftersom vi dividerar bort alla gemensamma faktorer på en gång när vi dividerar med största gemensamma delaren. I Euklides algoritm kan man ju behöver upprepa stegen många gånger.

Du har rätt i att det här med invers är lite likt vad man gör när man löser matrisekvationer. Om matrisen är inverterbar (d.v.s. determinanten är nollskild) multiplicerar vi med inversen i båda led, annars måste vi göra något annat (Gausselimination).

På liknande sätt är det här, om aa är inverterbart modulo nn (d.v.s. största gemensamma nämnaren är ett) multiplicerar vi med inversen i båda led, annars måste vi göra något lite krångligare (dividera med gcd(a,n)\gcd(a,n)). Dock skulle jag inte säga att reglerna är samma.

mrlill_ludde 1047 – Fd. Medlem
Postad: 20 jan 2019 17:43
AlvinB skrev:

Ja, det finns lite likheter med Euklides algoritm, men det här behöver vi faktiskt bara göra en gång ifall gcd(a,n)1\gcd(a,n)\neq1 eftersom vi dividerar bort alla gemensamma faktorer på en gång när vi dividerar med största gemensamma delaren. I Euklides algoritm kan man ju behöver upprepa stegen många gånger.

Du har rätt i att det här med invers är lite likt vad man gör när man löser matrisekvationer. Om matrisen är inverterbar (d.v.s. determinanten är nollskild) multiplicerar vi med inversen i båda led, annars måste vi göra något annat (Gausselimination).

På liknande sätt är det här, om aa är inverterbart modulo nn (d.v.s. största gemensamma nämnaren är ett) multiplicerar vi med inversen i båda led, annars måste vi göra något lite krångligare (dividera med gcd(a,n)\gcd(a,n)). Dock skulle jag inte säga att reglerna är samma.

 Tack så mkt

Svara Avbryt
Close