> N() is equivalent to .evalf().

I propose renaming .evalf() -> .N().

> Also, Chris is refactoring the expand_* functions so that you can just do 
> expand(expr, mul=True) instead of expand_mul(expr).

Great!  That takes care of the expand_foo methods (let's remove them).

I think it's one of his 1766 branches at smichr at github.  I think
.fdiff() not used very often by the user.  .extract_multiplicatively()
is mainly used for algorithms where you don't know what you are
working with ahead of time (otherwise, you can just do regular
division).

OK, so maybe these two are not important enough to have as global functions.

> I'm not sure if *all* of these should be methods, but I agree that the most 
> common ones should.  I think that .subs() should be a function too, and 
> .l/nseries should be functions, or at least keyword arguments to series().

What about doit?

> By the way, it is easy to see what there is in isympy with ipython using the 
> tab completion, so if your students don't see it in the namespace as a 
> function, then it is a method, or visa-versa.  Do you plan on using it mainly 
> interactively, or through scripts?

IPython, what's that? ;-)  Yes, students would have tab completion at
their finger tips, but doing sympy.[TAB] pull up way too many results
to be really useful to a truly new user.


Cheers,

Brian

> Aaron Meurer
> On Mar 29, 2010, at 8:50 PM, Brian Granger wrote:
>
>> Hi,
>>
>> I have gone through sympy and made a list of the functions and methods
>> (of Basic) that are essential "action verbs", like "expand",
>> "simplify", etc.  I plan on using sympy with students and for this
>> purpose, I need to have a super clean user interface.  My students and
>> I will go crazy if I have to continually answer the "is * a method or
>> function" question.   In this email I am only focusing on the user
>> interface (how users call things) NOT on the implementation.
>> Implementation is an entirely different issue.
>>
>> I have divided the list into 3 categories:
>>
>> 1. The action verb appears as both a global function AND a method of Basic.
>> 2. The action verb appears only as a global function.
>> 3. The action verb appears only as a method of Basic.
>>
>> * I have focused on action verbs that deal with a single expression,
>> so things like sum and product are not included.
>> * I probably have missed some of the more obscure ones.
>>
>> Here is the data:
>>
>> Both global function and Basic method
>> =====================================
>>
>> evalf
>> series
>> diff
>> integrate
>> limit
>> expand
>> rewrite
>> conjugate
>>
>> Only global function
>> ====================
>>
>> simplify
>> nsimplify
>> *simp
>> refine
>> cancel
>> invert
>> expand_*
>> apart
>> collect
>> separate
>> together
>> factor
>>
>> Only Basic method
>> =================
>>
>> subs
>> doit
>> n
>> nseries
>> lseries
>> fdiff
>> extract_multiplicatively
>>
>> This data below suggest that the "action verbs" in sympy are not
>> treated in a consistent manner - in fact, to the untrained eye, it
>> looks like we flip a coin (OK, maybe a 3 sided coin) to determine
>> where we put these action verbs.  I would love to help make a decision
>> on how to handle these action verbs in a uniform manner across sympy.
>> If we can reach a decision, I am willing to help implement the
>> decision AND document it clearly throughout the sympy sphinx docs.
>>
>> Here are the options that I see:
>>
>> A.  Make all action verbs functions, never methods (the global
>> functions could still call _private implementation methods).
>> B.  Make all action verbs methods, never functions (those methods
>> could still call a global but _private implementation function).
>> C.  Make all action verbs both function and methods.
>>
>> What do people think?
>>
>> Cheers,
>>
>> Brian
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "sympy" group.
>> To post to this group, send email to sy...@googlegroups.com.
>> To unsubscribe from this group, send email to 
>> sympy+unsubscr...@googlegroups.com.
>> For more options, visit this group at 
>> http://groups.google.com/group/sympy?hl=en.
>>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sympy" group.
> To post to this group, send email to sy...@googlegroups.com.
> To unsubscribe from this group, send email to 
> sympy+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/sympy?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sy...@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to