最近我有一個長了很多象徵性的表達與算法的工作,如這一個符號簡化,加上至少數和乘法運算
upperside = ( e * e * n * p * tn * tn +
2 * e * e * n * p * tn * tp +
e * e * n * p * tp * tp +
2 * e * n * n * p * te * tn +
2 * e * n * n * p * te * tp +
N * e * n * n * tp * tp +
2 * e * n * p * p * te * tn +
2 * e * n * p * p * te * tp -
2 * N * e * n * p * tn * tp +
N * e * p * p * tn * tn +
n * n * n * p * te * te +
2 * n * n * p * p * te * te +
n * p * p * p * te * te)
remformated
upperside = ( e * e * n * p * tn * tn +
2 * e * e * n * p * tn * tp +
e * e * n * p * tp * tp +
2 * e * n * n * p * te * tn +
2 * e * n * n * p * te * tp +
N * e * n * n * tp * tp +
2 * e * n * p * p * te * tn +
2 * e * n * p * p * te * tp -
2 * N * e * n * p * tn * tp +
N * e * p * p * tn * tn +
n * n * n * p * te * te +
2 * n * n * p * p * te * te +
n * p * p * p * te * te)
這些表達式推導從簡化後的MATLAB符號例程開始。在這種情況下很明顯,例如通過合併因子來簡化代數表達式是不可能的。但是,似乎很可能簡化該表達式,以便大大減少實際的操作次數。不幸的是,我無法在MATLAB或Python中找到這樣的選項。
任何幫助表示讚賞。
編輯 目標是最大限度地減少CPU需要對這些表達式執行的操作。由於操作只涉及加法和乘法,所以我希望得到像(e + tn)*(te + tp)+ n + ...這樣的東西。我試圖對錶達式進行因式分解,但不幸的是表達式不是因式分解的。
那麼會是怎樣的輸出? –
我希望產品和加法的結合(例如,(e + n)(te + tp)+ te + n ...)。我們的目標是找到一種方法來計算所述數量,以儘可能少地涉及CPU操作。 –
您刪除了'Python'標記,但在您的問題中仍然提到了'Python'。哪一個是錯誤的或不相關的? –