Hi,
On Mon, Aug 19, 2019 at 04:24:10AM -0700, mmarco wrote:
> I have been working a bit on some functions to help students do integration
> by hands. Under the hood, they use sympy's integral_steps function (see
> [1]), but I am not sure which is the right way to present it. The options I
> am considering are:
>
> 1) Go full step-by-step integrations, in the spirit of sympygamma site (or
> wolframalpha, if you have access to the pro version). In that case, I guess
> returning a text (or html) stringwould be the sensible choice.
>
> 2) Just show a hint for the next step to the student, something like:
>
> sage: integration_hint(sin(x)*x, x)
> Integrate by parts, with u=x, dv=sin(x)dx. So integral(sin(x)*x, x) = x*cos(
> x)-integral(cos(x),x)
>
> In this case, maybe we should return a specific class where the student can
> get the expression to follow the computation by hand. Also, we could have
> different display methods for different envirments (mainly, command line
> and jupyter notebook)
>
> So my questions are:
>
> - Which option do you think would be preferable? Show the full step by step
> solution, or just give hints as they are asked for?
If both are ready, why not having an option "step_by_step" or
"hint_only" (or whatever convenient).
Also, notice that "integration_hint" will break the tab completion of
integrate, so maybe it could be better to propose an option "hint=False"
to the existing integrate generic function (to be discussed, i do not
have strong opinion on that).
Ciao,
Thierry
> - In any case, which would be the right way to handle different
> representations deppending on the environments? I assume that if we have a
> specific class for this, it should have some __repr__, __latex__, and
> __pretty_print__
> - Which would be the right place to put this code? I would say
> sage.symbolic.integral, but some time ago someone mentioned the posibility
> to create an education module, to put the different pieces of code that was
> writen with for educational purposes.
>
> What do you think?
>
>
>
>
> [1]
https://docs.sympy.org/0.7.5/modules/integrals/integrals.htm
>
> --
> 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+...@googlegroups.com.
> To view this discussion on the web visit
https://groups.google.com/d/msgid/sage-devel/5a2555f3-30f9-4253-b318-d93ab8468dfc%40googlegroups.com.