在此情况下,解决此方程的最小整数向量为 。
然而,我该如何自动确定此解?如果我使用
scipy.optimize.nnls
,例如:A = np.array([[1,-1,0],[0,2,-1],[2,0,-1]])
b = np.array([0,0,0])
nnls(A,b)
结果是
(array([ 0., 0., 0.]), 0.0)
。这也是正确的,但不是期望的解决方案...编辑:对于某些方面的不准确,我深表歉意。 如果有人对细节感兴趣,问题来自论文《数字信号处理中同步数据流程序的静态调度》(Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing),作者为 Edward A. Lee 和 David G. Messerschmitt,IEEE 计算机学报,Vol. C-36,No. 1,pp. 24-35,1987 年 1 月。
定理 2 表示:
在定理 2 的证明之后,他们说:对于具有拓扑矩阵 A、秩(A)=s-2 和 s 个节点的连通 SDF 图,我们可以找到一个正整数向量 b != 0,使得 Ab = 0,其中 0 是零向量。
可能希望解决零空间中最小的正整数向量。为此,将 u' 中的每个有理数条目约简,使其分子和分母互质。欧几里得算法可用于此。
(1, 1, 2)
怎么比(0, 0, 0)
更小? - user2357112(2, 0, 0)
比(0, 1, 1)
小吗?(1, 0, 0)
比(-1, 0, 0)
小吗?“最小”是含糊不清的。 - user2357112A
是秩不足的,你提出的x
其实是它的零空间。这里是否存在一个“XY问题”? - Ahmed Fasih