Monome berechnen

Algorithmen, Sprachunabhängige Diskussionen zu Konzepten, Programmiersprachen-Design
MrTiger
Beiträge: 28
Registriert: Sa Aug 11, 2012 10:44 pm

Monome berechnen

Beitrag von MrTiger » Mo Okt 21, 2013 8:40 pm

Hallo

Ich habe ein Problem. Und zwar habe ich n Vektoren und möchte nun alle möglichen Kombinationen der Vektoren bis zum Grad 3 erstellen.

Ich kann das am besten an einem Beispiel erklären, nehmen wir an ich hätte 2 Vektoren, x und y und ich möchte alle möglichen Kombinationen bis zum Grad 3 erstellen, dann würde ich folgende Monome erhalten:

x
y
x.^2
y.^2
x.^3
y.^3
x*y
x*y.^2
x.^2*y

Nun habe ich aber n Vektoren und möchte alle möglichen Terme bis zum Grad 3 erstellen. Ich sehe gerade nicht wie ich das rekursiv lösen könnte.

Kann mir da jemand helfen?

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Monome berechnen

Beitrag von cloidnerux » Mo Okt 21, 2013 9:08 pm

Beginnen wir mit Teile und herrsche:
Du hast Monome mit einem bis n Elementen: X, XY, ..., XYZ...
Das sei die Menge A
Nun gibt es zu jedem Element aus A eine Menge B_k die die Variationen der Exponenten des k-ten Elements aus A beinhaltet.
Daher die Menge aller B_k ist seiner Lösung.
A ist ein Kombination spröden, B_k für jedes k auch.

Um A zu berechnen musst du alle Kombinationen für n-a für a E {0..n} Elemente aus den n verfügbaren berechnen, dafür gibt es Algorithmen.

Weitet weiß ich noch nicht, ich brauche erst noch mal Stift und Papier.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Monome berechnen

Beitrag von Xin » Di Okt 22, 2013 12:54 pm

MrTiger hat geschrieben:Ich kann das am besten an einem Beispiel erklären, nehmen wir an ich hätte 2 Vektoren, x und y und ich möchte alle möglichen Kombinationen bis zum Grad 3 erstellen, dann würde ich folgende Monome erhalten:
Im Prinzip ist das doch nur eine Permutation von zwei Objekten.

Code: Alles auswählen

for( unsigned int xpotenz = 0; xpotenz <= grad; xpotenz++ )
  for( unsigned int ypotenz = 0; ypotenz <= grad; ypotenz++ )
    printf( "x^%d * y^%d\n", xpotenz, ypotenz );
MrTiger hat geschrieben:Nun habe ich aber n Vektoren und möchte alle möglichen Terme bis zum Grad 3 erstellen. Ich sehe gerade nicht wie ich das rekursiv lösen könnte.
Warum rekursiv?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Monome berechnen

Beitrag von cloidnerux » Di Okt 22, 2013 2:04 pm

Du hast nicht ganze Recht Xin:
Monome.PNG
D_R ist die Dimension des Raumes, es gibt die Randbedingung, dass die Summe aller Potenzen kleiner ist als die Dimension des Raumes.

Und das lässt sich dann auch Rekursiv lösen(Pseudocode):

Code: Alles auswählen

vector<powers*> GetMonome(int count, int dimension, powers actual)        //powers is a data structure being one set of valid powers
{
    vector<powers*> result;
    for(int i = 0; i < dimension; i++)
    {
        actual[count-1] = i;
        if(count == 1)
        {
            if(sum(actual) < dimension)
                result.append(acutal);
        }
        else
            result.append(GetMonome(count-1, dimension, actual);
    }
    return result;
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Redundanz macht wiederholen unnötig.
quod erat expectandum

sebix
Beiträge: 82
Registriert: Mo Nov 19, 2012 8:27 pm

Re: Monome berechnen

Beitrag von sebix » Do Okt 24, 2013 3:47 pm


Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Monome berechnen

Beitrag von cloidnerux » Do Okt 24, 2013 3:59 pm

Da geht uns wer Fremd :D
Dort konnte man ihm aber keine so schöne mathematische Lösung präsentieren :D
Redundanz macht wiederholen unnötig.
quod erat expectandum

Gargyle
Beiträge: 1
Registriert: Fr Okt 25, 2013 6:00 pm

Re: Monome berechnen

Beitrag von Gargyle » Fr Okt 25, 2013 6:07 pm

Wir versuche immer (Im Rahmen unserer Möglichkeiten) den Fragesteller in die Situation zu versetzen die Frage selbst zu lösen.

Sieht manchmal seltsam aus und ist manchmal auch unmöglich.

Aber wie heist es: Man kann nur sogut spielen wie der Gegner es zu läst.


Grüße

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Monome berechnen

Beitrag von cloidnerux » Fr Okt 25, 2013 9:26 pm

Wir versuche immer (Im Rahmen unserer Möglichkeiten) den Fragesteller in die Situation zu versetzen die Frage selbst zu lösen.

Sieht manchmal seltsam aus und ist manchmal auch unmöglich.

Aber wie heist es: Man kann nur sogut spielen wie der Gegner es zu läst.
Seit Gegrüßt und Willkommen im Forum :D

Ja, das mit dem Antworten geben ist nicht immer einfach und ich wollte euch/dich auch keinesfalls schlecht reden. Ich persönlich bevorzuge es, Mathematische Probleme auch mit der entsprechenden Mathematik zu beantworten, zum einen weil es technisch korrekt ist, zum anderen um den Fragesteller auch die Möglichkeit zu geben, weiter zu denken.

Mit freundlichen Grüßen

cloidenrux
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
darksider3
Beiträge: 347
Registriert: Fr Sep 14, 2012 6:26 pm
Wohnort: /dev/sda1
Kontaktdaten:

Re: Monome berechnen

Beitrag von darksider3 » Sa Okt 26, 2013 6:32 pm

cloidnerux hat geschrieben:
Da geht uns wer Fremd :D
Dort konnte man ihm aber keine so schöne mathematische Lösung präsentieren :D
Sollen wir ihn jetzt Lynchen oder was? :D

Monome.. Wieder so eine Sache, von der man nur hier hört :)
effizienz ist, wenn ich ein loch bohre und hinterher mein nachbar auch ein bild aufhängen kann... ^^
Meine Homepage und der Microblog von mir :)
Live Life dont let Life Live You!
Am meisten Aktiv in Webentwicklung und PHP im Wiki

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Monome berechnen

Beitrag von cloidnerux » Sa Okt 26, 2013 6:51 pm

Sollen wir ihn jetzt Lynchen oder was? :D
Was du in deiner Freizeit machst, ist mir egal. Aber wir müssen niemanden Lynchen, weil er eben auch in anderen Foren fragen stellt, auch die selben. Jeder ist frei zu Entscheiden was er machen möchte und wir wollen da ja niemanden einschränken. Ich bin ja auch in anderen Foren angemeldet :D
Redundanz macht wiederholen unnötig.
quod erat expectandum

Antworten