Seite 1 von 1

Toms minus fünf; -1, -2, -3, -5, -7, -11, -19, -43, -67, 163

Verfasst: 25. Sep 2010, 11:36
von wilfried
tag zusammen

Tom hat eine neue Signatur!

Gruß
Tomּ

d= -1, -2, -3, -5, -7, -11, -19, -43, -67, -163

die stört mich ein wenig...

wäre diese:

-163, -67, -43, -19, -11, -7, -3, -2, -1, 1, 2, 3, 5, 6, 7, 11, 13, 14, 17, 19, 21, 22, 23, 29, 31, 33, 37, 38, 41, 43, 46, 47, 53, 57, 59, 61, 62, 67, 69, 71, 73,

tät sie mich nicht stören

Toms minus fünf stört mich ... wo kommt die her??

Gruß

Wilfried

Re: Toms minus fünf

Verfasst: 25. Sep 2010, 11:44
von tomS
Also zunächst mal habe ich einen Bock geschossen; die "-5" ist tatsächlich grob falsch! Hab's jetzt korrigiert. Der Rest stimmt und wird bei Gelegenheit erklärt ...

Re: Toms minus fünf

Verfasst: 25. Sep 2010, 11:54
von wilfried
Gut,

dann verrat ich auch nichts :beer:

Gruß

Wilfried

Re: Toms minus fünf

Verfasst: 25. Sep 2010, 13:17
von tomS
Zu meiner neuen Signatur d= -1, -2, -3, -7, -11, -19, -43, -67, -163

Es handelt sich dabei um eine Aussage zu Primzahlensystemen; die o.g. Zahlen sind die sogenannten Heegner-Zahlen.

Betrachten wir zunächst die Primzahlen aus der Menge der ganzen Zahl Z, also {±2, ±3, ±5, ±7, …}. Natürlich benötigt man eigentlich keine negativen Zahlen, aber für das Folgende wird es dann etwas durchgängiger.

Man kann sich nun überlegen, ob es noch andere mathematische Strukturen gibt, die Additionen und Multiplikationen zulassen und in denen so etwas wie Primelemente definiert werden können. Die notwendigen algebraischen Strukturen sind sogenannte Ringe.

Man betrachtet zunächst mal die komplexen Zahlen mit z = a+ib, wobei a,b ganze Zahlen aus Z sind. Dann kann man natürlich eine Multiplikation definieren und bzgl. dieser Multiplikation Primzahlen definieren.

Zur Erinnerung: Eine Primzahl p sind Zahlen, die keine Teiler außer 1 und sich selbst hat. Die 1 (und in Z die -1) ist per Definition keine Primzahl. Im Falle der komplexen Zahlen schließt man nun noch ±i aus.

Damit ergeben sich auch über diesem neuen Ring wiederum Primelemente , nämlich

{3i, 7i, 11i, 19i, …
1+i, 1+2i, 1+4i, 1+6i, …
2+i, 2+3i, 2+5i, 2+7i, …
3, 3+2i, 3+8i, 3+10i, …
…}


(Ich gebe später ein einfaches Programm an, das die ersten derartigen Primelemente berechnet; ohne jegliche Optimierung, also nur für kleine Zahlenbereiche sinnvoll).

Interessant ist z.B., dass 2 nicht mehr prim ist. Dazu muss man den Begriff der adjungierten Zahl, bzw. hier der komplex konjugierten Zahl noch einführen. Mit 1+i ist auch 1-i ein Primelement. Außerdem berechnet man leicht

(1+i) ∙ (1-i) = 1 – i² = 2

Nun führen wir eine Erweiterung und betrachten Zahlen der Form a + b√d, wobei d ebenfalls eine ganze Zahl ist. Man kann nun zwei Fälle unterscheiden, nämlich d<0 du d>0. Im Folgenden betrachten wir ausschließlich denn Fall d<0, was auf Zahlen der Form a + ib√D mit D = -d führt.

Diese Zahlen sind unter Multiplikation wieder ein Ring, insbs. werden nur wieder Zahlen derselben Form erzeugt:

(a + ib√D) ∙ (c + id√D) = (ac – bdD) + i(ad + bc)√D

In diesem Fall sprechen die Mathematiker von sogenannten imaginären quadratischen Zahlenfeldern

Man kann sich nun fragen, ob man für diesen Ring wiederum Primelemente definieren kann. Man kann, jedoch nur unter gewissen Voraussetzungen für D! Betrachten wir das Beispiel D=5 (mein Fehler!) und suchen die Primfaktorzerlegung von 6. Zunächst ist 6=2∙3; sowohl 2 als auch 3 sind Primelemente. Aber man rechnet auch sofort nach, dass

(1 + i√5) ∙ (1 - i√5) = 1 + 5 = 6

Ich habe oben noch eine Eigenschaft der Primfaktorzerlegung über den ganzen Zahlen verschwiegen, sie ist nämlich bis auf ein Vorzeichen (adjungierte Zahlen) eindeutig. Das ist im Fall von D=5 offensichtlich nicht der Fall, d.h. hier weicht die Eigenschaft der Primfaktorzerlegung von der uns geläufigen ab.

Und nun kommt’s:

Man kann sich überlegen, für welche Werte von D bzw. d eine eindeutige Primfaktorzerlegung vorliegt. Für den hier betrachteten Fall von d<0 sind dies gemäß dem Stark–Heegner Theorem genau die o.g. Werte

d= -1, -2, -3, -7, -11, -19, -43, -67, -163

Man kann noch andere algebraische Strukturen untersuchen, z.B. den hier ausgeschlossenen Fall q>0, aber auch höhere als zweite Wurzeln, Polynomringe also a+bx+cx²+… und Ähnliches. Man findet immer gewisse Einschränkungen, die im Wesentlichen aus der Eindeutigkeit der Zerlegung resultieren.

Man kann diese Einschränkung auch fallen lassen bzw. Fälle zulassen, die nur ähnliche Eigenschaften aufweisen, wie z.B. den oben betrachteten Fall D=5. Dies führt auf die sogenannte Klassenzahl, ein Maß, wie stark die Eindeutigkeit verletzt wird. Ringe mit eindeutiger Zerlegung haben Klassenzahl 1, der Fall D=5 ist ein Beispiel für Klassenzahl 2.

Im Falle von q>0 sprechen die Mathematiker von sogenannten reellen quadratischen Zahlenfeldern. Dabei ist wesentlich weniger über die Fälle mit Klassenzahl Eins bzw. einer eindeutigen Primfaktorzerlegung bekannt. Man weiß jedoch, dass es unendlich viele mögliche Werte gibt; für d<100 sind dies

d = 2, 3, 5, 6, 7, 11, 13, 14, 17, 19, 21, 22, 23, 29, 31, 33, 37, 38, 41, 43, 46, 47, 53, 57, 59, 61, 62, 67, 69, 71, 73, 77, 83, 86, 89, 93, 94, 97, …

… was auch Wilfried offensichtlich bekannt ist!

Re: Toms minus fünf; -1, -2, -3, -5, -7, -11, -19, -43, -67,

Verfasst: 27. Sep 2010, 08:29
von tomS
Anbei ein kleines C++ Programm, das die wesentliche Idee zeigt. Man berechnet einfach die Produkte verschiedener Zahlen der a+ib; Die dabei nicht erzeugten Zahen sidn die Primzahlen. Wichtig: der Algorithmus ist natürlich für größere Zahlenbereiche extrem ineffizient. Außerdem fehlt noch die Eingabe, d.h. der zu berechnende Ring sowie die Größe des zu untersuchenden Zahlenbereiches sind noch feste Konstanten.

Code: Alles auswählen

#include <stdio.h>
#include <tchar.h>

#include <vector>
using namespace std;

// Heegner-Zahlen Q = q² = 1, 2, 3, 7, 11, 19, 43, 67, 163
const int Q = 3; 

const int N = 20;
const int L = 2 * N + 1;

vector< vector< bool > > primes;



void init_primes()
{
    primes.resize( L );

    for ( int i=0; i<L; i++)
        primes.at(i).resize( L );

    return;
}

void set_prime( int a, int b, bool f )
{
    int i = 2 * a + 1;
    int j = 2 * b + 1;

    if ( (i < 0 ) || ( i >= L ) )
        return;

    if ( ( j < 0 ) || ( j >= L ) )
        return;

    primes.at(i).at(j) = f;

    return;
}

bool get_prime( int a, int b )
{
    int i = 2 * a + 1;
    int j = 2 * b + 1;

    if ( (i < 0 ) || ( i >= L ) )
        return false;

    if ( ( j < 0 ) || ( j >= L ) )
        return false;

    return primes.at(i).at(j);
}

void preset_primes()
{
    for ( int a=-100; a<=100; a++)
        for ( int b=-100; b<=100; b++)
            set_prime( a, b, true );

    return;
}

bool unity( int a, int b )
{
    if ( ( abs (a) == 1 ) && ( b == 0 ) ) 
        return true;
    else if ( ( abs (b) == 1 ) && ( a == 0 ) ) 
        return true;
    else return false;
}

void calc_primes()
{
    for ( int a1=-100; a1<=100; a1++)
        for ( int b1=-100; b1<=100; b1++)
            for ( int a2=-100; a2<=100; a2++)
                for ( int b2=-100; b2<=100; b2++)
                {
                    if ( ( unity( a1, b1 ) == true ) ||
                         ( unity( a2, b2 ) == true ) )
                        continue;

                    // z1 = a1 + i*q*b1
                    // z2 = a2 + i*q*b2;
                    // z1 * z2 = (a1*a2) - q² * (b1*b2) + i*q*(a1*b2 + b1*a2)

                    int A = a1 * a2 - Q * b1 * b2;
                    int B = a1 * b2 + b1 * a2;

                    set_prime( A, B, false );
                }

    return;
}

void print_primes()
{
    for ( int a=-100; a<=100; a++)
        for ( int b=-100; b<=100; b++)
            if ( get_prime( a, b ) == true )
                printf( "%d+%di, ", a, b );

    return;
}

void main( int argc, char * argv[])
{
    init_primes();
    preset_primes();
    calc_primes();
    print_primes();

	return;
}


Re: Toms minus fünf; -1, -2, -3, -5, -7, -11, -19, -43, -67,

Verfasst: 27. Sep 2010, 13:15
von Maclane
Interessant... :)

Aber sag mal, Tom.... Haben diese Zahlen auch irgendeinen praktischen Nutzen? Gibt es vielleicht sogar eine Anwednung, wo diese Zahlen eine Rolle spielen?

Gruß
Mac

Re: Toms minus fünf; -1, -2, -3, -5, -7, -11, -19, -43, -67,

Verfasst: 27. Sep 2010, 13:21
von tomS
Keine Ahnung; von einem praktischen Nutzen habe ich noch nichts gehört.

Es gibt evtl. einen Bezug Galois-Theorie (der hat bewiesen, dass Gleichungen ab 5. Grades nicht mehr allgemein durch Wurzelausdrücke gelöst werden können) und damit zu elliptischen Kurven; die finden wohl in der Kryptographie Anwendung. Aber das ist alles Spekulation.

Re: Toms minus fünf; -1, -2, -3, -5, -7, -11, -19, -43, -67,

Verfasst: 27. Sep 2010, 13:57
von wilfried
Tag zusammen

diese Primzahlen werden in der Kryptographi angewandt. So z.B. in der Automobilindustrie -daher weiss ich das halt- werden Türschlösser so verschlüsselt. Sonst tät ja jeder Autoschlüssel geknackt werden können.

heutzutage laufen sogar die Ideen dahin, dynamische Schlüssel zu verwenden. Diese nutzen einen zufallsgenerator -ebenfalls aus solchen Zahheltheorien heraus entwickelt, der im System empfang- und sendeseits synchron aber andauernd wechselend durchläuft.

Wenn diese Systeme ein klein wenig "schlau" gemamcht sind, sind diese nahezu unknackbar.

nahezu heisst: mit sehr sehr hohem Aufwand -benötigte Gerätschaft undbenötigte Knackzeit- ist das möglich. Geheimdienste denke ich, können ishc das leisten, aber Autodiebe gewiss nicht.

Netten Gruß

Wilfried

Re: Toms minus fünf; -1, -2, -3, -5, -7, -11, -19, -43, -67,

Verfasst: 27. Sep 2010, 14:02
von tomS
Weißt du auch sicher, dass dahinter diese oben diskutierten algebraischen Körpererweiterungen stecken?

Elliptische Kurven ja, aber gibt es den von mir genannten (vermuteten) Bezug so tatsächlich?

Re: Toms minus fünf; -1, -2, -3, -5, -7, -11, -19, -43, -67,

Verfasst: 27. Sep 2010, 14:31
von wilfried
Tag Tom

sorry, nein, so tief stecke ich da nicht drin. Hat ein Kollege von mir bearbeitet. Ich habe diese Themen nur am Rande mitbekommen, war nicht mein Forschungsgebiet.

Gruß

Wilfried