--
--
I have made some comments on the wiki. Let us get the API decided so that both I and Sachin can get started with some work. Thanks.
--
You received this message because you are subscribed to a topic in the Google Groups "sympy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sympy/t-Je0beTIIU/unsubscribe?hl=en-US.
To unsubscribe from this group and all its topics, send an email to sympy+un...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
You received this message because you are subscribed to a topic in the Google Groups "sympy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sympy/t-Je0beTIIU/unsubscribe?hl=en-US.
To unsubscribe from this group and all its topics, send an email to sympy+un...@googlegroups.com.
--
--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
> What does it mean to factor vectors exactly?I was thinking about a*unit_vector + b*unit_vector -> (a+b)*unit_vector
But as you said there are many others that do not make sense for vectors.
And also in diffgeom.
> In contrast the other way has proven to work in physics.quantum. They're
> both reasonable.
In any case, both of this methodologies seem ok to me (create new
Add/Mul or reuse Add/Mul), but both of them are not what is proposed
in general terms on the wiki describing the API (a ScalarField and
Vector what eagerly eat anything that operates on them, i.e.
ScalarField+ScalarField -> ScalarField).
Prasoon,That option does not work for ReferenceFrame. If I have a ReferenceFrame A, and another ReferenceFrame B, and want to set the angular velocity of B in A asw_1*b_1 + w_2_* b_2 + w_3 * b_3I need access to the basis vectors of B, which I won't have until after the frame is initialized. Another situation that can occur is the angular velocity being defined as:w_1*b_1 + w_2_* b_2 + w_3 * b_3 + w_k * a_1I don't see any way around ReferenceFrame being mutable if you want to maintain the same functionality that is in mechanics now.As for having a separate CoordinateSystem and ReferenceFrame: I think it is better to keep these explicit ideas separate if writing two classes doesn't result in much code overlap.
Stefan, regarding your concerns about Vector eating everything up - isn't that how it should be? Once you are dealing with Vectors, won't most operations will result in a Vector? Matthew's suggestion to implement our own VectorAdd/VectorMul seems like it might work though.
Also, is there a way to blacklist what functions are allowed to perform on Vectors?
--
You received this message because you are subscribed to a topic in the Google Groups "sympy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sympy/t-Je0beTIIU/unsubscribe?hl=en-US.
To unsubscribe from this group and all its topics, send an email to sympy+un...@googlegroups.com.
> For the mutability issue : Just as Aaron suggested, we do really need the
> objects to be mutable. Doing something as
If I understand correctly, Aaron's main point was that mutability is
useful only in certain cases and I do not think that the current
module requires it. Most of the arguments in favor of mutability were
about how to relate two reference frames (both static translation and
orientation as well as relative velocity and angular velocity). I
think that the example I provided addresses these issue and mutability
is not necessary.
--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
@Matthew Rocklin:Can you please tell what exactly would be the advantage of having a separate VectAdd class? I mean I don't see the problems with using the current Add and Mul classes.
--
--
You received this message because you are subscribed to a topic in the Google Groups "sympy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sympy/t-Je0beTIIU/unsubscribe?hl=en-US.
To unsubscribe from this group and all its topics, send an email to sympy+un...@googlegroups.com.
Notice that we are using the VectAdd class – this class inherits from Add and supports methods required on vectors. Initially, these methods (eg, curl, div, integrate etc) were supposed to go in Vector class but since we have decided that Vectors will just be base_vectors - therefore the VectAdd class will take care of this.
So, is everyone okay with this?
--
You received this message because you are subscribed to a topic in the Google Groups "sympy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sympy/t-Je0beTIIU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sympy+un...@googlegroups.com.
Any additional methods that are provided will _not work_ if they do
not have access to the RefFrame objects (in order to know how to
transform between coordinates). Your proposal does not explain how
these RefFrame objects will be accessed.
Also, Gilbert and I had a small question. How do you plan to implement expression of Vectors in different frames? Also, the relationships between the frames? Could you give an API and the basic idea of how those methods will work?The main concern the mechanics group has, is the modeling of relationships among frames themselves, and those with vectors. Clearing up this part would make things much clearer.
--
--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
--
You received this message because you are subscribed to a topic in the Google Groups "sympy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sympy/t-Je0beTIIU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sympy+un...@googlegroups.com.
Alright then. How should we proceed with this differentiation? My initial idea of having a CoordSys class and a RefFrame class can perhaps be used.
--
Alright then. We will go with option (a). @Gilbert and @Sachin, can you come on the IRC tonight?
--
You received this message because you are subscribed to a topic in the Google Groups "sympy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sympy/t-Je0beTIIU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sympy+un...@googlegroups.com.
The next discussion was scheduled for tomorrow. After that I suggest that we keep most of the discussions to the mailing list and the gihub wiki and meet on irc / realtime wikis / google docs / etc once a week.Prasoon and Sachin did not have the time to look at the example problem that was given in the previous email yet (no harm done there, there is still some time before the official starting date). Probably this will be the subject of our next discussion.- the `diffgeom` way - having base/unit vectors and building all the rest in terms of their linear combinations (all this expressed as sympy expressions).- the `mechanics` way - having a Vector class that keeps all the information about the field and it is not part of expression trees in the way Basic and Expr are. For instance Vector(something along cartesian.x)+Vector(something along spherical.r) will result in Vector(complex internal structure).Today we had the first discussion with Prasoon and Sachin about their projects.We did not progress much but at least we outlined the two general approaches that we can use for these modules (specifically for creating vector fields). I will give them somewhat arbitrary names here:
Stefan
@Gilbert, @Sachin, @Stefan : I am facing a bit of a problem that I have written about in this week's blog here. Please see the second part of the blog where I mention about a cache to hold relationships between coordinate system and base scalars and base vectors. Please comment your views here.
--
You received this message because you are subscribed to a topic in the Google Groups "sympy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sympy/t-Je0beTIIU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sympy+un...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
x0 = x1 + ay0 = y1 + bz0 = z1 + c
-----------------Equations (*)
--
--