簡體   English   中英

在Java中乘以大量多項式的有效方法是什么?

[英]What is an efficient way of multiplying massive polynomials in Java?

我有一個函數,它定義了一個非常長的多項式,可用於矩陣運算。

該公式乘以(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是否有可能計算出如此龐大的數量,或者可以將任務委派給另一個數學引擎?

如果可能的話,將如何實施呢?

也許這個想法可以幫助您解決問題:

    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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM