在Java中使用大量多项式的有效方法是什么?

时间:2015-06-16 12:40:26

标签: java matrix polynomials

我有一个函数,它定义了一个非常长的多项式,可用于矩阵运算。

公式将(1+xi*yj)形式的二项式相乘,其中ij是下标的,并分别对应于所讨论的矩阵的行和列。得到的多项式是所有二项式与i和j的每个排列的乘积。

例如,3 x 2矩阵的多项式乘积为:

(1+x1*y1)(1+x1*y2)(1+x2*y1)(1+x2*y2)(1+x3*y1)(1+x3*y2)

为了澄清,变量之后的每个数字都应被视为下标。

java有可能计算出这么大的数量,还是可以将任务委托给另一个数学引擎?

如果可能的话,怎么会实现这个呢?

1 个答案:

答案 0 :(得分:0)

也许这个想法可以帮助您解决问题:

    int result = 1;
    int x = 2;
    int y = 3;

    Integer [][] polynomials = new Integer[x][y];
    polynomials[0][0] = 1;
    polynomials[0][1] = 2;
    polynomials[0][2] = 3;
    polynomials[1][0] = 4;
    polynomials[1][1] = 5;
    polynomials[1][2] = 6;

    for(int i = 0; i<x; i++) {
        for(int j = 0; j<y; j++) {
            result *= (1 + polynomials[i][j]);
        }
    }
    System.out.println(result);