Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Aug 20 2016 17:55

    shubhamtibra on fixing_bugs

    added uses in integration and l… (compare)

  • Aug 20 2016 17:52

    shubhamtibra on fixing_bugs

    added uses in integration and l… (compare)

  • Aug 15 2016 14:48

    shubhamtibra on fixing_bugs

    trying to fix build errors (compare)

  • Aug 14 2016 16:14

    shubhamtibra on fixing_bugs

    made changes as per the suggest… uncomment statements in examples (compare)

  • Aug 14 2016 08:40

    shubhamtibra on fixing_bugs

    changed to documentation to sup… (compare)

  • Aug 14 2016 07:03

    shubhamtibra on fixing_bugs

    added docs for integration and … add autofunction in docs (compare)

  • Aug 13 2016 13:28

    shubhamtibra on fixing_bugs

    better explanation of holonomic… (compare)

  • Aug 13 2016 13:25

    shubhamtibra on fixing_bugs

    better explanation of holonomic… (compare)

  • Aug 13 2016 13:03

    shubhamtibra on fixing_bugs

    better explanation of holonomic… (compare)

  • Aug 13 2016 10:32

    shubhamtibra on fixing_bugs

    changed the structure of docume… (compare)

  • Aug 13 2016 10:17

    shubhamtibra on fixing_bugs

    changed the structure of docume… (compare)

  • Aug 12 2016 17:06

    shubhamtibra on fixing_bugs

    added a very basic sphinx docum… added things in documentation (compare)

  • Aug 12 2016 09:28

    shubhamtibra on test_doc

    added a very basic sphinx docum… (compare)

  • Aug 10 2016 12:42

    shubhamtibra on fixing_bugs

    Added tests for KanesMethod.rhs… Changed KanesMethod.rhs() such … Merge pull request #1 from krit… and 100 more (compare)

  • Aug 09 2016 08:06

    shubhamtibra on fixing_bugs

    Fix #11490 and Fix #11491 (compare)

  • Aug 08 2016 14:04

    shubhamtibra on fixing_bugs

    fixed a bug in computing initia… (compare)

  • Aug 06 2016 16:03

    shubhamtibra on fixing_bugs

    change printing of holonomic fu… (compare)

  • Aug 04 2016 06:02

    shubhamtibra on singular_ics

    change a to int(a) (compare)

  • Aug 03 2016 09:25

    shubhamtibra on singular_ics

    fixed a bug and added tests computing singular initial cond… (compare)

  • Aug 01 2016 12:17

    shubhamtibra on singular_ics

    fixed a bug in unify and added … (compare)

Kalevi Suominen
@jksuom
In any case, sol must have been available in a dictionary, if not in the local dictionary, then in the dictionary of one of the calling routines. Its value may have been correct by chance.
Subham Tibra
@shubhamtibra
I think you are right.
Subham Tibra
@shubhamtibra
Hi Kalevi. I've added things I could think of in sympy/sympy#11422. You can also give your thoughts now.
Kalevi Suominen
@jksuom
Hi. I just saw it and wrote some comments.
Kalevi Suominen
@jksuom
I wonder if some additional initial conditions should be added to the result of expr_to_holonomic.
Subham Tibra
@shubhamtibra
Do you mean the method should return this new initial condition for more types of functions? It currently computes this initial condition only for the algebraic functions.
Kalevi Suominen
@jksuom
It seems that the condition may not suffice to define the function. For example, all constant multiples of x have value 0 at the origin. The coefficient of the first nonzero power is needed.
Ondřej Čertík
@certik
@shubhamtibra what's the problem regarding sympy/sympy#11323 ?
Did I do something wrong when using symbolic variables as coefficients?
Subham Tibra
@shubhamtibra
No. Of course not. What you used should be the ideal way of doing it while using symbolic variables. At present there are additional keyword arguments like specifying the domain, and the number of initial conditions to fix the problem. :)
Kalevi Suominen
@jksuom
I think it is otherwise ok now, but we have to use singular initial conditions since the equation is singular at 0.
Subham Tibra
@shubhamtibra
Yes. We should have an algorithm for computing singular_ics for more functions.
Subham Tibra
@shubhamtibra
I changed the title of the PR to a more descriptive one.
Subham Tibra
@shubhamtibra
Hi Kalevi! I was thinking next to add functionality in expr_to_holonomic so it can calculate singular_ics for more types of functions. Do you have any other thing in mind to do first?
Kalevi Suominen
@jksuom
No. I think that could be the next task.
Ondřej Čertík
@certik
@shubhamtibra can you post to that issue showing how it can be used right now? I just want to play with it. I understand that we can improve the API and so on, but right now I just want to play with it.
Subham Tibra
@shubhamtibra
I posted it. #issuecomment
Subham Tibra
@shubhamtibra
Hi Kalevi! I added singular initial conditions to the result of expr_to_holonomic while converting polynomials if the differential equation is singular. Do you have other types of functions in mind where we can calculate the singular initial conditions?
Kalevi Suominen
@jksuom
I think it would be proper to use singular initial conditions whenever the point in question is a regular singular point of the equation.
Subham Tibra
@shubhamtibra

Does there exist a general algorithm to compute singular initial condition for functions? I actually was adding code to compute it one by one for specific families of functions like polynomials and algebraic functions.

It'd be possible to compute it easily for any function if the indicial equation have only one root r. We can then use g(x) = f(x)/x**r. So the singular initial condition should be {r:[g(x0), g'(x0), g''(x0)/2! ...]}.

Kalevi Suominen
@jksuom
Multiple roots are not good. They lead to solutions with logarithmic terms. The best situation is the one where the roots are different modulo 1.
Subham Tibra
@shubhamtibra
Hi! I have made the change as you suggested here in PR sympy/sympy#11451.
Kalevi Suominen
@jksuom
That is good. It is also necessary for range(a).
Subham Tibra
@shubhamtibra
The statement a = int(a) is defined here before using range(a). So I guess a would be an integer while calling range().
Kalevi Suominen
@jksuom
Yes, that is what I meant.
Subham Tibra
@shubhamtibra
Do you have any thoughts on what we can work on next?
Kalevi Suominen
@jksuom
Perhaps the issues raised by Ondřej should be checked.
Subham Tibra
@shubhamtibra
You are right. I will be working on them. :)
Subham Tibra
@shubhamtibra
Should I add HolonomicFunction in srepr for a valid python output or change the default one to use f = Function('f')?
According to issue the str should be valid python.
Subham Tibra
@shubhamtibra

I think the better way to do this can be:

str will use f = Function('f') in printing so that one can use .subs(). So it should return HolonomicFunction(f(x) + Derivative(f(x), x, x), x), f(0) = 0, f'(0) = 1 for our example.

And calling srepr on the example should return HolonomicFunction(1 + Dx**2, x, 0, [0, 1]) which is valid python.

Subham Tibra
@shubhamtibra
However the str representation seems to be too lengthy this way so may be we can wait until we have an implementation of the derivative operator as suggested in sympy/sympy#4719?
Kalevi Suominen
@jksuom
Printing in SymPy differs from the Python standard in a way that is sometimes hard to understand. The Python manual says about str: This differs from __repr__() in that it does not have to be a valid Python expression: a more convenient or concise representation may be used instead. On the other hand, srepr in SymPy does represent e.g 1 + Dx**2 in the following form Add(Pow(Symbol('Dx'), Integer(2)), Integer(1)), which is not very convenient here.
Subham Tibra
@shubhamtibra
So we should keep the Dx representation in __str__() for now then?
Kalevi Suominen
@jksuom
I cannot think of a better solution now. But maybe something could be done to the initial conditions. Maybe they could be included as arguments to the call of HolonomicFunction (in list form), so that SymPy could read the result.
The list (or maybe dictionary) form is not as readable as the current representation, but it seems that some kind of compromise is necessary.
Subham Tibra
@shubhamtibra
Like this HolonomicFunction(1 + Dx**2, x, 0, [0, 1]) with keeping the suggestions you posted on the issue in mind, right?
Subham Tibra
@shubhamtibra
We won't be benefited much by using this representation I think because we still won't be able to use .subs() directly and our current representation is also more readable. Should we wait for the implementation of the derivative operator?
Kalevi Suominen
@jksuom
That may take a long time...
Subham Tibra
@shubhamtibra
I will make the changes then. :)
Subham Tibra
@shubhamtibra
Hi! Is there a way to find convergence conditions using Holonomic Functions like MeijerG Integrator? May be our method for converting to MeijerG could help?
Kalevi Suominen
@jksuom
Hi. I only now noticed your question. If you want convergence conditions for power series, the rule is that the radius of convergence is equal to the distance to the closest singular point other than the center point of the series. The convergence conditions of G-functions are different type since they are defined by contour integrals.
Subham Tibra
@shubhamtibra
I think the convergence conditions can be added to the result of to_expr().
Since we are only using the hypergeometric series at present while converting to expressions we can use its convergence conditions which is just a special case of a general power series?
We would also need to do analytic continuation in the case p = q + 1.
Kalevi Suominen
@jksuom
The radius of convergence of hypergeometric series is easy to find.
Kalevi Suominen
@jksuom
I assume that p and q in the above condition are the parameters of hyper which differ from those of G-functions where the condition would be p == q. In that case there are Slater expansions at both zero and infinity. They are analytic continuations of each other. The equation has a third singular point at 1 (or -1 for the plus sign case). That singularity restricts the convergence of the power series of both x and 1/x.
Subham Tibra
@shubhamtibra
Yes, p and q are parameters of hyper.
Kalevi Suominen
@jksuom
The Slater expansions are combinations of several hypergeometric series, in general. The analytic continuation of even a single series will lead to such a combination.
Subham Tibra
@shubhamtibra
However Slater expansion involves a Meijer G-function right? Is it possible to continue a hyper also using Slater expansion?
I meant analytic continue.
Kalevi Suominen
@jksuom
I did mean that G-functions, whose domain is not restricted to a disk, can be used to connect pieces of analytic functions defined by series in different parts of the complex plane. Otherwise it is hard to find a practical method for analytic continuation.