From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 02D9EBB9C for ; Wed, 30 Nov 2005 10:08:20 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id jAU98JkF019901 for ; Wed, 30 Nov 2005 10:08:19 +0100 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id KAA01878 for ; Wed, 30 Nov 2005 10:08:19 +0100 (MET) Received: from smtp.cegetel.net (mf01.sitadelle.com [212.94.174.68]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id jAU98IE7002387 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Wed, 30 Nov 2005 10:08:18 +0100 Received: from [192.168.144.2] (unknown [84.6.181.206]) by smtp.cegetel.net (Postfix) with ESMTP id A433E59A6E4; Wed, 30 Nov 2005 10:08:17 +0100 (CET) Message-ID: <438D6C00.4000001@univ-savoie.fr> Date: Wed, 30 Nov 2005 10:08:16 +0100 From: Christophe Raffalli User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051017) X-Accept-Language: fr, en MIME-Version: 1.0 To: Christophe Raffalli Cc: Thomas Gazagnaire , caml-list Subject: Re: [Caml-list] Integral solutions of rational linear equations References: <87slwny8xs.fsf@mid.deneb.enyo.de> <438CA20C.2080200@irisa.fr> <438D67A2.4050500@univ-savoie.fr> In-Reply-To: <438D67A2.4050500@univ-savoie.fr> X-Enigmail-Version: 0.93.0.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig32420C5D0B46F348F0F33C2D" X-Miltered: at concorde with ID 438D6C03.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 438D6C02.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; christophe:01 raffalli:01 christophe:01 raffalli:01 univ-savoie:01 caml-list:01 ocaml:01 integers:01 algebra:01 ocaml:01 lama:01 univ-savoie:01 formel:01 integer:01 integer:01 X-Attachments: type="application/pgp-signature" name="signature.asc" name="signature.asc" X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=FORGED_RCVD_HELO autolearn=disabled version=3.0.3 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig32420C5D0B46F348F0F33C2D Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Christophe Raffalli a =E9crit : > Thomas Gazagnaire a =E9crit : >=20 >>Hello, >> >>in my one of my Ocaml programs, I need to find all integers solutions o= f >>a rational equation systems. This algo uses Gauss reduction and Hermite= >>normal form, and need to know if a rational is an integer or not (ie. I= >>don't want to use numerical approximation : (1/3) * 3 is an integer but= >>0,333333*3 we don't know). I didn't find any integer algebra package fo= r >>ocaml, so I tried to implement Gauss elimination (easy) and Hermite >>normal form (more difficult...). But I didn't implement optimized >>version of these algorithms... >> >>So my question is : do you know if exists a native ocaml module or an >>interface with a C library which is able to do integer/rational matrix >>manipulation (essentialy the Hermite normal form) in an efficient way ?= >> >=20 >=20 And by the way, my library on formal computation would give you an algorithm using conjugate gradient ... look at: http://www.lama.univ-savoie.fr/~raffalli/formel.html --------------enig32420C5D0B46F348F0F33C2D Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iQIVAwUBQ41sAJEBCSatcik9AQJYBA/6Aial6GQogfhgbv4rBiHmf/lUSKuCZL2P UU7FwLNb+lRgWOtn5dWkFfFcsz6ds1L7ndGgeQvRDcabLiyLoqUNWWYztdl8m2KV LFxAoGjFUh2fXjRjs9bZvvPQ66aks9JaDtgGDvHxAn+efGuWWlmEThyhFiJ08zxP ByfNXoKFFbviAg8cqN5IEqbxnMe0wZglBqPQ4pW3HuDuNnXgMLd3Ph+K+r67gM4l OU5cos9eGmQuyLNnVtgwCWutQERTTg5kwguFCg7pu+HgV0NIMAyM3d5v6s+CNRtS 796PvvM+WwVLD2dysb0chqFAUJL97/2+2HnX10fEvGagixBg6RGcNLTyW1NS+4nn nNs7FnWhhgGx4WYO2YzTRUaqDfaP9Pnjjzo8qW+fl5Jg9/QZWwx6c2Hcw8/Du6dn DV0eAb5Z5Sc2ugh5oyto3CX+RKi9Gpywk213ZWYiAmZw34kxswnv5+lx5vFmVzhQ DOhzqfjOK+S3jznJeijPUAfwsTcO9fdNX4WIlKg+HCC8GGmfsJrcTyB7o/PiEbCU TkMKs54z792ybxTJ15YuUmUD0aD1A5jUU3RgtWRLIkumS1aA6s2jp0a88ERretN6 OlBNtYBmDMm//8h296QmwJdneR/q6KF30sJkDTO/woZgTpzqUMkZgiEePfXyU2sE m+Ou0BPWJ/o= =P7XC -----END PGP SIGNATURE----- --------------enig32420C5D0B46F348F0F33C2D--