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!) 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 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.
