PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Polynomdivision, GF(2)



Pooper
07-11-2006, 17:10
Hi,

ich suche ein Pakt zur Berechnung von Polynomdivisionen.

Problem: es handelt sich um Polynome in einem Galois Körper. In diesem Fall binäre polynome.
=> a+b = a-b
=> -1 = 1
=> etc.
Das Polynom-Paket ist mir bekannt, arbeitet aber meines Wissens nur dezimal.

Benötigt wird das ganze zur Veranschaulich von Berechnung der Kanalcodierung mittels Generatorpolynomen.

Sollte jemandem ein Paket bekannt sein, daß mir hierbei behilflich ist, wäre ich für jeden Tipp dankbar.

MfG

Pooper

rais
08-11-2006, 01:34
Moin moin,


=> a+b = a-b
=> -1 = 1

Also nach meinem zugegebenermaßen bschränktem mathematischem Verständnis kann der erste Ausdruck nur dann wahr sein, wenn b=0...
Der zweite Ausdruck hört sich an wie ein Wunschdenken einiger Leute, die ein Soll auf'm Konto haben :p

MfG,

Pooper
08-11-2006, 15:53
Auf einem binären Ring geht das aber. Wäre schlecht wenn nicht, denn sonst würden dein Handy und diverse andere Ding nicht so funktionieren, wie es vor dir liegt. Such mal nach Generatorpolynom und/oder Kanalcodierung ;-)
Es gibt hier tolle Dinge wie:
(z^2 + z + 1) + (z^2 + z) = 1
Stichwort modulo 2 Rechnung....

Pooper
09-11-2006, 18:32
Moin,

kennt wirklich keiner Rat?

Boron
09-11-2006, 18:58
Ich habe immer gedacht, dass mathematische Aufgaben entweder von Hand gelöst werden oder mit Computeralgebra-Programmen wie z.B. Maple, Mathematica usw.

Gibt es wirklich Pakete für Latex die so etwas machen :confused:?
OK, das ist auch nicht wirklich eine Hilfe für dich, aber mich verwirrt die Frage ein wenig :rolleyes:.

Pooper
09-11-2006, 20:34
Guck Dir mal das Polynom-Paket an.

Es geht hierbei darum, daß die einzelnen Schritte ersichtlich sind. Das ist immer besser als in einer Lösung das Ergebnis vom Himmel fallen zu lassen... Wie beschrieben dient es der Veranschaulichung der Kanalcodierung. Im Endeffekt soll ein Dokument mit Übungsaufgaben und entsprechenden Lösungen entstehen...

rais
09-11-2006, 21:28
Wie beschrieben dient es der Veranschaulichung der Kanalcodierung. Im Endeffekt soll ein Dokument mit Übungsaufgaben und entsprechenden Lösungen entstehen...
Ja aber, solltest Du gerade dann nicht versuchen, diese Kanalcodierung auch zu veranschaulichen, also die einzelnen Schritte erläutern? Oder suchst Du so etwas wie einen `Übungsaufgabengenerator´?

PS) ich gehöre zu den Leuten,die ihr Handy auch mal abschalten können -- und in gerade solch einem Zustand liegt es gerade vor mir :D
Aber Danke für den Tip -- hmm, hätte ich Deinen ersten Post etwas sorgfältiger gelesen, dann hätt' man da ja auch selbst drauf kommen können :o

MfG,

Pooper
09-11-2006, 21:44
Es sicht z.B. so aus, daß zur unsystematischen Codierung
u(z) * g(z) = c(z)
gilt.
u: Informationswort
g: Generatorpolynom
c: Codewort

Die Prüfbedingung lautet:
c(z) / g(z) = a(z) + Rest / g(z)

a(z) ist erstmal nicht interessant, es interessiert der Rest. D.h. Polynomdivision, allerdings mit binären Koeffizienten.
Bei der Veranschaulichung wie der Rest zustande kommt, kommt man um eine Ausführung der Polynomdivision nicht herum.
Die Übungen stehen, es geht halt nur um eine digitale Niederschrift.

Pooper
10-11-2006, 16:02
Im Grunde sollte es doch eine "einfache" Anpassung des Polynom-Codes tun. Leider verstehe ich nur Bahnhof, wenn ich mir den Code ansehe. Ich wäre für jede Hilfe dankbar.

Es brauch nur an den Stellen, an denen die einzelnen Koeffizient addiert werden (auch die Multiplikation greift beim Zusammenfassen der Terme auf die Addition zurück) eine modulo 2 Rechnung stattfinden.
=> Wenn der bereits aufaddierte Koeffizient gerade ist, setze ihn 0
=> Wenn der bereits aufaddierte Koeffizient ungerade ist, setze ihn 1
=> eine betragsmäßige Betrachtung reicht aus, da nur 1 und 0 definiert sind

Bereits im Vorfeld, danke für die Arbeit sich das zumindest zu überlegen

Pooper

Loomes
20-01-2007, 16:24
@Pooper: Ich habe dasselbe Problem. Auch ich dividiere Polynome mod 2, daher hilft das polynom-package nicht. Hast Du eine Lösung gefunden? Bisher stelle ich die Rechnung so dar:

\documentclass[a4paper,fleqn]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{amsmath} % für mathesymbole
\begin{document}
\setlength{\parindent}{0pt}
\setlength{\parskip}{5pt}
\setlength{\mathindent}{1.0cm}
\thispagestyle{empty}
Im 2. Beispiel des letzten Abschnitts wurde das Codewort 1101001 generiert. Zur Überprüfung wird das Codewortpolynom durch das Generatorpolynom dividiert:
\begin{align*}
\begin{array}{rrrrrrrrrrrrlrrrrrrrr}
( & x^6 & + & x^5 & + & & + & x^3 & + & & & & & 1 & ):( & x^3 & + & x & + & 1 & )=x^3+x^2+x+1\\
& x^6 & & & & x^4 & + & x^3 & \\
\cline{2-9}
& & & x^5 & + & x^4 & + & & & & & & &1\\
& & & x^5 & & & + & x^3 & + & x^2 & & & &\\
\cline{4-14}
& & & & & x^4 & + & x^3 & + & & & & &1\\
& & & & & x^4 & & & + & x^2 & + & x & &\\
\cline{6-14}
& & & & & & & x^3 & & & + & x & + &1\\
& & & & & & & x^3 & & & + & x & + &1\\
\cline{8-14}
&&&&&&&&&&&&&0
\end{array}
\end{align*}
\end{document}
...sieht natürlich mies aus. Hat jemand ne Idee, wie man das übersichtlicher darstellen kann, vielleicht ohne Array?

Pooper
16-02-2007, 02:18
Nope, ich hab einfach nur das Ergebnis hingeschrieben, absolut nicht befriedigend, aber alles andere war zu viel des Aufwands, wenn man bedenkt, daß es mehr als nur zwei oder drei Anwendungen gefunden hätte.

Schade, ne umschaltbare Basis des Zahlensystems wäre nett gewesen ;-)