2

私は最近、次の問題に遭遇しました。ベクトルのリスト(ここではタプルを意味します)がすべて整数のエントリを持つ場合、別の整数ベクトルがいつ入っているかを非常に迅速に判断するためのパッケージがありますか(言語はそれほど問題ではなく、速いほど良いので、Cを推測します)元のリストのスパン?整数に対してこの算術演算を行う必要があります (除算なし)。あると確信していますが、長い文献レビューを回避したかったのです。

4

5 に答える 5

2

PARImathnfの関数を使用して、スパニング ベクトルを列として含む行列のエルミート正規形を計算できます。HNF 行列の列は同じ格子にまたがっており、ベクトルがこの格子にあるかどうかを確認するのは簡単です。HNF を計算できるライブラリは他にもたくさんあります。Google はあなたの味方です。

于 2010-11-12T01:09:43.630 に答える
2

CVXOPTはオプションの場合があります。特に、次の関数を見てください。

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

この投稿も見てください: Python のバイナリ線形計画法ソルバー

于 2010-11-25T19:59:57.083 に答える
1

おそらくLinBoxが必要なものです。

于 2010-11-25T19:22:02.403 に答える
0

これについて私が知っている最高のライブラリは次のとおりです。

Pari (GP ではなく、Pari ライブラリ自体): http://pari.math.u-bordeaux.fr/

NTL (C++): http://www.shoup.net/ntl/

IML: http://www.cs.uwaterloo.ca/~astorjoh/iml.html

この種の機能を flint2 (特に fmpz_mat モジュール) に追加し始めています。

https://github.com/fredrik-johansson/flint2

フリントの目的は、可能な限り完全に高速化することですが、マトリックスのものはまだ開発中です。

于 2011-01-05T16:41:39.927 に答える
0

LINPACK には何かありますか?

http://en.wikipedia.org/wiki/LINPACK

ベクター/スーパーコンピューターの時代にはよく使用していましたが、通常はハードウェア固有のバージョンがあります。

于 2010-11-12T00:31:30.677 に答える