"Milos Milenkovic" <email@example.com> wrote in message <firstname.lastname@example.org>... > Dear, > suppose that we have two matrices, where each element has three values like follows: > > A=[(a1,b1,c1), (a2,b2,c2); (a3,b3,c3), (a4,b4,c4)] > B=[(d1,e1,f1), (d2,e2,f2); (d3,e3,f3), (d4,e4,f4)] > > Now, I have to multiply these two matrices, and that is matrix C=A*B > > C=[ c11=(a1,b1,c1)*(d1,e1,f1)+(a2,b2,c2)*(d3,e3,f3), c12=(a1,b1,c1)*(d2,e2,f2)+(a2,b2,c2)*(d4,e4,f4); c21=(a3,b3,c3)*(d1,e1,f1)+(a4,b4,c4)*(d3,e3,f3), c22=(a3,b3,c3)*(d2,e2,f2)+(a4,b4,c4)*(d4,e4,f4)] > > where the most important here is the low for multiplying these three-value numbers is: > > (ai,bi,ci)*(di,ei,fi) = (bi*di+ei*(ai-bi), bi*ei , ei*ci+bi(fi-ei)) > > Please, how to do this, I have a dozen of this matrices with 700x700 in dimension approximately. > Best, > Milos
While there is no magic that will let you do this for no effort on your part, I still don't see the problem.
You can just write a function that takes a pair of triads, and "multiplies" them by your rule.
Then just write another function that takes a pair of matrices, and multiplies them, again as per your rule.
Its just a few loops. Whats the problem? You can even build a special class for the purpose, where you define a "multiply" to be anything you wish between class members.
Its not even a big problem, but even if it was, you eat even an elephantine computational problem one byte at a time. Just start writing.