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
allow algorithm keyword when calling BuiltinFunction #17531
Comments
This comment has been minimized.
This comment has been minimized.
comment:2
Is there something missing in the example?
|
comment:3
instead of
Also, |
This comment has been minimized.
This comment has been minimized.
comment:5
Isn't this a bug? Hold as no effect:
|
Changed branch from u/rws/allow_algorithm_keyword_when_calling_builtinfunction to none |
This comment has been minimized.
This comment has been minimized.
New commits:
|
Author: Ralf Stephan |
Commit: |
comment:9
This means that any function now accepts the
|
comment:11
General Sage behavior is to raise some sort of not implemented error or something "unknown algorithm" - we do this in a number of contexts. |
comment:12
Replying to @kcrisman:
Actually, the |
comment:13
Well, right, in this case it should just say "undefined keyword" or something! |
comment:14
Replying to @kcrisman:
If you so insist, please help with the following design decision. We could
Granted, C does make some sense in that all numeric issues are moved into EDIT: C does not make sense with functions returning int or polynomials and having different algorithms, unless the meaning of See also #15200 where Jeroen argues for hardcoding a few backend choices. #17489 depends on this. |
comment:15
Nevertheless, C seems best. |
comment:16
Hmm. I do kind of like A), actually. We already have the dictionary of conversions to other systems (Maxima, Mma, etc.), right? This seems very analogous. But it sounds like you have some concrete examples of some shortcomings. I do agree that the end user might not like C). |
comment:17
Though maybe if all our other functions have C), as a little browsing suggests, maybe it is okay. For instance, in #17489 I'm not sure Jeroen is suggesting we must do this, just that it should be consistent. |
comment:18
I would propose D: D) accept any
|
comment:19
Ah OK. This can go into |
This comment has been minimized.
This comment has been minimized.
comment:34
Ping? |
Changed branch from u/rws/allow_algorithm_keyword_when_calling_builtinfunction to u/rws/17531-1 |
comment:36
Seems the recent New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:38
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:41
I'll close this as wontfix, my argument is in #17489 comment:48 |
comment:42
closing positively reviewed duplicates |
As per #17489 comment:17 and #17489 comment:23, the ticket should improve the
BuiltinFunction
class, such that subclassed function classes that have analgorithm=...
keyword given via function call will automatically have this keyword inserted into any__evalf__
member function call.This means the following should be possible without changes to
subclassedfunction.__call__
:At the moment, as with all(?) symbolic functions we get
So the ticket should also give a better error message for existing functions.
#16812 and #17489 depend on this.
CC: @jdemeyer
Component: symbolics
Keywords: symbolic functions
Author: Ralf Stephan
Branch/Commit: u/rws/17531-1 @
b7e88d4
Issue created by migration from https://trac.sagemath.org/ticket/17531
The text was updated successfully, but these errors were encountered: