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)

Ondřej Čertík
@certik
I mean, to MeijerG function.
Will it always work?
I.e. if the holonomic function is a linear combination of MeijerG functions, will this always work?
Subham Tibra
@shubhamtibra
NOT ALWAYS. The current algorithm rather converts first to a linear combination of hypergeometric functions and then converts each hyper in the combination to meijerg. So if a function have G-function representation but not hypergeometric, it won't work.
There doesn't seem to exist an algorithm converting Holonomic functions directly to G-functions.
Kalevi Suominen
@jksuom
This method will only produce G-functions whose Slater expansion consists of a single hypergeometric series (m = 1). There does not seem to exist a general (symbolic) method for introducing other G-functions.
Subham Tibra
@shubhamtibra
Hi Kalevi! I couldn't write a blog post last week. Would it be Okay if I write about last week in this weeks blog post?
Also I am thinking about writing a code that itself finds the domain for the polynomial coefficients in the differential equation in a new PR. Is there anything else you have in mind we should do first?
Kalevi Suominen
@jksuom
I think it is quite ok. I know what you have accomplished, and if the others will learn that a little later, it should not matter too much. Automatically finding the coefficient domain would surely be appreciated by the users. That would probably solve the issue sympy/sympy#11323 raised by Ondřej.
Subham Tibra
@shubhamtibra
Yes, the issue is my motivation for implementing it.
Subham Tibra
@shubhamtibra
We can also add support for singular initial conditions in operations like add, multiply, integrate etc. .
Kalevi Suominen
@jksuom
It seems that initial conditions at singular points are particularly useful when holonomic functions shall be connected with G-functions and other know special functions. On the other hand, initial conditions at regular points are suitable for numerical work.
Subham Tibra
@shubhamtibra
Good Evening Kalevi! I wanted to discuss a question regarding conditions at singular point in integration.
For instance we want to integrate cos(x)2/xcos(x)^{2}/x with singular_ics = [(-1, [1, 0, -1])], i.e. the series is of the form x1(1+0x2....)x^{-1}(1 + 0 - x^{2} ....) or 1/xx+...1/x - x + .... If we integrate the initial terms of the series to compute singular_ics of the result, the term 1/x will become log(x). In cases where there is no term of x with power -1 we can compute the singular_ics directly by integration of initial terms of the series. What should be the singular_ics for this case?
Kalevi Suominen
@jksuom
General holonomic functions also have these logarithmic terms. They appear at regular singular points when some roots of the indicial equation differ by an integer (or there is a multiple root). Such expressions may become quite complicated in general if several roots are involved. In case of two roots the situation might be controllable. See e.g. the series expansions of the Bessel functions of the second kind. But it may be too ambitious to include them in this gsoc project. I am not sure of how the initial conditions should be defined. Probably something like this: log(x) multiplied by an initial condition of the more general type (i.e. x**s multiplied by a constant and optionally some low order terms), in addition of the usual initial conditions at a regular singular point.
Kalevi Suominen
@jksuom
Look at http://dlmf.nist.gov/10.8, Power Series, to see how the logarithm enters.
Subham Tibra
@shubhamtibra
This looks complicated. Should we implement it later?
Kalevi Suominen
@jksuom
I think it would be too complicated for this project.
So we should probably stop with NotImplementedError when something like this will appear.
Subham Tibra
@shubhamtibra
Hi Kalevi! I can't figure out any algorithm to compute singular_ics after multiplication of two holonomic functions. Do you have any thoughts on that?
Kalevi Suominen
@jksuom
It would seem that if you have two (partial) representations of the type xs1f1(x)x^{s_1} f_1(x) and xs2f2(x)x^{s_2} f_2 (x) the product would contain xs1+s2f1(x)f2(x)x^{s_1+s_2}f_1(x)f_2(x) with fairly obvious initial conditions. But maybe this is not what you wanted to ask?
Subham Tibra
@shubhamtibra
I actually was asking this.
Subham Tibra
@shubhamtibra
I got it now. :)
Kalevi Suominen
@jksuom
Hi. If the tests passed in Travis even with the typos, that would probably mean that those lines were not tested. Or could there be another explanation?
Subham Tibra
@shubhamtibra
Those lines should have been executed on travis because they did when I ran the tests locally. The lines were returning the final answer after multiplication. I am also stumped.
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.