整数矩阵的精确整数零空间?

bec*_*cko 7 linear-algebra julia

nullspace(A)找到矩阵零空间的基础A.返回的向量具有浮点坐标.如果矩阵A是整数矩阵,则可以在整数坐标中找到基础.

例如,在Mathematica中,

NullSpace[RandomInteger[{-10, 10}, {3, 4}]]
Run Code Online (Sandbox Code Playgroud)

总是返回整数向量.

有没有办法计算Julia中整数矩阵的整数基础?

更新:我遇到了构建错误Nemo.jl(请参阅Dan Getz答案的评论).与此同时,还有其他选择吗?

Dan*_*etz 7

Nemo.jl是朱莉娅的代数包.它具有很多功能,还应该允许计算零空间.一种方法是:

using Nemo   # install with Pkg.add("Nemo")

S = MatrixSpace(ZZ, 3, 4)
mm = rand(-10:10,3,4)
m = S(mm)
(bmat,d) = nullspace(m)
Run Code Online (Sandbox Code Playgroud)

之后d是nullspace的维度,并bmat在其列中有一个基础.

希望这会有所帮助(我很乐意看到可能使用其他代数包的替代解决方案).