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.