Seite 1 von 2

Umkehrfunktion in python

Verfasst: Dienstag 16. Januar 2007, 14:36
von reverse
Hello Allerseits

kann mir jemand sagen wie ich die Umkehrfunktion in python schreiben kann? sollte ein beispiel sein damit ich allgemein Umkehrfunktion in mathematik nach vollziehen kann, leider verstehe nichts viel davon.

würde mir sehr helfen wenn, jemand mir einfach anhand eines tutorial erklären würde.......ja dass wäre riesig.

danke mfg
reverse

Verfasst: Dienstag 16. Januar 2007, 14:54
von CM
Na ja, Du solltest erst einmal wissen was eine Umkehrfunktion überhaupt ist - ansonsten macht es auch wenig Sinn, Dir das hier zu erklären. Einen Einstieg bietet Wikipedia.

Der Punkt ist: Umkehrfunktionen haben einen spezifischen Hintergrund in der Mathematik - aber sind nicht imannenter Teil von Python. Also gibt es auch nicht DIE Umkehrfunktion in Python. Dennoch Beispiele:

Code: Alles auswählen

>>> from math import *
>>> log(e**e)  #na ja, nicht gerade ein Super-Beispiel
2.7182818284590451
>>> acos(cos(pi))  #schon besser
3.1415926535897931
Gruss,
Christian

Re: Umkehrfunktion in python

Verfasst: Dienstag 16. Januar 2007, 16:47
von keppla
reverse hat geschrieben:sollte ein beispiel sein damit ich allgemein Umkehrfunktion in mathematik nach vollziehen kann, leider verstehe nichts viel davon.
In der MAthematik sind Umkehrfunktionen, soweit ich mich erinnere, etwa so definiert:

f' heist Umkehrfunktion von f, wenn für alle x € definitionsbereich(f) gilt:
f'( f(x) ) = x

(Ich werde das gefühl nicht los, dass ich da was vergessen habe.)

Umkehrfunktionen sind z.B. Wurzel und Quadrat: eine quadrierte Zahl kann ich mit der Wurzel wieder zur Ausgangszahl machen.

Verfasst: Dienstag 16. Januar 2007, 17:05
von birkenfeld
f muss im Bereich, in der man sie umkehren will, injektiv sein. Sonst ist die Umkehrung nicht eindeutig.

Verfasst: Dienstag 16. Januar 2007, 17:11
von reverse
hello leute
anhand kleine einfache beispiel würde mich riesig hilfen!

Verfasst: Dienstag 16. Januar 2007, 17:16
von birkenfeld
Wir wissen leider nicht genau, was du tun willst.

Beschreibe mal dein Problem (und nein, "ich will eine Umkehrfunktion schreiben" ist keine Beschreibung).

Funktionen in Python sind nicht gleichzusetzen mit Funktionen in der Mathematik. Man kann sie nicht einfach umkehren.

Verfasst: Dienstag 16. Januar 2007, 17:26
von Leonidas
reverse hat geschrieben:anhand kleine einfache beispiel würde mich riesig hilfen!
CM hat doch welche geschrieben?

Verfasst: Dienstag 16. Januar 2007, 19:41
von XT@ngel
Also reden wir hier schon über DIE Umkehrfunktionen ?
Nicht das ich hier was falsch verstehe

Man die Leute hier im Forum haben auch immer eine Art alles so kompliziert auszudrücken ;)

Also die Definitionsmenge der Umkehrfuktion wird zur Wertemenge der Ausgangsfunktion und umgekehrt

f(x) = 3x-5 bzw y= 3x-5

jetzt tut man x und y vertauschen:

x = 3y-5

und das ganze nach y auflösen =>

y = (1/3)x + 5/3 => f(x)^-1 = (1/3)x + 5/3

Das funktioniert eigentlich fast immer so und sind eigentlich schon alle Grundlagen die man braucht.

Du musst aber aufpassen da sich einige Funktionen nicht auf ihrem gesamten
Definitionsbereich umkehren lassen z.B

g(x) = x² mit D = R , ist so ein Fall:

Beispiel:

g(-1) = 1 aber es ist auch g(1) = 1
Jetzt ist keine eindeutige Zuordnung mehr möglich !
Einfach mal danach googeln ...... ;)

Verfasst: Dienstag 16. Januar 2007, 22:51
von birkenfeld
Ja, das ist die mathematische Umkehrfunktion.

Was allerdings der OP mit einer "Umkehrfunktion in Python" meint, bleibt unklar.

PS: Zum "umständlich ausdrücken": In der höheren Mathematik interessiert es nicht mehr, wie man die Umkehrfunktion ausrechnet, nur wie sie definiert ist. Man verwendet sie nämlich dann nur allgemein in Beweisen etc.

Verfasst: Dienstag 16. Januar 2007, 23:07
von Costi
ich glaube es ist gemeint, eien funktion so umzuwandeln, dass wenn ihr urspruegnglich zurueckgebener wert als parameter gegeben wird und der uerspruenglich parmeter als wert zurueckgegeben wird.

leider gibt es dafuer keien standatilizierten, vollautomatischen ferfahren. dies haette aber sehr groesse vorteiele, zb muesste man dann nur join oder split implementieren und um irgenndwas zu encoden und decoden (wuerde nur gehen wenn es lossless waere) nur den decoder oder encoder schreieben

Mathomatic

Verfasst: Dienstag 16. Januar 2007, 23:48
von sunmountain
Ich glaube sowas in Python zu bauen ist nicht ganz trivial.
Versuchs mal damit:

http://mathomatic.orgserve.de/math/

Fast vergessen:
http://www.linux-magazin.de/Artikel/aus ... thon2.html

Verfasst: Dienstag 16. Januar 2007, 23:52
von gummibaerchen
Meint er vielleicht einfach 3/4 wird zu 4/3 ?

Verfasst: Mittwoch 17. Januar 2007, 01:28
von cracki
so lange er/sie/es nichts dazu sagt, koennen wir nur weiter die kristallkugeln begaffen.

Verfasst: Mittwoch 17. Januar 2007, 21:58
von Joghurt
Costi hat geschrieben:ich glaube es ist gemeint, eien funktion so umzuwandeln, dass wenn ihr urspruegnglich zurueckgebener wert als parameter gegeben wird und der uerspruenglich parmeter als wert zurueckgegeben wird.

leider gibt es dafuer keien standatilizierten, vollautomatischen ferfahren. dies haette aber sehr groesse vorteiele
Ja, z.B. könnte man dann aus einem MD5 alle möglichen Eingabetexte herausbekommen.

Oder Primfaktorzerlegung einfach machen ;)

Verfasst: Mittwoch 17. Januar 2007, 23:10
von BlackJack
Hierzu hätte ich gerne die Umkehrfunktion: :twisted:

Code: Alles auswählen

def f(question):
    return 42

Verfasst: Donnerstag 18. Januar 2007, 06:48
von Luzandro
BlackJack hat geschrieben:Hierzu hätte ich gerne die Umkehrfunktion: :twisted:

Code: Alles auswählen

def f(question):
    return 42
Nur bedingt eine "Umkehrfunktion", aber zumindest die erste der zwei Definitionen von Google ist gleich die richtige ;)

Die Funktion kann man allerdings tatsächlich mit dem Google-Rechner berechnen :)

Verfasst: Donnerstag 18. Januar 2007, 08:00
von Vannid Burdon
Auch wenn ich mich nun als nicht-Mathematiker hier auf dünnem Eis bewege aber könnte er nicht auch ein exklusiv-ODER-Verknüpfung meinen, als Invertierungs-Befehl/Funktion?

Code: Alles auswählen

>>> 9 ^ 5
12
>>> 12 ^ 5
9
>>> 12 ^ 9
5
>>>
Wahrscheinlich bin ich schon eingebrochen :D

Verfasst: Donnerstag 18. Januar 2007, 09:39
von Bernhard
Wenn es so etwas wie eine universelle Umkehrfunktion gäbe, dann wäre es auch ganz leicht, den andernorts gesuchten RSA-Knacker zu programmieren.
He, reverse, vielleicht wäre das ja eines der von Dir gesuchten Beispiele. Den Thread dazu findet man hier:
http://www.python-forum.de/topic-8723.html :twisted:

Verfasst: Donnerstag 18. Januar 2007, 11:25
von CM
Ist das jetzt ein Thread in dem jeder sein Halbwissen kundtun und seine halbgaren Witze verbreiten kann :?
SCNR to ask

Verfasst: Donnerstag 18. Januar 2007, 13:40
von Bernhard
Hi CM,

sorry für den halbgaren Witz - natürlich ist dieser Thread längst tot. Er begann mit einer blöden Frage (doch, es gibt dumme Fragen) und das nächste Posting des Fragestellers beinhaltet, dass er die Unsinnigkeit seines Tuns nicht verstanden hat. Wie oft hast Du es erlebt, dass aus solch einem Thread noch mal was wird?
So war mein Verweis auf einen kürzlich abglaufenen, ähnlich toten Thread gemeint. Ich finde halbgare Witze und Halbwissen besser in solchen Threads aufgehoben, die der ernste User schon abgeschrieben hat - da tun sie am wenigsten weh.

Gruß,
Bernhard