提问人:stats_noob 提问时间:8/7/2023 最后编辑:ThomasIsCodingstats_noob 更新时间:8/8/2023 访问量:141
R:R 中的多项式公式
R: Multinomial Formula in R
问:
我正在使用 R 编程语言。
我正在尝试编写一个 R 函数,该函数可以完全扩展以下形式的数学表达式(以符号形式):(a+b+c+....)^n
在上面的表达式中,n 是一个整数。我希望最终的答案是 a、b、c......(也就是说,我不想进行算术计算,而是象征性地扩展表达式。
据我了解,这对应于以下数学方程式:https://en.wikipedia.org/wiki/Multinomial_theorem
我能够使以下函数工作,以扩展二项式表达式:
expandBinom <- function(a, b, n) {
sapply(0:n, function(k) {
choose(n, k) * a^(n-k) * b^k
})
}
上面的函数计算被展开项的系数。例如,我可以验证:(a+b)^2 = a^2 + 2*ab + b^2
> expandBinom(1,1,2)
[1] 1 2 1
但我不知道如何将上述函数推广到多项式情况。
是否可以为多项式表达式编写这样的函数 - 并且实际上让表达式以 (a^2 + 2ab^2 + c..)
的形式出现,而不仅仅是 (1, 2, 1)
谢谢!
引用:
答:
用于符号计算
也许你可以试试包Ryacas
library(Ryacas)
f <- function(n, ...) {
as_r(yac_str(sprintf("Simplify(Expand((%s)^%s))", paste0(c(...), collapse = "+"), n)))
}
例如,您将获得
> f(5, "a", "b", "c")
expression(a^5 + 5 * a^4 * b + 5 * a^4 * c + 10 * a^3 * b^2 +
20 * a^3 * b * c + 10 * a^3 * c^2 + 10 * a^2 * b^3 + 30 *
a^2 * b^2 * c + 30 * a^2 * b * c^2 + 10 * a^2 * c^3 + 5 *
a * b^4 + 20 * a * b^3 * c + 30 * a * b^2 * c^2 + 20 * a *
b * c^3 + 5 * a * c^4 + b^5 + 5 * b^4 * c + 10 * b^3 * c^2 +
10 * b^2 * c^3 + 5 * b * c^4 + c^5)
用于数值计算(仅限系数)
如果你只关心多项式的数值系数(例如,多项式 ),你可以试试x
convolve
+ Reduce
h <- function(n, coeffs) {
Reduce(\(x, y) convolve(x, rev(y), type = "open"), rep(list(coeffs), n))
}
或其递归变体
h2 <- function(n, coeffs) {
if (n == 1) {
return(coeffs)
}
convolve(Recall(n - 1, coeffs), rev(coeffs), type = "open")
}
你会看到
# (1+x)^2 = 1 + 2x + x^2
> h(2, c(1, 1))
[1] 1 2 1
# (1+2x)^3 = 1 + 6x + 12x^2 + 8x^3
> h(3, c(1, 2))
[1] 1 6 12 8
# (1 + 4x + 5x^2) = 1 + 16x + 116x^2 + 496x^3 + 1366x^4 + 2480x^5 + 2900x^6 + 2000x^7 + 625x^8
> h(4, c(1, 4, 5))
[1] 1 16 116 496 1366 2480 2900 2000 625
您可以使用 giacR(尚未在 CRAN 上):
library(giacR)
giac <- Giac$new()
giac$execute(("expand((a + b + c)^5)"))
# "a^5+b^5+c^5+5*a*b^4+5*a*c^4+5*b*c^4+10*a^2*b^3+10*a^2*c^3+10*a^3*b^2+10*a^3*c^2+5*a^4*b+5*a^4*c+10*b^2*c^3+10*b^3*c^2+5*b^4*c+20*a*b*c^3+30*a*b^2*c^2+20*a*b^3*c+30*a^2*b*c^2+30*a^2*b^2*c+20*a^3*b*c"
使用软件包:mpoly
mpoly::mp("(a + b + c)^5")
#> a^5 + 5 a^4 b + 5 a^4 c + 10 a^3 b^2 + 20 a^3 b c + 10 a^3 c^2 + 10 a^2 b^3 + 30 a^2 b^2 c + 30 a^2 b c^2 + 10 a^2 c^3 + 5 a b^4 + 20 a b^3 c + 30 a b^2 c^2 + 20 a b c^3 + 5 a c^4 + b^5 + 5 b^4 c + 10 b^3 c^2 + 10 b^2 c^3 + 5 b c^4 + c^5
或者,对于指数和系数:
library(partitions)
f <- function(vars, pow) {
m <- as.matrix(compositions(pow, length(vars)))
rownames(m) <- vars
list(
exponents = m,
coeffs = exp(lgamma(pow + 1) - colSums(array(lgamma(1:(pow + 1))[m + 1L], dim(m))))
)
}
f(letters[1:3], 5)
#> $exponents
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21]
#> a 5 4 3 2 1 0 4 3 2 1 0 3 2 1 0 2 1 0 1 0 0
#> b 0 1 2 3 4 5 0 1 2 3 4 0 1 2 3 0 1 2 0 1 0
#> c 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 3 3 3 4 4 5
#>
#> $coeffs
#> [1] 1 5 10 10 5 1 5 20 30 20 5 10 30 30 10 10 20 10 5 5 1
仅检索指数和系数要快得多。
library(mpoly)
system.time(mp("(a + b + c + d + e)^20"))
#> user system elapsed
#> 11.78 0.30 12.07
system.time(f(letters[1:5], 20))
#> user system elapsed
#> 0.02 0.00 0.00
如果你不想使用外部包,而只想使用基础 R,你可以定义一个自定义函数,如下所示(但当你有高阶或许多项时,它不会很好地扩展,因为应用了 +)n
...
expand.grid
apply
g <- function(n, ...) {
comb <- expand.grid(rep(list(c(...)), n))
d <- table(
apply(comb, 1, \(x) {
v <- sort(table(x))
gsub("\\^1((?=\\D)|$)",
"",
paste0(paste(names(v), v, sep = "^"), collapse = "*"),
perl = TRUE
)
})
)
sort(d)
}
例如,您将获得
> g(5, "x", "y")
x^5 y^5 x*y^4 y*x^4 x^2*y^3 y^2*x^3
1 1 5 5 10 10
> g(3, "a", "b", "c")
a^3 b^3 c^3 a*b^2 a*c^2 b*a^2 b*c^2 c*a^2 c*b^2 a*b*c
1 1 1 3 3 3 3 3 3 6
上面的代码只是在表格中显示术语,您绝对可以自由地执行其他操作来生成“总和”表达式。
正如 @ThomasIsCoding 在其中一个答案中提到的,当我们在 ...
(由于 和 )。
expand.grid
apply
一如既往(由于我的偏好,我认为如果我们不加载任何外部包来制作它会非常有趣),如果您想继续使用基础 R 但显着提高性能,我认为以下基本 R 函数可能会有很大帮助。
基本理念
假设我们要扩展的内容是 格式,其中是任何正整数,并且是作为指数的正整数,我们可以:(x1 + x2 + x3 + ... + xm)^n
m
n
创建一个函数来生成 for 项的所有可能的指数组合,其中函数可以以递归方式定义。
helper
(k1, k2, ..., km)
x1^k1 * x2^k2 * ... * xm^km
helper
在得到的元组之上,我们应该生成相应的多项式系数,即 ,然后将它们与项相乘
(k1, k2, ..., km)
n!/(k1! * k2! * ... * km!)
x1^k1 * x2^k2 * ... * xm^km
法典
f <- function(m, n = m) {
helper <- function(m, n) {
if (m == 1) {
return(n)
}
unlist(
lapply(
0:n,
\(i) Map(c, i, helper(m - 1, max(n - i, 0)))
),
recursive = FALSE
)
}
sapply(
helper(m, n),
\(x) {
term <- gsub(
"\\^1((?=\\D)|$)",
"",
paste0(
paste0("x", seq_along(x), "^", x)[x > 0],
collapse = "*"
),
perl = TRUE
)
coeff <- factorial(n) / prod(factorial(x))
ifelse(coeff == 1, term, paste0(coeff, "*", term))
}
)
}
输出示例
> f(2)
[1] "x2^2" "2*x1*x2" "x1^2"
> f(3, 2)
[1] "x3^2" "2*x2*x3" "x2^2" "2*x1*x3" "2*x1*x2" "x1^2"
> f(2, 4)
[1] "x2^4" "4*x1*x2^3" "6*x1^2*x2^2" "4*x1^3*x2" "x1^4"
> f(4, 2)
[1] "x4^2" "2*x3*x4" "x3^2" "2*x2*x4" "2*x2*x3" "x2^2" "2*x1*x4"
[8] "2*x1*x3" "2*x1*x2" "x1^2"
还有一个疯狂的
> f(7, 5)
[1] "x7^5" "5*x6*x7^4" "10*x6^2*x7^3"
[4] "10*x6^3*x7^2" "5*x6^4*x7" "x6^5"
[7] "5*x5*x7^4" "20*x5*x6*x7^3" "30*x5*x6^2*x7^2"
[10] "20*x5*x6^3*x7" "5*x5*x6^4" "10*x5^2*x7^3"
[13] "30*x5^2*x6*x7^2" "30*x5^2*x6^2*x7" "10*x5^2*x6^3"
[16] "10*x5^3*x7^2" "20*x5^3*x6*x7" "10*x5^3*x6^2"
[19] "5*x5^4*x7" "5*x5^4*x6" "x5^5"
[22] "5*x4*x7^4" "20*x4*x6*x7^3" "30*x4*x6^2*x7^2"
[25] "20*x4*x6^3*x7" "5*x4*x6^4" "20*x4*x5*x7^3"
[28] "60*x4*x5*x6*x7^2" "60*x4*x5*x6^2*x7" "20*x4*x5*x6^3"
[31] "30*x4*x5^2*x7^2" "60*x4*x5^2*x6*x7" "30*x4*x5^2*x6^2"
[34] "20*x4*x5^3*x7" "20*x4*x5^3*x6" "5*x4*x5^4"
[37] "10*x4^2*x7^3" "30*x4^2*x6*x7^2" "30*x4^2*x6^2*x7"
[40] "10*x4^2*x6^3" "30*x4^2*x5*x7^2" "60*x4^2*x5*x6*x7"
[43] "30*x4^2*x5*x6^2" "30*x4^2*x5^2*x7" "30*x4^2*x5^2*x6"
[46] "10*x4^2*x5^3" "10*x4^3*x7^2" "20*x4^3*x6*x7"
[49] "10*x4^3*x6^2" "20*x4^3*x5*x7" "20*x4^3*x5*x6"
[52] "10*x4^3*x5^2" "5*x4^4*x7" "5*x4^4*x6"
[55] "5*x4^4*x5" "x4^5" "5*x3*x7^4"
[58] "20*x3*x6*x7^3" "30*x3*x6^2*x7^2" "20*x3*x6^3*x7"
[61] "5*x3*x6^4" "20*x3*x5*x7^3" "60*x3*x5*x6*x7^2"
[64] "60*x3*x5*x6^2*x7" "20*x3*x5*x6^3" "30*x3*x5^2*x7^2"
[67] "60*x3*x5^2*x6*x7" "30*x3*x5^2*x6^2" "20*x3*x5^3*x7"
[70] "20*x3*x5^3*x6" "5*x3*x5^4" "20*x3*x4*x7^3"
[73] "60*x3*x4*x6*x7^2" "60*x3*x4*x6^2*x7" "20*x3*x4*x6^3"
[76] "60*x3*x4*x5*x7^2" "120*x3*x4*x5*x6*x7" "60*x3*x4*x5*x6^2"
[79] "60*x3*x4*x5^2*x7" "60*x3*x4*x5^2*x6" "20*x3*x4*x5^3"
[82] "30*x3*x4^2*x7^2" "60*x3*x4^2*x6*x7" "30*x3*x4^2*x6^2"
[85] "60*x3*x4^2*x5*x7" "60*x3*x4^2*x5*x6" "30*x3*x4^2*x5^2"
[88] "20*x3*x4^3*x7" "20*x3*x4^3*x6" "20*x3*x4^3*x5"
[91] "5*x3*x4^4" "10*x3^2*x7^3" "30*x3^2*x6*x7^2"
[94] "30*x3^2*x6^2*x7" "10*x3^2*x6^3" "30*x3^2*x5*x7^2"
[97] "60*x3^2*x5*x6*x7" "30*x3^2*x5*x6^2" "30*x3^2*x5^2*x7"
[100] "30*x3^2*x5^2*x6" "10*x3^2*x5^3" "30*x3^2*x4*x7^2"
[103] "60*x3^2*x4*x6*x7" "30*x3^2*x4*x6^2" "60*x3^2*x4*x5*x7"
[106] "60*x3^2*x4*x5*x6" "30*x3^2*x4*x5^2" "30*x3^2*x4^2*x7"
[109] "30*x3^2*x4^2*x6" "30*x3^2*x4^2*x5" "10*x3^2*x4^3"
[112] "10*x3^3*x7^2" "20*x3^3*x6*x7" "10*x3^3*x6^2"
[115] "20*x3^3*x5*x7" "20*x3^3*x5*x6" "10*x3^3*x5^2"
[118] "20*x3^3*x4*x7" "20*x3^3*x4*x6" "20*x3^3*x4*x5"
[121] "10*x3^3*x4^2" "5*x3^4*x7" "5*x3^4*x6"
[124] "5*x3^4*x5" "5*x3^4*x4" "x3^5"
[127] "5*x2*x7^4" "20*x2*x6*x7^3" "30*x2*x6^2*x7^2"
[130] "20*x2*x6^3*x7" "5*x2*x6^4" "20*x2*x5*x7^3"
[133] "60*x2*x5*x6*x7^2" "60*x2*x5*x6^2*x7" "20*x2*x5*x6^3"
[136] "30*x2*x5^2*x7^2" "60*x2*x5^2*x6*x7" "30*x2*x5^2*x6^2"
[139] "20*x2*x5^3*x7" "20*x2*x5^3*x6" "5*x2*x5^4"
[142] "20*x2*x4*x7^3" "60*x2*x4*x6*x7^2" "60*x2*x4*x6^2*x7"
[145] "20*x2*x4*x6^3" "60*x2*x4*x5*x7^2" "120*x2*x4*x5*x6*x7"
[148] "60*x2*x4*x5*x6^2" "60*x2*x4*x5^2*x7" "60*x2*x4*x5^2*x6"
[151] "20*x2*x4*x5^3" "30*x2*x4^2*x7^2" "60*x2*x4^2*x6*x7"
[154] "30*x2*x4^2*x6^2" "60*x2*x4^2*x5*x7" "60*x2*x4^2*x5*x6"
[157] "30*x2*x4^2*x5^2" "20*x2*x4^3*x7" "20*x2*x4^3*x6"
[160] "20*x2*x4^3*x5" "5*x2*x4^4" "20*x2*x3*x7^3"
[163] "60*x2*x3*x6*x7^2" "60*x2*x3*x6^2*x7" "20*x2*x3*x6^3"
[166] "60*x2*x3*x5*x7^2" "120*x2*x3*x5*x6*x7" "60*x2*x3*x5*x6^2"
[169] "60*x2*x3*x5^2*x7" "60*x2*x3*x5^2*x6" "20*x2*x3*x5^3"
[172] "60*x2*x3*x4*x7^2" "120*x2*x3*x4*x6*x7" "60*x2*x3*x4*x6^2"
[175] "120*x2*x3*x4*x5*x7" "120*x2*x3*x4*x5*x6" "60*x2*x3*x4*x5^2"
[178] "60*x2*x3*x4^2*x7" "60*x2*x3*x4^2*x6" "60*x2*x3*x4^2*x5"
[181] "20*x2*x3*x4^3" "30*x2*x3^2*x7^2" "60*x2*x3^2*x6*x7"
[184] "30*x2*x3^2*x6^2" "60*x2*x3^2*x5*x7" "60*x2*x3^2*x5*x6"
[187] "30*x2*x3^2*x5^2" "60*x2*x3^2*x4*x7" "60*x2*x3^2*x4*x6"
[190] "60*x2*x3^2*x4*x5" "30*x2*x3^2*x4^2" "20*x2*x3^3*x7"
[193] "20*x2*x3^3*x6" "20*x2*x3^3*x5" "20*x2*x3^3*x4"
[196] "5*x2*x3^4" "10*x2^2*x7^3" "30*x2^2*x6*x7^2"
[199] "30*x2^2*x6^2*x7" "10*x2^2*x6^3" "30*x2^2*x5*x7^2"
[202] "60*x2^2*x5*x6*x7" "30*x2^2*x5*x6^2" "30*x2^2*x5^2*x7"
[205] "30*x2^2*x5^2*x6" "10*x2^2*x5^3" "30*x2^2*x4*x7^2"
[208] "60*x2^2*x4*x6*x7" "30*x2^2*x4*x6^2" "60*x2^2*x4*x5*x7"
[211] "60*x2^2*x4*x5*x6" "30*x2^2*x4*x5^2" "30*x2^2*x4^2*x7"
[214] "30*x2^2*x4^2*x6" "30*x2^2*x4^2*x5" "10*x2^2*x4^3"
[217] "30*x2^2*x3*x7^2" "60*x2^2*x3*x6*x7" "30*x2^2*x3*x6^2"
[220] "60*x2^2*x3*x5*x7" "60*x2^2*x3*x5*x6" "30*x2^2*x3*x5^2"
[223] "60*x2^2*x3*x4*x7" "60*x2^2*x3*x4*x6" "60*x2^2*x3*x4*x5"
[226] "30*x2^2*x3*x4^2" "30*x2^2*x3^2*x7" "30*x2^2*x3^2*x6"
[229] "30*x2^2*x3^2*x5" "30*x2^2*x3^2*x4" "10*x2^2*x3^3"
[232] "10*x2^3*x7^2" "20*x2^3*x6*x7" "10*x2^3*x6^2"
[235] "20*x2^3*x5*x7" "20*x2^3*x5*x6" "10*x2^3*x5^2"
[238] "20*x2^3*x4*x7" "20*x2^3*x4*x6" "20*x2^3*x4*x5"
[241] "10*x2^3*x4^2" "20*x2^3*x3*x7" "20*x2^3*x3*x6"
[244] "20*x2^3*x3*x5" "20*x2^3*x3*x4" "10*x2^3*x3^2"
[247] "5*x2^4*x7" "5*x2^4*x6" "5*x2^4*x5"
[250] "5*x2^4*x4" "5*x2^4*x3" "x2^5"
[253] "5*x1*x7^4" "20*x1*x6*x7^3" "30*x1*x6^2*x7^2"
[256] "20*x1*x6^3*x7" "5*x1*x6^4" "20*x1*x5*x7^3"
[259] "60*x1*x5*x6*x7^2" "60*x1*x5*x6^2*x7" "20*x1*x5*x6^3"
[262] "30*x1*x5^2*x7^2" "60*x1*x5^2*x6*x7" "30*x1*x5^2*x6^2"
[265] "20*x1*x5^3*x7" "20*x1*x5^3*x6" "5*x1*x5^4"
[268] "20*x1*x4*x7^3" "60*x1*x4*x6*x7^2" "60*x1*x4*x6^2*x7"
[271] "20*x1*x4*x6^3" "60*x1*x4*x5*x7^2" "120*x1*x4*x5*x6*x7"
[274] "60*x1*x4*x5*x6^2" "60*x1*x4*x5^2*x7" "60*x1*x4*x5^2*x6"
[277] "20*x1*x4*x5^3" "30*x1*x4^2*x7^2" "60*x1*x4^2*x6*x7"
[280] "30*x1*x4^2*x6^2" "60*x1*x4^2*x5*x7" "60*x1*x4^2*x5*x6"
[283] "30*x1*x4^2*x5^2" "20*x1*x4^3*x7" "20*x1*x4^3*x6"
[286] "20*x1*x4^3*x5" "5*x1*x4^4" "20*x1*x3*x7^3"
[289] "60*x1*x3*x6*x7^2" "60*x1*x3*x6^2*x7" "20*x1*x3*x6^3"
[292] "60*x1*x3*x5*x7^2" "120*x1*x3*x5*x6*x7" "60*x1*x3*x5*x6^2"
[295] "60*x1*x3*x5^2*x7" "60*x1*x3*x5^2*x6" "20*x1*x3*x5^3"
[298] "60*x1*x3*x4*x7^2" "120*x1*x3*x4*x6*x7" "60*x1*x3*x4*x6^2"
[301] "120*x1*x3*x4*x5*x7" "120*x1*x3*x4*x5*x6" "60*x1*x3*x4*x5^2"
[304] "60*x1*x3*x4^2*x7" "60*x1*x3*x4^2*x6" "60*x1*x3*x4^2*x5"
[307] "20*x1*x3*x4^3" "30*x1*x3^2*x7^2" "60*x1*x3^2*x6*x7"
[310] "30*x1*x3^2*x6^2" "60*x1*x3^2*x5*x7" "60*x1*x3^2*x5*x6"
[313] "30*x1*x3^2*x5^2" "60*x1*x3^2*x4*x7" "60*x1*x3^2*x4*x6"
[316] "60*x1*x3^2*x4*x5" "30*x1*x3^2*x4^2" "20*x1*x3^3*x7"
[319] "20*x1*x3^3*x6" "20*x1*x3^3*x5" "20*x1*x3^3*x4"
[322] "5*x1*x3^4" "20*x1*x2*x7^3" "60*x1*x2*x6*x7^2"
[325] "60*x1*x2*x6^2*x7" "20*x1*x2*x6^3" "60*x1*x2*x5*x7^2"
[328] "120*x1*x2*x5*x6*x7" "60*x1*x2*x5*x6^2" "60*x1*x2*x5^2*x7"
[331] "60*x1*x2*x5^2*x6" "20*x1*x2*x5^3" "60*x1*x2*x4*x7^2"
[334] "120*x1*x2*x4*x6*x7" "60*x1*x2*x4*x6^2" "120*x1*x2*x4*x5*x7"
[337] "120*x1*x2*x4*x5*x6" "60*x1*x2*x4*x5^2" "60*x1*x2*x4^2*x7"
[340] "60*x1*x2*x4^2*x6" "60*x1*x2*x4^2*x5" "20*x1*x2*x4^3"
[343] "60*x1*x2*x3*x7^2" "120*x1*x2*x3*x6*x7" "60*x1*x2*x3*x6^2"
[346] "120*x1*x2*x3*x5*x7" "120*x1*x2*x3*x5*x6" "60*x1*x2*x3*x5^2"
[349] "120*x1*x2*x3*x4*x7" "120*x1*x2*x3*x4*x6" "120*x1*x2*x3*x4*x5"
[352] "60*x1*x2*x3*x4^2" "60*x1*x2*x3^2*x7" "60*x1*x2*x3^2*x6"
[355] "60*x1*x2*x3^2*x5" "60*x1*x2*x3^2*x4" "20*x1*x2*x3^3"
[358] "30*x1*x2^2*x7^2" "60*x1*x2^2*x6*x7" "30*x1*x2^2*x6^2"
[361] "60*x1*x2^2*x5*x7" "60*x1*x2^2*x5*x6" "30*x1*x2^2*x5^2"
[364] "60*x1*x2^2*x4*x7" "60*x1*x2^2*x4*x6" "60*x1*x2^2*x4*x5"
[367] "30*x1*x2^2*x4^2" "60*x1*x2^2*x3*x7" "60*x1*x2^2*x3*x6"
[370] "60*x1*x2^2*x3*x5" "60*x1*x2^2*x3*x4" "30*x1*x2^2*x3^2"
[373] "20*x1*x2^3*x7" "20*x1*x2^3*x6" "20*x1*x2^3*x5"
[376] "20*x1*x2^3*x4" "20*x1*x2^3*x3" "5*x1*x2^4"
[379] "10*x1^2*x7^3" "30*x1^2*x6*x7^2" "30*x1^2*x6^2*x7"
[382] "10*x1^2*x6^3" "30*x1^2*x5*x7^2" "60*x1^2*x5*x6*x7"
[385] "30*x1^2*x5*x6^2" "30*x1^2*x5^2*x7" "30*x1^2*x5^2*x6"
[388] "10*x1^2*x5^3" "30*x1^2*x4*x7^2" "60*x1^2*x4*x6*x7"
[391] "30*x1^2*x4*x6^2" "60*x1^2*x4*x5*x7" "60*x1^2*x4*x5*x6"
[394] "30*x1^2*x4*x5^2" "30*x1^2*x4^2*x7" "30*x1^2*x4^2*x6"
[397] "30*x1^2*x4^2*x5" "10*x1^2*x4^3" "30*x1^2*x3*x7^2"
[400] "60*x1^2*x3*x6*x7" "30*x1^2*x3*x6^2" "60*x1^2*x3*x5*x7"
[403] "60*x1^2*x3*x5*x6" "30*x1^2*x3*x5^2" "60*x1^2*x3*x4*x7"
[406] "60*x1^2*x3*x4*x6" "60*x1^2*x3*x4*x5" "30*x1^2*x3*x4^2"
[409] "30*x1^2*x3^2*x7" "30*x1^2*x3^2*x6" "30*x1^2*x3^2*x5"
[412] "30*x1^2*x3^2*x4" "10*x1^2*x3^3" "30*x1^2*x2*x7^2"
[415] "60*x1^2*x2*x6*x7" "30*x1^2*x2*x6^2" "60*x1^2*x2*x5*x7"
[418] "60*x1^2*x2*x5*x6" "30*x1^2*x2*x5^2" "60*x1^2*x2*x4*x7"
[421] "60*x1^2*x2*x4*x6" "60*x1^2*x2*x4*x5" "30*x1^2*x2*x4^2"
[424] "60*x1^2*x2*x3*x7" "60*x1^2*x2*x3*x6" "60*x1^2*x2*x3*x5"
[427] "60*x1^2*x2*x3*x4" "30*x1^2*x2*x3^2" "30*x1^2*x2^2*x7"
[430] "30*x1^2*x2^2*x6" "30*x1^2*x2^2*x5" "30*x1^2*x2^2*x4"
[433] "30*x1^2*x2^2*x3" "10*x1^2*x2^3" "10*x1^3*x7^2"
[436] "20*x1^3*x6*x7" "10*x1^3*x6^2" "20*x1^3*x5*x7"
[439] "20*x1^3*x5*x6" "10*x1^3*x5^2" "20*x1^3*x4*x7"
[442] "20*x1^3*x4*x6" "20*x1^3*x4*x5" "10*x1^3*x4^2"
[445] "20*x1^3*x3*x7" "20*x1^3*x3*x6" "20*x1^3*x3*x5"
[448] "20*x1^3*x3*x4" "10*x1^3*x3^2" "20*x1^3*x2*x7"
[451] "20*x1^3*x2*x6" "20*x1^3*x2*x5" "20*x1^3*x2*x4"
[454] "20*x1^3*x2*x3" "10*x1^3*x2^2" "5*x1^4*x7"
[457] "5*x1^4*x6" "5*x1^4*x5" "5*x1^4*x4"
[460] "5*x1^4*x3" "5*x1^4*x2" "x1^5"
下一个:如何计算和编码百分比?
评论