-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Constructing with t = 1
and c
non-integer takes an insanely long time
#119
Comments
I'm surprised this even works. Is it using Lanczos fallback here? We could always assert t>1 somewhere. |
It's evaluating this jacobimatrix(LanczosPolynomial(@.(x^a * (1-x)^b * (t-x)^c), jacobi(b, a, UnitInterval{T}()))) Would it be more appropriate to assert |
What you wrote is definitely correct mathematically. Since for t=1 the weight can have a singularity on the domain boundary I suspect there will be convergence issues unless one is careful which may be why it's so slow as is. I think redirecting it to b+c could make sense but whether to do that or just ban t=1 is a design philosophy question If you think redirecting would be useful you can definitely try implementing it, probably first would want to replace the Lanczos fallback though if that hasn't been done yet. |
Since it might be a bit questionable, for now I'll probably just work around it my own code and if it comes up again I'll think about it some more. Working with it in my own code might reveal some more reasons not to use it as well. |
in an ideal world we come up with an algorithm whose cost is uniform as t -> 1 but in the meantime probably best to just throw an error |
I can of course just get around this by checking first if
t=1
and then replacingSemiclassicalJacobi(t, a, b, c)
withSemiclassicalJacobi(t, a, b + c, 0.0)
, but could be nice to fix this at some pointThe text was updated successfully, but these errors were encountered: