[英]What is an efficient way of multiplying massive polynomials in Java?
我有一個函數,它定義了一個非常長的多項式,可用於矩陣運算。
該公式乘以(1+xi*yj)
形式的二項式,其中i
和j
是下標的,分別對應於所討論矩陣的行和列。 得到的多項式是所有二項式與i和j的每個排列的乘積。
例如,一個3 x 2矩陣的多項式乘積為:
(1+x1*y1)(1+x1*y2)(1+x2*y1)(1+x2*y2)(1+x3*y1)(1+x3*y2)
為了澄清起見,變量后的每個數字都應視為下標。
Java是否有可能計算出如此龐大的數量,或者可以將任務委派給另一個數學引擎?
如果可能的話,將如何實施呢?
也許這個想法可以幫助您解決問題:
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.