On Jun 20, 2012, at 5:17 PM, "[email protected]"
<[email protected]> wrote:

> Hi,
>
> I have hard time understanding the idea behind atoms in sympy. Namely,
> my problems is with `name` not being part of args. So, are the
> following statements correct:
>
> 1. Being an atomic objects is completely equivalent to having empty
> args (true in both directions!)

No. Take Tuple() for example.

>
> 2. Atomic objects are exempted from the rule obj.func(*obj.args) == obj
>
> 3. Atomic objects are not exempted from the rule eval(srepr(obj)) == obj
>
> 4. For the sake of nice printing an object can have an optional
> argument in its constructor (say `print_name`) that is used only in
> the `_print` methods and it is not part of args

Are there objects that presently use this, or is it just something
that you want to do?  There are potential subtle issues with this.

Aaron Meurer

>
> Number 4 needs more explanations: I have a base vector class. It is
> completely defined by the index of the coordinate to which it
> corresponds. So it will be something like
> `BaseVector(2d_rectangular_coordinate_system_instance, 0)` being the
> vector `e_x` as `x` corresponds to index 0. However I would like this
> to be pprinted as `e_x`
>
>
>
>
> By the way, just agreeing on the following rule:
>
> x. Being an atomic objects is completely equivalent to having empty
> args or not having args attribute at all
>
> will permit having non-basic args without interfering with the
> reconstruction of expression trees. Thus both Tuple and FiniteSet will
> be able to contain non Basic objects. And the index in my example
> above will be int and not Integer.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sympy" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> 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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to