On Mon, Apr 29, 2013 at 5:02 PM, <[email protected]> wrote:

>   Today's Topic Summary
>
> Group: http://groups.google.com/group/sympy/topics
>
>    - Diophantine Equations Module <#13e55909abc26344_group_thread_0> [4
>    Updates]
>    - GSoC 2013: Equation editor <#13e55909abc26344_group_thread_1> [4
>    Updates]
>    - GSoC 2013: Univariate polynomials over algebraic 
> domains<#13e55909abc26344_group_thread_2>[5 Updates]
>    - Lie algebras GSOC application <#13e55909abc26344_group_thread_3> [4
>    Updates]
>    - Introduction and a possible project<#13e55909abc26344_group_thread_4>[2 
> Updates]
>    - GSoC 2013: Error-correcting codes <#13e55909abc26344_group_thread_5>[1 
> Update]
>    - Diophantine Equations Module <#13e55909abc26344_group_thread_6> [1
>    Update]
>    - sympy.nsolve seems to solve system of non linear equations
>    incorrectly <#13e55909abc26344_group_thread_7> [1 Update]
>
>   Diophantine Equations 
> Module<http://groups.google.com/group/sympy/t/1fb97951a1ff753e>
>
>    Thilina Rathnayake <[email protected]> Apr 28 01:07PM -0700
>
>    Hi, I would like to implement a Diophantine equations module for Sympy.
>    You can find my pull request here <
>    https://github.com/sympy/sympy/pull/2024>.
>    It's still not merged.
>
>    I hope to solve following classical Diophantine equations. All the
>    variables and constants
>    used here are integers.
>
>    1)* **a1x1 + a2x2 + a3x3 + ...+ anxn = b* (Linear diophantine equation)
>    Here *a1, **a2, ... **an* and b are constants.If solvable (there is a
>    condition to determine this),
>    solving this equation means expressing any two variables using other
>    variables and an
>    arbitrary integer* *n. i.e. solution is given by
>    x1 = x1, x2 = x2, ... xn-2 = xn-2 , xn-1 = f( x1, x2, ... xn-2, n),
>    xn-1 =
>    g( x1, x2, ... xn-2, n)
>    f and g are functions to be determined.
>
>    2) x12 + x22 + x32 + ... xn2 = k
>    Here k is a non-negative constant. There will be a number of solutions
>    depending on
>    n and k. Solving this means assigning constants *a1, **a2, ... **an*
>    to x*i
>    *'s respectively.
>
>    3) x12 + x22 + x32 + ... xn2 = xn+12 (extension of Pythogorean
>    equation)
>    Solving this is pretty standard. There is a general primitive solution
>    set
>    using n relatively
>    prime integers. All other solutions can be obtained by multiplying
>    those
>    equations by
>    an arbitrary integer.
>
>    4) x2 + axy + y2 = z2
>    Here a is a constant. If z is a variable, a general solution can be
>    given
>    to this equation
>    using a and three arbitrary integers. If z is a constant actual
>    solutions
>    can be given.
>
>    5) x2 - Dy2 = m2 (Pell's equation)
>    Here D and m are constants. This has either no solution or infinitely
>    many
>    solutions.
>    ax2 - by2 = 1 and ax2 + bxy + cy2 + dx + ey + f = 0 can also be solved
>    with the
>    light
>    of Pell's equation.
>
>    Lot of Diophantine equations can be converted to one of these forms.
>    Addition
>    of this kind
>    a module will be a huge enhancement for Sympy. I would like to know
>    how I
>    can improve
>    this. Thanks in advance.
>
>
>
>    References
>    [1] An Introduction to Diophantine Equations*, Andreescu*, Titu,
>    *Andrica*,
>    Dorin, *Cucurezeanu*, Ion
>    [2] http://mathworld.wolfram.com/DiophantineEquation.html
>    [3] http://en.wikipedia.org/wiki/Diophantine_equation
>
>    Regards,
>    Thilina Rathnayake.
>
>
>
>
>    Aaron Meurer <[email protected]> Apr 28 02:22PM -0600
>
>    Just to be clear, is this for GSoC, or is this just something that you
>    want to implement on your own?
>
>    On Sun, Apr 28, 2013 at 2:07 PM, Thilina Rathnayake
>    > x1 = x1, x2 = x2, ... xn-2 = xn-2 , xn-1 = f( x1, x2, ... xn-2, n),
>    xn-1 =
>    > g( x1, x2, ... xn-2, n)
>    > f and g are functions to be determined.
>
>    The n in the indices is different from the other n, right?
>
>    Is the rank of the system always 2 in this case?
>
>    > a module will be a huge enhancement for Sympy. I would like to know
>    how I
>    > can improve
>    > this. Thanks in advance.
>
>    It sounds like a good start. If this is for GSoC, I'd like to see more
>    details.
>
>    One thing to be aware of is that you will probably spend more time
>    worrying about how to pattern match these things than writing the
>    algorithms to solve them. SymPy has .match, but it can be limited.
>    For example, you can easily write a pattern to match
>
>    x1**2 + x2**2 = k
>
>    But if you can solve that, then you can also solve
>
>    (x1 - 1)**2 + (x2 - 1)**2 = k
>
>    or
>
>    x1**2 - 2*x1 + x2**2 - 2*x2 = k
>
>    by a simple shift. But the same simple pattern won't match either of
>    these. I ran into this kind of issue all the time when I wrote the ODE
>    module, which works very similarly (by the way, you should take a look
>    at the design there, as I think the design of this module can be very
>    similar). We should extend the pattern matcher's abilities to be able
>    to still succulently write patterns, but to allow them to match more
>    advanced things like shifts automatically.
>
>    Of course, the worst case scenario is that it won't recognize a given
>    equation as being in a certain form, so it just won't be able to solve
>    as much as it could. So if you want, you could focus on this, or you
>    could leave it to someone else.
>
>    Aaron Meurer
>
>
>
>
>
>    Thilina Rathnayake <[email protected]> Apr 29 11:21AM +0530
>
>    Thanks Aaron for your reply. I am proposing this as a GSoC project.
>    Sorry, I didn't mention it earlier. However, even if this is not
>    accepted
>    as a
>    GSoC project, I would like to work on this.
>
>    The two n's are different. I should have used distinct letters instead
>    of
>    the n's.
>    Sorry for the confusion.
>
>    I have assumed that all ai's are nonzero and the above linear
>    Diophantine
>    equation (DE) satisfies the condition for the existence of solutions.
>    If
>    n>=3,
>    then solutions to the above linear equation can always be given using
>    n-1
>    parameters. If we define first n-2 xi's as parameters, then with
>    another
>    parameter m, we can express the solutions for the other two. For n=2,
>    solutions
>    can be determined using only one parameter, m. For n=1, If a solution
>    exists,
>    it can be computed by dividing b by a1. I guess I answered your
>    question.
>    If not please let me know.
>
>    I checked the ODE module and indeed it can be used as a reference model
>    for this project. I hope to implement a method DiophantineSolve(),
>    which
>    would
>    take DE to be solved in the form f(x1*,* x2*,* x3*,* ...xn) = 0 or
>    f(x, y,
>    z) = 0 as an
>    argument. All of the proposed equations can be expressed in such a way
>    by a
>    simple
>    rearrangement. It will return the solutions/solution if they/one
>    exist(s).
>
>    For inner computations a classification function would be needed as in
>    ODE
>    module.
>    That can be used to determine whether the DE is linear, quadratic,
>    Pythogrean, .. etc.
>    Algorithm used for the solution will depend on the result of this
>    classification.
>
>    I am still studying the ODE module. I am not familiar with pattern
>    matcher
>    either.
>    I would take a look at that also. Comments and suggestions are
>    appreciated.
>
>    Thanks in advance.
>
>    Regards,
>    Thilina Rathnayake.
>
>
>
>
>
>
>    Aaron Meurer <[email protected]> Apr 29 12:02AM -0600
>
>    On Sun, Apr 28, 2013 at 11:51 PM, Thilina Rathnayake
>    > Sorry, I didn't mention it earlier. However, even if this is not
>    accepted
>    > as a
>    > GSoC project, I would like to work on this.
>
>    OK. In that case, you should get writing on your application, as the
>    deadline is Friday. What you wrote here is a good start. You will also
>    need to delineate it into a timeline, think (a lot) about the
>    interface (my personal opinion is that you should mimic the ODE module
>    exactly, but your application should demonstrate that you understand
>    that structure), and give more details to demonstrate that you really
>    do understand the theory (maybe show how to solve an example problem).
>
>    > Pythogrean, .. etc.
>    > Algorithm used for the solution will depend on the result of this
>    > classification.
>
>    Yes, I believe the structure can match the ODE module almost exactly,
>    at least as far as matching having various hints goes. You might also
>    want to look at the constantsimp stuff if your solutions will result
>    in a dependence in new, arbitrary parameters. I wouldn't worry about
>    that for the outset, though, even if that is the case.
>
>
>    > I am still studying the ODE module. I am not familiar with pattern
>    matcher
>    > either.
>
>    The pattern matcher is very simple. Just set up the variables you want
>    to match as Wild, create the pattern expresion, and use matches. The
>    issue is that it is very stupid in that it matches almost nothing
>    beyond what you explicitly tell it to. You also need to be careful to
>    always set the exclude parameter on the Wild objects to exclude your
>    variables. Otherwise, if you do something like try to match a*x + b*y
>    against 3*x + 2*y (here a and b are the Wilds and x and y are the
>    Symbols), you will expect to get {a: 3, b:2}, but you might instead
>    get {a:0, b:3*x/y + 2}.
>
>    Aaron Meurer
>
>
>
>
>   GSoC 2013: Equation 
> editor<http://groups.google.com/group/sympy/t/54fdeda4901a75e6>
>
>    Alexander Gudulin <[email protected]> Apr 28 01:40PM -0700
>
>    Hi everybody,
>
>    My name is Alexander Gudulin, I am a second year student at Saint
>    Petersburg State University, Russia.
>    I'm interested in solving "Equation editor" problem. Wiki says it
>    would be
>    great to discuss this idea with you guys.
>
>    Have you got any additional thoughts about the problem or should I
>    suggest
>    any ideas?
>
>
>
>
>    Aaron Meurer <[email protected]> Apr 28 09:38PM -0600
>
>    It's fairly open ended, in that you'll need to come up with most of it
>    yourself (we haven't thought too hard about it). You should probably
>    focus on the IPython notebook.
>
>    Aaron Meurer
>
>    On Sun, Apr 28, 2013 at 2:40 PM, Alexander Gudulin
>
>
>
>
>    Chris Smith <[email protected]> Apr 29 10:14AM +0545
>
>    I wonder if the desmos editor could be used to do this. Perhaps code
>    that
>    communicates between sympy and a web page?
>
>    https://www.desmos.com/frontpage?utm_expid=43664205-2
>
>
>
>
>    Aaron Meurer <[email protected]> Apr 28 11:53PM -0600
>
>    Maybe I missed it, but can that even be used as a library? It looks
>    like it is all closed source, and stuck within its own ecosystem.
>
>    But I agree that if you can find an already existing equation editor
>    that can be hooked up to SymPy that that would be a good alternative
>    to writing one from scratch.
>
>    Also, I don't think it would be too much work to extend the Unicode
>    pretty printer to get a curses based equation editor. If you search
>    the list, I've explained the idea in a little more depth in the past.
>
>    Aaron Meurer
>
>
>
>
>
>   GSoC 2013: Univariate polynomials over algebraic 
> domains<http://groups.google.com/group/sympy/t/81dab0b278aaafeb>
>
>    Katja Sophie Hotz <[email protected]> Apr 28
>    01:27PM -0700
>
>    I just finished a first version of my GSoC application. As it turned
>    out,
>    some of the stuff I wanted to do is already implemented, so I changed
>    the
>    direction of my proposal a bit.
>    The new title is Faster Algorithms for Polynomials over Algebraic
>    Number
>    Fields<
>    
> https://github.com/sympy/sympy/wiki/GSoC-2013-Application-Katja-Sophie-Hotz:-Faster-Algorithms-for-Polynomials-over-Algebraic-Number-Fields
>    >
>    . As far as I can see these algorithms would be new to SymPy.
>
>    I would be very grateful for any feedback.
>
>    Thank you in advance,
>    Katja Sophie
>
>
>
>
>    Aaron Meurer <[email protected]> Apr 28 03:05PM -0600
>
>    Don't forget to submit this in Melange.
>
>    Aaron Meurer
>
>    On Sun, Apr 28, 2013 at 2:27 PM, Katja Sophie Hotz
>
>
>
>
>    David Joyner <[email protected]> Apr 28 05:30PM -0400
>
>    On Sun, Apr 28, 2013 at 4:27 PM, Katja Sophie Hotz <
>    > Fields<
>    
> https://github.com/sympy/sympy/wiki/GSoC-2013-Application-Katja-Sophie-Hotz:-Faster-Algorithms-for-Polynomials-over-Algebraic-Number-Fields
>    >
>    > . As far as I can see these algorithms would be new to SymPy.
>
>    > I would be very grateful for any feedback.
>
>
>
>    I realize that this is not your fault, but the fact that the Sympy
>    documentation [1] lacks
>    examples of algebraic numbers will make it more difficult to evaluate
>    the
>    feasibility of
>    your proposal.
>
>
>    [1]
>
>    
> http://docs.sympy.org/dev/modules/polys/reference.html#algebraic-number-fields
>
>
>
>
>
>
>    Aaron Meurer <[email protected]> Apr 28 04:04PM -0600
>
>    Algorithms like factor can handle algebraic numbers using the
>    extension flag
>
>    In [182]: factor(x**2 + 1, extension=[I])
>    Out[182]: (x - ⅈ)⋅(x + ⅈ)
>
>    In general, algebraic numbers can be slow, because minpoly is slow
>    (this is being fixed at https://github.com/sympy/sympy/pull/2038). I
>    think multiple extensions are also slow for other reasons.
>
>    Currently, only algebraic numbers are supported, but it would be great
>    to support algebraic functions (like sqrt(x) instead of sqrt(2)).
>
>    Aaron Meurer
>
>
>
>
>
>    Katja Sophie Hotz <[email protected]> Apr 28
>    03:55PM -0700
>
>    As far as I know, the modular gcd algorithm and the factorization
>    algorithm
>    from my proposal
>    can be extended to algebraic function fields, but I don't think there
>    will
>    be enough time to go that far in one summer.
>
>
>
>   Lie algebras GSOC 
> application<http://groups.google.com/group/sympy/t/435638803f8e3295>
>
>    Mary Clark <[email protected]> Apr 28 01:38PM -0700
>
>    Hi all, I've written up a preliminary version of my application:
>
>    
> https://github.com/sympy/sympy/wiki/GSOC-2013-Application-Mary-Clark:-Lie-Algebras
>    Any comments/suggestions/etc would be welcome.
>
>    Mary
>
>
>
>
>    Aaron Meurer <[email protected]> Apr 28 03:05PM -0600
>
>    Don't forget to submit it in Melange.
>
>    Aaron Meurer
>
>
>
>
>
>    Alan Bromborsky <[email protected]> Apr 28 06:04PM -0400
>
>    On 04/28/2013 04:38 PM, Mary Clark wrote:
>    > To post to this group, send email to [email protected].
>    > Visit this group at http://groups.google.com/group/sympy?hl=en-US.
>    > For more options, visit https://groups.google.com/groups/opt_out.
>
>    You might find the attachment of interest -
>
>
>
>
>    Prasoon Shukla <[email protected]> Apr 28 03:33PM -0700
>
>    You should also add a link to your application here:
>    https://github.com/sympy/sympy/wiki/GSoC-2013-Current-Applications
>
>
>
>   Introduction and a possible 
> project<http://groups.google.com/group/sympy/t/14f75f2e9fb58b6e>
>
>    Stefan Krastanov <[email protected]> Apr 28 10:30PM +0200
>
>    Hi,
>
>    Check our github wiki pages for GSoC 2013 information. Be aware that
>    we require all applicants to submit a patch on github (to gauge their
>    abilities with python and git).
>
>
>
>
>
>    Saurabh Jha <[email protected]> Apr 28 01:34PM -0700
>
>    Hi Saurav,
>
>    You may find this discussion helpful
>
>
>    
> http://groups.google.com/group/sympy/browse_thread/thread/fbbb7effcaf92fe4/c6f6d9c1a4543507?lnk=gst&q=Karr+algorithm+Saurabh+Jha#c6f6d9c1a4543507
>
>    Also, I would advice to get started with fulfilling patch requirement,
>    check application template on wiki pages
>
>    -Saurabh Jha
>
>
>
>
>   GSoC 2013: Error-correcting 
> codes<http://groups.google.com/group/sympy/t/55b7de825819314e>
>
>    Aaron Meurer <[email protected]> Apr 28 02:06PM -0600
>
>    I don't know (it depends on how much work Matuesz does). A contingency
>    would be to find suitable work-arounds.
>
>    Note that even the cyclic finite fields also need a lot of work. For
>    example, they are currently not instances of Basic, meaning that just
>    doing Matrix([[FF(2)(1)]]) does not work because of
>    https://code.google.com/p/sympy/issues/detail?id=3784. So I would
>    plan on doing a good chunk of work on just fixing those.
>
>    If those objects are Basic, then I think that they should just work if
>    you dump them into the matrices. It won't be as fast as it will be
>    when the matrices get proper domains, but at least it will work, and
>    as soon as the matrices are rewritten, it will automatically become
>    faster.
>
>    Aaron Meurer
>
>
>
>
>   Diophantine Equations 
> Module<http://groups.google.com/group/sympy/t/460ab0ee52ee1fae>
>
>    Thilina Rathnayake <[email protected]> Apr 28 01:04PM -0700
>
>    Hi, I would like to implement a Diophantine equations module for Sympy.
>    You can find my pull request here <
>    https://github.com/sympy/sympy/pull/2024>.
>    It's still not merged.
>
>    I hope to solve following classical Diophantine equations. All the
>    variables used
>    here are integers unless otherwise stated.
>
>    1)* **a1x1 + a2x2 + a3x3 + ...+ anxn = b* (Linear diophantine equation)
>    Here *a1, **a2, ... **an* and b are constants.If solvable (there is a
>    condition to determine this),
>    solving this equation means expressing any two variables using other
>    variables and an
>    arbitrary integer* *n. i.e. solution is given by
>    x1 = x1, x2 = x2, ... xn-2 = xn-2 , xn-1 = f( x1, x2, ... xn-2, n),
>    xn-1 =
>    g( x1, x2, ... xn-2, n)
>    f and g are functions to be determined.
>
>    2) x12 + x22 + x32 + ... xn2 = k
>    Here k is a non-negative constant. There will be a number of solutions
>    depending on
>    n and k. Solving this means assigning constants *a1, **a2, ... **an*
>    to x*i
>    *'s respectively.
>
>    3) x12 + x22 + x32 + ... xn2 = xn+12 (extension of Pythogorean
>    equation)
>    Solving this is pretty standard. There is a general primitive solution
>    set
>    using n relatively
>    prime integers. All other solutions can be obtained by multiplying
>    those
>    equations by
>    an arbitrary integer.
>
>    4) x2 + axy + y2 = z2
>    Here a is a constant. If z is a variable, a general solution can be
>    given
>    to this equation
>    using a and three arbitrary integers. If z is a constant actual
>    solutions
>    can be given.
>
>    5) x2 - Dy2 = m2 (Pell's equation)
>    Here D and m are constants. This has either no solution or infinitely
>    many
>    solutions.
>    ax2 - by2 = 1 and ax2 + bxy + cy2 + dx + ey + f = 0 can also be solved
>    with the
>    light
>    of Pell's equation.
>
>    Lot of Diophantine equations can be converted to one of these forms.
>    Addition
>    of this kind
>    a module will be a huge enhancement for Sympy. I would like to know
>    how I
>    can improve
>    this. Thanks in advance.
>
>
>    References
>    [1] An Introduction to Diophantine Equations*, Andreescu*, Titu,
>    *Andrica*,
>    Dorin, *Cucurezeanu*, Ion
>    [2] http://mathworld.wolfram.com/DiophantineEquation.html
>    [3] http://en.wikipedia.org/wiki/Diophantine_equation
>
>    Regards,
>    Thilina Rathnayake.
>
>
>
>   sympy.nsolve seems to solve system of non linear equations 
> incorrectly<http://groups.google.com/group/sympy/t/d11478ec1d13d5d8>
>
>    Pushpak Dagade <[email protected]> Apr 28 09:08AM -0700
>
>    Thanks a lot chris for your timely help!
>    I hope this helps me out in my work ahead.
>
>    On Friday, 26 April 2013 01:44:21 UTC+5:30, smichr wrote:
>
>
>
>  You received this message because you are subscribed to the Google Group
> sympy.
> You can post via email <[email protected]>.
> To unsubscribe from this group, send <[email protected]>an 
> empty message.
> For more options, visit <http://groups.google.com/group/sympy/topics>this 
> group.
>
> --
> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sympy?hl=en-US.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to