|
> Hallo, > nein, das geht in Mathematica so ohne weiteres nicht. > Es gibt im strengen Sinn keine "Typen" (=abstrakt data types), > (da muessten Sie sich Axiom > anschauen, aber da brauchen Sie vieeeel Zeit -:)). > > Das einzige was man machen kann, ist Programmieren, z.B.: > > In[1]:= ( > DataType[b, Matrix] = {2,2}; > MyDot[x__] := Apply[Dot, > {x}/.(z_/;ValueQ[DataType[z, Matrix]]) :> > Table[z[in,im],{in,DataType[z,Matrix][[1]]}, > {im,DataType[z,Matrix][[2]]}] ]; > MyDot[{{a11, a12}, {a21, a22}}, b] > ) > > Out[1]= {{a11 b[1, 1] + a12 b[2, 1], a11 b[1, 2] + a12 b[2, 2]}, > > > {a21 b[1, 1] + a22 b[2, 1], a21 b[1, 2] + a22 b[2, 2]}} > > Fuer den allgemeinen Fall ist es dann sowieso besser darstellungsfrei > zu rechnen, d.h., einfach die Regeln der nichkommutativen Algebra > zu programmieren. > > Gruss, > Rolf > > > Danke Rolf, Aber ich will doch die ganze Algebra, Analysis und sonst was nicht neu erfinden ist ja in mathematica alles eingebaut. Ich glaube mit Udo's Hinweis kommt man weiter (aber wie weit ?) Gruesse Robert |