Good Job!

But I have to agree with Volker, using strings is not a good idea.
Why not using functions as input instead?

e.g. in your example from the tutorial:

X.<x,y,z> = M.chart('x y z', 'xyz')

I would use something like
var('x y z')
charti = x*y*z

X = M.chart(vars = [x,y,z], map = charti)


On Sunday, November 24, 2013 10:32:45 PM UTC+1, Eric Gourgoulhon wrote:
>
> Hi,
>
> We have just posted a new version (0.3) of SageManifolds at 
> http://sagemanifolds.obspm.fr
> SageManifolds is an attempt to include differential geometry and tensor 
> calculus in Sage (cf. the initial 
> post<https://groups.google.com/forum/#!topic/sage-devel/RjqMIWjSC-0>, 
> the v0.2 post<https://groups.google.com/forum/#!topic/sage-devel/j1zfFSFwsjg> 
>  
> and trac 
> 14865<http://www.google.com/url?q=http%3A%2F%2Ftrac.sagemath.org%2Fticket%2F14865&sa=D&sntz=1&usg=AFQjCNGzTrK0EbxxuoTmTNi55FE3PHB8aA>).
>  
> It is still in some preliminary stage but following the comments made on 
> this list and during meetings of Paris Sage group (thanks to all!), we have 
> worked towards a better integration into Sage. In particular:
>
>    - Parent / Element scheme is now used for Manifold / Point
>    - The instantiation of most objects is now performed via factory 
>    methods, so that there is no need to have the class name in the global 
>    namespace and tab completion can be used to guess the method to employ. 
>    - The coordinates associated with a chart are no longer put by default 
>    in the global namespace; to do so, one has to use the preparser tool 
>    <x,y,...> during the chart instantiation. 
>
> For example, the sphere S^2, along with the two charts associated with 
> stereographic projections from two poles, is set up as follows:
>
> sage: M = Manifold(2, 'S^2') # 2 = dimension of the manifold
> sage: U = M.open_domain('U') # the complement of the North pole
> sage: stereoN.<x,y> = U.chart('x y', 'stereoN') # (x,y) = stereographic 
> coord. from the North pole
> sage: V = M.open_domain('V') # the complement of the South pole
> sage: stereoS.<u,v> = V.chart('u v', 'stereoS') # (u,v) = stereographic 
> coord. from the South pole
> sage: phi = stereoN.transition_map(stereoS, (x/(x^2+y^2), y/(x^2+y^2)), \
> ....:                              intersection_name='W', \
> ....:                   chart1_name='stereoN_W', restrictions1=[x^2+y^2!=0
> ], \
> ....:                   chart2_name='stereoS_W', restrictions2=[u^2+v^2!=0
> ])
> sage: phi(x,y)
> (x/(x^2 + y^2), y/(x^2 + y^2))
> sage: M.domains['W'] is U.intersection(V)
> True
> sage: M.atlas
> {'stereoN': chart 'stereoN' (U, (x, y)),
>  'stereoN_W': chart 'stereoN_W' (W, (x, y)),
>  'stereoS': chart 'stereoS' (V, (u, v)),
>  'stereoS_W': chart 'stereoS_W' (W, (u, v))}
> sage: M.frames
> {'stereoN_W_b': coordinate basis 'stereoN_W_b' (d/dx,d/dy),
>  'stereoN_b': coordinate basis 'stereoN_b' (d/dx,d/dy),
>  'stereoS_W_b': coordinate basis 'stereoS_W_b' (d/du,d/dv),
>  'stereoS_b': coordinate basis 'stereoS_b' (d/du,d/dv)}
>
>
> The sphere example is detailed on 
> http://sagemanifolds.obspm.fr/examples.html (embedding into R^3, induced 
> metric, curvature, spherical coordinates).
>
> Many things remain to be done. People interested in contributing are 
> welcome! We have set up a git repository (
> https://gitroc.obspm.fr/gitweb/SageManifolds.git) for this (see the 
> instructions here), as well as a mailing list.
>
> Eric Gourgoulhon & Michal Bejger.
>
>

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

Reply via email to