I have a full implementation of linear programming 
in https://github.com/sympy/sympy/issues/20391
Although if you may or may not want the code, I hope it can reduce any 
duplicate efforts if you were intending to implement the same method.

On Thursday, December 31, 2020 at 5:58:55 AM UTC+9 Oscar wrote:

> ‪On Wed, 30 Dec 2020 at 19:47, ‫אוריאל מליחי‬‎ <orielm...@gmail.com> 
> wrote:‬
> >
> > > Okay, well if you want this to be included in sympy I suggest to begin.
> > > by making some specific proposals either here or in github issues. We
> > > should agree the basic ideas before too much work is done. Of course
> > > you don't have to implement all the proposals but we should agree what
> > > makes sense as part of sympy even if your project is only a part of
> > > what we would want.
> >
> > > Where possible it is best to improve the implementation of existing
> > > API functions rather than introduce new ones but there certainly are
> > > reasons for wanting some new functions for working with inequalities:
> > > exactly what those new functions would be is the part that needs to be
> > > agreed if this is to be included in sympy.
> >
> > > I would say that eliminating one or more variables from a system of
> > > inequalities is very useful and there is e.g. Fourier-Motzkin
> > > elimination
> > > https://en.wikipedia.org/wiki/Fourier%E2%80%93Motzkin_elimination
> > > as well as linear programming:
> > > https://en.wikipedia.org/wiki/Linear_programming
> >
> > > Actually one of the most useful things at least for internal use in
> > > sympy would be being able to ask whether an inequality is implied by a
> > > collection of inequalities. A simple example is that x > 0 implies
> > > that x > 1
> >
> > I think you meant that x > 1 implies that x > 0, but I get the point.
> >
> > > but we would like to pose more complicated questions like:
> >
> > > Given that x > y, y > 0, x + y > z is it the case that 2*x > 0
> >
> > > The possible answers to a problem like this are "yes", "no" or "maybe".
> >
> > I see. Well I believe I can implement this function using the Linear 
> Programing technique.
> >
> > if that is okay with you, I would like to start working on it right 
> after my semester exams (in 3 weeks).
> >
> > Is there anything more I need to know/do before I start coding?
>
> I think the main thing is that if you are looking to contribute this
> to sympy then you should specify whether you are hoping to change
> existing public functions (which functions and how would they change?)
> or whether you are introducing new public API and if so what that API
> would be. It's not possible for me to say on behalf of sympy that any
> work would likely be included in sympy without knowing what the
> expected output is.
>
> The other thing I would say is that it's important to consider the
> symbolic case in sympy. Algorithms in the symbolic case are different
> from algorithms intended for an explicit numeric representation. As an
> example of what I mean the wikipedia article describes Fourier-Motzkin
> elimination as something that generates an exponentially growing
> number of cases and therefore is computationally awkward. That isn't
> true in sympy though because we can represent limits symbolically
> using something like `Max(a, b)` where `a` and `b` are symbols and
> that is a useful representation in situations where it isn't known
> which symbol is greater. It isn't clear to me how easily the linear
> programming techniques can apply in a situation where the coefficients
> in the inequalities are symbolic.
>
> Oscar
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/a69bc5a0-abf6-401a-9004-7c7eedbfdf8dn%40googlegroups.com.

Reply via email to