From: Robert P. Goldman
Subject: Computational geometry/linear inequations
Date: 
Message-ID: <un1nh4vee.fsf@htc.honeywell.com>
Does anyone in the community know of publicly-available software
suitable for maintaining systems of linear (dis)equations?

In particular, what I'm interested in being able to do is the
following:

1.  Create a set of linear disequations and have them stored into some
    kind of matrix format.

2.  Intersect two sets of linear disequations (over the same set of
    variables).  I.e., verify that the two sets of linear disequations
    are jointly solvable, and provide the matrix that represents the
    intersection of the two matrices.  This could also be used to
    perform a subsumption check, to check whether one set of linear
    disequations implies another.

3.  Complement sets of linear disequations.  I believe this is as
    simple as generating a list of matrices, each of which represents
    the negation of a single row of the input matrix.  (e.g., if one
    row of the matrix represents the constraint that x + y <= 12 and
    one that y > 3, I would get back two matrices representing y <= 3
    and x + y > 12).  This is a trivial operation I'd be happy to do
    myself.

4.  Permit me to add a new equation for an objective function and
    optimize (could be simplex or other method).

I know that there may be better languages for doing this, but I'm
interested in embedding this code into a search engine that will do
other things as well, and would prefer this to figuring out, e.g., how
to interface CL to MATLAB.

I HAVE found the simplex.lisp from the CL repository at CMU and am
investigating using that, but I'm looking around for other
possibilities more aimed at my precise task.

Please note my feeble attempt to avoid having my address culled, and
hand-edit the address of any replies.

Many thanks,
Robert

From: David McClain
Subject: Re: Computational geometry/linear inequations
Date: 
Message-ID: <se4clvj9ead76@corp.supernews.com>
Robert,

The NML sources include the ability to interface with Lisp. I do this sort
of hybrid thing all the time with Lisp/NML. NML provides the fast
multidimensional array processor calculations and Lisp controls the program
flow.

You can find more about it at
http://www.azstarnet.com/~dmcclain/nmlpromo.html
and the zipped sources and NML.exe at
http://www.azstarnet.com/~dmcclain/nml.zip  (1100 KB).


- DM


Robert P. Goldman <··············@htc.honeywell.com> wrote in message
··················@htc.honeywell.com...
>
> Does anyone in the community know of publicly-available software
> suitable for maintaining systems of linear (dis)equations?
>
> In particular, what I'm interested in being able to do is the
> following:
>
> 1.  Create a set of linear disequations and have them stored into some
>     kind of matrix format.
>
> 2.  Intersect two sets of linear disequations (over the same set of
>     variables).  I.e., verify that the two sets of linear disequations
>     are jointly solvable, and provide the matrix that represents the
>     intersection of the two matrices.  This could also be used to
>     perform a subsumption check, to check whether one set of linear
>     disequations implies another.
>
> 3.  Complement sets of linear disequations.  I believe this is as
>     simple as generating a list of matrices, each of which represents
>     the negation of a single row of the input matrix.  (e.g., if one
>     row of the matrix represents the constraint that x + y <= 12 and
>     one that y > 3, I would get back two matrices representing y <= 3
>     and x + y > 12).  This is a trivial operation I'd be happy to do
>     myself.
>
> 4.  Permit me to add a new equation for an objective function and
>     optimize (could be simplex or other method).
>
> I know that there may be better languages for doing this, but I'm
> interested in embedding this code into a search engine that will do
> other things as well, and would prefer this to figuring out, e.g., how
> to interface CL to MATLAB.
>
> I HAVE found the simplex.lisp from the CL repository at CMU and am
> investigating using that, but I'm looking around for other
> possibilities more aimed at my precise task.
>
> Please note my feeble attempt to avoid having my address culled, and
> hand-edit the address of any replies.
>
> Many thanks,
> Robert
From: see.signature
Subject: Re: Computational geometry/linear inequations
Date: 
Message-ID: <slrn8e664k.5u.anyone@Flex111.dNWL.WAU.NL>
On 29 Mar 2000 10:02:17 -0600, Robert P. Goldman
<··············@htc.honeywell.com> wrote:

>
>Does anyone in the community know of publicly-available software
>suitable for maintaining systems of linear (dis)equations?
>
Have a look at xlispstat: 
http://www.stat.umn.edu/~luke/xls/xlsinfo/xlsinfo.html


Marc
-- 
------------------------------------------------------------------------------
email: marc dot hoffmann at users dot whh dot wau dot nl
------------------------------------------------------------------------------
From: William Deakin
Subject: Re: Computational geometry/linear inequations
Date: 
Message-ID: <38E312EB.46A9A675@pindar.com>
Robert P. Goldmanwrote:

> Does anyone in the community know of publicly-available software
> suitable for maintaining systems of linear (dis)equations?

I'm not sure that this is what you want (probably because I don't
understand you question) but there is an excellent package call Weyl which
is included in SIMLAB (www.cs.cornell.edu/Info/Projects/SimLab). This is
implemented in cl.

Best Regards,

:) will
From: Tunc Simsek
Subject: Re: Computational geometry/linear inequations
Date: 
Message-ID: <Pine.SOL.4.10.10004011922080.1072-100000@tudor.EECS.Berkeley.EDU>
Hi,

I know of two C packages that might interest you QHULL and POLYLIB

QHULL is a huge package and you can find it easily from some search
engine.  From what you describe, though, POLYLIB may be better:

        @TechReport{
          author =       "Wilde, D.",
          title =        "A library for Doing Polyhedral Operations",
          institution =  "IRISA",
          year =         1993,
          number =       "Internal Publication 785",
          address =      "Rennes, France",
          month =        "Dec"
        }

BTW, this is the first time I've heard the term disequation,
most literature goes by the name inequality.


On 29 Mar 2000, Robert P. Goldman wrote:

> 
Does anyone in the community know of publicly-available software
> suitable for maintaining systems of linear (dis)equations?
> 
> In particular, what I'm interested in being able to do is the
> following:
> 
> 1.  Create a set of linear disequations and have them stored into some
>     kind of matrix format.

This is easy.

> 
> 2.  Intersect two sets of linear disequations (over the same set of
>     variables).  I.e., verify that the two sets of linear disequations
>     are jointly solvable, and provide the matrix that represents the
>     intersection of the two matrices.  This could also be used to
>     perform a subsumption check, to check whether one set of linear
>     disequations implies another.

This is tough, due to minimality of the representation of the 
intersection. 

> 
> 3.  Complement sets of linear disequations.  I believe this is as
>     simple as generating a list of matrices, each of which represents
>     the negation of a single row of the input matrix.  (e.g., if one
>     row of the matrix represents the constraint that x + y <= 12 and
>     one that y > 3, I would get back two matrices representing y <= 3
>     and x + y > 12).  This is a trivial operation I'd be happy to do
>     myself.

This is odd, the complement of a set of linear inequalities (if nonempty)
will most like be the empty set.

> 
> 4.  Permit me to add a new equation for an objective function and
>     optimize (could be simplex or other method).
> 
> I know that there may be better languages for doing this, but I'm
> interested in embedding this code into a search engine that will do
> other things as well, and would prefer this to figuring out, e.g., how
> to interface CL to MATLAB.
> 
> I HAVE found the simplex.lisp from the CL repository at CMU and am
> investigating using that, but I'm looking around for other
> possibilities more aimed at my precise task.
> 
> Please note my feeble attempt to avoid having my address culled, and
> hand-edit the address of any replies.
> 
> Many thanks,
> Robert
> 
>