Re: [sage-devel] Making the transition from user to developer

2018-07-12 Thread profgross
Thank you so much for these ideas.

On Thursday, July 12, 2018 at 7:44:45 AM UTC-7, mathzeta2 wrote:
>
> On 12/07/2018 05:28, Ursula Whitcher wrote: 
> > On 7/11/2018 3:19 PM, prof...@gmail.com  wrote: 
> >> What would be a good way for a Sage user with a basic programming 
> >> background to learn about Sage development and how codebases are 
> >> built? Projects ultimately of interest so far are (1) a 
> >> "show-my-steps" feature for differentiation in Sage or (2) a feature 
> >> for generating proofs by induction for some class of problems.  Are 
> >> there any relevant tutorial-like things? 
> > 
> > A very good way is to attend a Sage Days. 
> > 
> > There are some tutorials in the Developers' Guide: 
> > 
> > https://doc.sagemath.org/html/en/developer/ 
> > 
> > A good first project is nearly always finding something unclear in the 
> > Developers' Guide and fixing it. 
> > 
> > Does "a basic programming background" include some knowledge of Python? 
> > If not, picking up a little bit of Python is a good place to start. 
> > 
> > --Ursula Whitcher. 
> > 
>
> These are good tips. 
>
> More concretely, for the specific project (1), have you looked into 
> SymPy's manualintegrate module? Quoting the docs [1]: 
>
> "The option manual=True can be used to use only an algorithm that tries 
> to mimic integration by hand. This algorithm does not handle as many 
> integrands as the other algorithms implemented but may return results in 
> a more familiar form. The manualintegrate module has functions that 
> return the steps used (see the module docstring for more information)." 
>
> Some examples on SymPy Gamma: 
> http://www.sympygamma.com/input/?i=integrate+log(x^2)#intsteps 
> http://www.sympygamma.com/input/?i=integrate%28x*sin%283*x%29%2C+x%29 
> and the sourcecode for that can be found at 
> https://github.com/sympy/sympy_gamma/blob/master/app/logic/intsteps.py 
>
> SymPy is included in Sage, and it might be nice to integrate (pardon the 
> pun) it better. 
>
> Regards, 
> TB 
>
> [1] http://docs.sympy.org/latest/modules/integrals/integrals.html 
>

-- 
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 https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Making the transition from user to developer

2018-07-12 Thread profgross
Thanks for the great tips.  And yes, I heart Python.  

On Wednesday, July 11, 2018 at 7:28:48 PM UTC-7, Ursula Whitcher wrote:
>
> On 7/11/2018 3:19 PM, prof...@gmail.com  wrote: 
> > What would be a good way for a Sage user with a basic programming 
> > background to learn about Sage development and how codebases are built? 
>   
> > Projects ultimately of interest so far are (1) a "show-my-steps" feature 
> > for differentiation in Sage or (2) a feature for generating proofs by 
> > induction for some class of problems.  Are there any relevant 
> > tutorial-like things? 
>
> A very good way is to attend a Sage Days. 
>
> There are some tutorials in the Developers' Guide: 
>
> https://doc.sagemath.org/html/en/developer/ 
>
> A good first project is nearly always finding something unclear in the 
> Developers' Guide and fixing it. 
>
> Does "a basic programming background" include some knowledge of Python? 
> If not, picking up a little bit of Python is a good place to start. 
>
> --Ursula Whitcher. 
>

-- 
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 https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Making the transition from user to developer

2018-07-12 Thread TB

On 12/07/2018 05:28, Ursula Whitcher wrote:

On 7/11/2018 3:19 PM, profgr...@gmail.com wrote:
What would be a good way for a Sage user with a basic programming 
background to learn about Sage development and how codebases are 
built? Projects ultimately of interest so far are (1) a 
"show-my-steps" feature for differentiation in Sage or (2) a feature 
for generating proofs by induction for some class of problems.  Are 
there any relevant tutorial-like things?


A very good way is to attend a Sage Days.

There are some tutorials in the Developers' Guide:

https://doc.sagemath.org/html/en/developer/

A good first project is nearly always finding something unclear in the 
Developers' Guide and fixing it.


Does "a basic programming background" include some knowledge of Python? 
If not, picking up a little bit of Python is a good place to start.


--Ursula Whitcher.



These are good tips.

More concretely, for the specific project (1), have you looked into 
SymPy's manualintegrate module? Quoting the docs [1]:


"The option manual=True can be used to use only an algorithm that tries 
to mimic integration by hand. This algorithm does not handle as many 
integrands as the other algorithms implemented but may return results in 
a more familiar form. The manualintegrate module has functions that 
return the steps used (see the module docstring for more information)."


Some examples on SymPy Gamma:
http://www.sympygamma.com/input/?i=integrate+log(x^2)#intsteps
http://www.sympygamma.com/input/?i=integrate%28x*sin%283*x%29%2C+x%29
and the sourcecode for that can be found at 
https://github.com/sympy/sympy_gamma/blob/master/app/logic/intsteps.py


SymPy is included in Sage, and it might be nice to integrate (pardon the 
pun) it better.


Regards,
TB

[1] http://docs.sympy.org/latest/modules/integrals/integrals.html

--
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 https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Making the transition from user to developer

2018-07-11 Thread Ursula Whitcher

On 7/11/2018 3:19 PM, profgr...@gmail.com wrote:
What would be a good way for a Sage user with a basic programming 
background to learn about Sage development and how codebases are built?  
Projects ultimately of interest so far are (1) a "show-my-steps" feature 
for differentiation in Sage or (2) a feature for generating proofs by 
induction for some class of problems.  Are there any relevant 
tutorial-like things?


A very good way is to attend a Sage Days.

There are some tutorials in the Developers' Guide:

https://doc.sagemath.org/html/en/developer/

A good first project is nearly always finding something unclear in the 
Developers' Guide and fixing it.


Does "a basic programming background" include some knowledge of Python? 
If not, picking up a little bit of Python is a good place to start.


--Ursula Whitcher.

--
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 https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Making the transition from user to developer

2018-07-11 Thread profgross
What would be a good way for a Sage user with a basic programming 
background to learn about Sage development and how codebases are built?  
Projects ultimately of interest so far are (1) a "show-my-steps" feature 
for differentiation in Sage or (2) a feature for generating proofs by 
induction for some class of problems.  Are there any relevant tutorial-like 
things?

-- 
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 https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.