Optimization 整数上的线性代数包

Optimization 整数上的线性代数包,optimization,math,linear-algebra,scientific-computing,mathematical-optimization,Optimization,Math,Linear Algebra,Scientific Computing,Mathematical Optimization,我最近遇到了以下问题。给定一个包含整数项的向量列表(这里我指的是元组),是否有一个包(语言不是太大的问题,速度越快越好,所以我猜C)可以非常快速地确定另一个整数向量何时在原始列表的范围内?我需要对整数做这个算术(不除法)。我肯定有一个,但我想避开冗长的文献综述 LINPACK有什么吗 在我的向量机/超级计算机时代,我们经常使用它,并且通常有特定于硬件的版本。您可以使用中的mathnf函数来计算包含生成向量的矩阵的列。HNF矩阵的列跨越同一个格,检查向量是否在该格中很简单。有更多的库可以计算HN

我最近遇到了以下问题。给定一个包含整数项的向量列表(这里我指的是元组),是否有一个包(语言不是太大的问题,速度越快越好,所以我猜C)可以非常快速地确定另一个整数向量何时在原始列表的范围内?我需要对整数做这个算术(不除法)。我肯定有一个,但我想避开冗长的文献综述

LINPACK有什么吗


在我的向量机/超级计算机时代,我们经常使用它,并且通常有特定于硬件的版本。

您可以使用中的
mathnf
函数来计算包含生成向量的矩阵的列。HNF矩阵的列跨越同一个格,检查向量是否在该格中很简单。有更多的库可以计算HNF——谷歌是你的朋友。

也许是你需要的。

可能是一种选择。请特别注意此函数:

cvxopt.glpk.ilp = ilp(...)  
Solves a mixed integer linear program using GLPK.

(status, x) = ilp(c, G, h, A, b, I, B)

PURPOSE
Solves the mixed integer linear programming problem

minimize    c'*x
subject to  G*x <= h
            A*x = b
            x[I] are all integer
            x[B] are all binary
cvxopt.glpk.ilp=ilp(…)
使用GLPK求解混合整数线性规划。
(状态,x)=ilp(c,G,h,A,b,I,b)
目的
求解混合整数线性规划问题
最小化c'*x

根据G*x的规定,我所知道的最好的库是:

Pari(不是GP,而是Pari库本身):

NTL(C++):

IML:

我们开始在flint2中添加此类功能(特别是在fmpz_mat模块中):


flint的目标是尽可能快地完成,尽管矩阵的东西仍在大量开发中。

问题是,我只需要使用积分算法,而不是有理数。我不确定LINPACK是否能保证成员资格的等式只有整数系数。@感谢Stev验证这一假设。