by

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)

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.
But the domain of some G-functions is also restricted. That happens in particular in case p == q. But even in this case, it should be possible to connect power series in x with those in 1/x by means of G-functions. They are all solutions of the same holonomic equation.
Kalevi Suominen
@jksuom
I was reviewing your PR on the automatic finding of coefficients. I think this line could be simplified if singular initial conditions were automatically used when the equation has a singular point. That way it should not be necessary to give lenics.
Subham Tibra
@shubhamtibra
Yes there is no need to give lenics. I will change it.
I found out that I already removed the lenics in the newer PR here.
Ondřej Čertík
@certik
@shubhamtibra, @jksuom do you think the holonomic module is something that we can even write an article about? E.g. something like this: http://dl.acm.org/citation.cfm?id=178368
I know Paul Zimmermann, he is a great guy.
The best is to look at citations for that article: https://scholar.google.com/scholar?cites=3950823902062684271&scisbd=1
See e.g. this recent article about a similar implementation in Sage: http://arxiv.org/abs/1607.01967
Ondřej Čertík
@certik
Anyway, let me know what you think. @shubhamtibra, if you are interested in publishing this, let me know. I think it would be a nice article.
Aaron Meurer
@asmeurer
If you decide to publish, it would be nice to have it in a released version of SymPy, so any help with a release would be appreciated :wink:
(In particular, if you want to help, we need to update the change log https://github.com/sympy/sympy/wiki/Release-Notes-for-1.1)
Ondřej Čertík
@certik
@asmeurer yeah, we should help. Thanks for the reminder.
Kalevi Suominen
@jksuom
Perhaps it would be practical to start by writing some Sphinx documentation.
Aaron Meurer
@asmeurer
yes
I sent a message to the list yesterday. All GSoC students should spend the last week writing documentation, and getting their PRs merged.
(That's this week)
Subham Tibra
@shubhamtibra

I think it'd be fun to write an article for the module. However I think may be we should wait a little to get the module more mature and then we can have a better article. I mean after overcoming some limitations (in integration, converting to MeijerG and to expressions) we have now. After we successfully integrate large types of functions using Holonomic Functions, we would be able to add it in the paper too. What are your thoughts about it?

I am also starting to work on Sphinx documentation.

Kalevi Suominen
@jksuom
I also thought that it would be a little premature to publish a report before some time has been spent with gathering more experience.
Ondřej Čertík
@certik
@shubhamtibra, yes, agreed. We should try to use it, and polish it more before publishing.