I think we have a consensus that we should do *something* but unless I am very much mistaken, the suggestion from Vincent Delecroix and Nils Bruin that we make a symbolic function has advantages.
I was looking at Nils's code, but I have to confess that I don't understand that code. Actually, I wasn't able to get the following to work, but I have a feeling that I am making a minor and stupid mistake with the syntax. ################ from sage.symbolic.function import SymbolicFunction class nth_root(SymbolicFunction): def __init__(self): SymbolicFunction.__init__(self, 'nth_root', nargs=2) def _evalf_(self, n, x, parent=None): return parent(x).nth_root(n) plot( nth_root( x, 3), -5, 5 ) ################ Maybe someone here could explain exactly what the distinction is or what the pros/cons are for my approach versus Nils's? I have no idea. I have also posted this on Sage-Edu, but perhaps all future replies should be restricted to Sage-Devel and not Sage-Edu? ---Greg On Wednesday, June 25, 2014 1:10:06 AM UTC-4, Gregory Bard wrote: > > As Vincent and Niles have brought up, there might be advantages to it > being a symbolic function. How does one actually go about making that > happen? Is this an intrusive change, or an easy one? I really have no > idea... > ---Greg > > > On Sun, Jun 22, 2014 at 5:00 PM, Vincent Delecroix > <20100.delecr...@gmail.com> wrote: > > As Niles already said it would be better to have it as a symbolic > function > > > > sage: f(x) = real_nth_root(x, 5) > > sage: f > > x |--> real_nth_root(x,5) > > > > 2014-06-22 22:36 UTC+02:00, Gregory Bard <gregory.bard1...@gmail.com>: > >> Yes, that is reasonable. Let us call it "real_nth_root" instead, as > >> suggested by Nicolas Thiery. Any other requests/comments? > >> > >> It would be superb if this could be resolved by June 30th, when my > >> book goes to the American Mathematical Society for publication... > >> ---Greg > >> > >> On Sun, Jun 22, 2014 at 9:02 AM, William Stein <wst...@gmail.com> > wrote: > >>> On Sun, Jun 22, 2014 at 8:27 AM, Nicolas M. Thiery > >>> <nicolas.thi...@u-psud.fr> wrote: > >>>> On Fri, Jun 20, 2014 at 06:33:52PM -0700, Gregory Bard wrote: > >>>>> It seems that the consensus on both Sage-devel and Sage-edu is to go > >>>>> with some sort of nth_real_root function. I propose the following, > >>>>> which I have tested for evaluation, plotting, differentiation, and > >>>>> integration. Sadly, the derivative has a Dirac delta in it, which is > >>>>> ... perhaps unavoidable because of the vertical tangency of the > >>>>> cuberoot function at x=0. (Naturally, we can remove the asserts once > >>>>> testing is completed. > >>>>> ---Greg > >>>>> > >>>>> def nth_real_root( x, n ): > >>>> > >>>> Just 2 cents of outsider feedback since I have not followed the > >>>> discussion, and am not knowledgeable on the topic. This names > suggests > >>>> to me that we look at all the real roots of n (for whatever this > >>>> means), and then take the n-th one. So maybe real_nth_root instead? > >>> > >>> +1 > >>> > >>>> > >>>> Cheers, > >>>> Nicolas > >>>> -- > >>>> Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> > >>>> http://Nicolas.Thiery.name/ > >>>> > >>>> -- > >>>> You received this message because you are subscribed to the Google > Groups > >>>> "sage-devel" group. > >>>> To unsubscribe from this group and stop receiving emails from it, > send an > >>>> email to sage-devel+unsubscr...@googlegroups.com. > >>>> To post to this group, send email to sage-devel@googlegroups.com. > >>>> Visit this group at http://groups.google.com/group/sage-devel. > >>>> For more options, visit https://groups.google.com/d/optout. > >>> > >>> > >>> > >>> -- > >>> William Stein > >>> Professor of Mathematics > >>> University of Washington > >>> http://wstein.org > >>> > >>> -- > >>> You received this message because you are subscribed to a topic in the > >>> Google Groups "sage-devel" group. > >>> To unsubscribe from this topic, visit > >>> https://groups.google.com/d/topic/sage-devel/Q8VLKBypcJk/unsubscribe. > >>> To unsubscribe from this group and all its topics, send an email to > >>> sage-devel+unsubscr...@googlegroups.com. > >>> To post to this group, send email to sage-devel@googlegroups.com. > >>> Visit this group at http://groups.google.com/group/sage-devel. > >>> For more options, visit https://groups.google.com/d/optout. > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "sage-devel" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an > >> email to sage-devel+unsubscr...@googlegroups.com. > >> To post to this group, send email to sage-devel@googlegroups.com. > >> Visit this group at http://groups.google.com/group/sage-devel. > >> For more options, visit https://groups.google.com/d/optout. > >> > > > > -- > > You received this message because you are subscribed to a topic in the > Google Groups "sage-devel" group. > > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/sage-devel/Q8VLKBypcJk/unsubscribe. > > To unsubscribe from this group and all its topics, send an email to > sage-devel+unsubscr...@googlegroups.com. > > To post to this group, send email to sage-devel@googlegroups.com. > > Visit this group at http://groups.google.com/group/sage-devel. > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.