Wolfram mathematica 在使用Mathematica求解整数方程时,如何将所有系数设置为正?

Wolfram mathematica 在使用Mathematica求解整数方程时,如何将所有系数设置为正?,wolfram-mathematica,integer,equation,Wolfram Mathematica,Integer,Equation,给定一个向量a=[a_1,a_2,a_3,…,a_n],其中a_i现在是整数 解方程 ∑a_i x_i=0,x_i>=0,x_i为整数 使用Mathematica,我们可以编写如下代码 Solve[A.表[x[i],{i,n}]=0&&Table[x[i]>0,{i,n}],整数] 但是上面的条件Table[x[i]>0没有正确编码。它应该是x[1]>0&&x[2]>0&&x[3]>0&&x[n]>0。有没有简单的方法来编写这样的代码?你不想用解,因为Reduce可以处理不等式。至于把Table

给定一个向量a=[a_1,a_2,a_3,…,a_n],其中a_i现在是整数 解方程
∑a_i x_i=0
,x_i>=0,x_i为整数

使用Mathematica,我们可以编写如下代码
Solve[A.表[x[i],{i,n}]=0&&Table[x[i]>0,{i,n}],整数]
但是上面的条件
Table[x[i]>0
没有正确编码。它应该是
x[1]>0&&x[2]>0&&x[3]>0&&x[n]>0
。有没有简单的方法来编写这样的代码?

你不想用
,因为
Reduce
可以处理不等式。至于把
Table[x[i]>0,{i,n}
转换成
x[1]>0&&…&&x[n]>0
这很简单:

And @@ Table[x[i] > 0, {i, n}]
它使用(
@
)的缩写形式

进入

或者,更直观地说

x[1] > 0 && ... && x[n] > 0
你需要使用not
Solve
,因为
Reduce
可以处理不等式。至于将
表[x[i]>0,{i,n}]
转换为
x[1]>0&&…&&x[n]>0
,这很简单:

And @@ Table[x[i] > 0, {i, n}]
它使用(
@
)的缩写形式

进入

或者,更直观地说

x[1] > 0 && ... && x[n] > 0