CF: TODO if multtable, then use lin. comb. of multtable rather than poducts. reduces complexity by a magnitude.
| 402 | //CF: TODO if multtable, then use lin. comb. of multtable |
| 403 | //rather than poducts. reduces complexity by a magnitude. |
| 404 | void nforder::multmap(bigintmat *a, bigintmat *m) { |
| 405 | if ((m->cols() != dimension) || (m->rows() != dimension)) { |
| 406 | Werror("Error in multmap"); |
| 407 | return; |
| 408 | } |
| 409 | bigintmat *bas = new bigintmat(dimension, 1, basecoeffs()); |
| 410 | for (int i=1; i<=dimension; i++) { |
| 411 | // Durchläuft alle Basiselemente |
| 412 | // Multipliziert i-tes Basiselement mit a |
| 413 | basis_elt(bas, i); |
| 414 | elMult(bas, a); |
| 415 | // Schreibt Ergebnis in i-te Zeile der Matrix m. Am Ende ist m dann die Abbildungsmatrix der Multiplikation mit a |
| 416 | m->setcol(i, bas); |
| 417 | } |
| 418 | delete bas; |
| 419 | } |
| 420 | |
| 421 | /*________________1_______________ */ |
| 422 | void basis_elt(bigintmat *m, int i) { |