ASKSAGE: Sage Q&A Forum - RSS feedhttps://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Thu, 23 Dec 2021 17:05:17 +0100full metric transformhttps://ask.sagemath.org/question/60315/full-metric-transform/Before I display code, is there a way to obtain the metric in a new coordinate chart easily? In one step? All the methods I've used transform the frame, but do not re-express the component functions in terms of the new chart (which determines the frame of course)Fri, 17 Dec 2021 00:35:41 +0100https://ask.sagemath.org/question/60315/full-metric-transform/Answer by eric_g for <p>Before I display code, is there a way to obtain the metric in a new coordinate chart easily? In one step? All the methods I've used transform the frame, but do not re-express the component functions in terms of the new chart (which determines the frame of course)</p>
https://ask.sagemath.org/question/60315/full-metric-transform/?answer=60346#post-id-60346Simply use `g.display(X)`, where `g` is the metric tensor and `X` is the new coordinate chart. This will trigger the computation of the components of `g` w.r.t. the vector frame associated with the chart `X` (i.e. `X.frame()`) and will express these components in terms of `X`. In other words, `g.display(X)` is a shortcut for `g.display(X.frame(), X)`.
Sat, 18 Dec 2021 17:08:58 +0100https://ask.sagemath.org/question/60315/full-metric-transform/?answer=60346#post-id-60346Comment by eric_g for <p>Simply use <code>g.display(X)</code>, where <code>g</code> is the metric tensor and <code>X</code> is the new coordinate chart. This will trigger the computation of the components of <code>g</code> w.r.t. the vector frame associated with the chart <code>X</code> (i.e. <code>X.frame()</code>) and will express these components in terms of <code>X</code>. In other words, <code>g.display(X)</code> is a shortcut for <code>g.display(X.frame(), X)</code>.</p>
https://ask.sagemath.org/question/60315/full-metric-transform/?comment=60397#post-id-60397You can use
g2[X.frame(),:] = g[X.frame(),:]
Another option is
g2.set(g)
See `g2.set?` for more details.Thu, 23 Dec 2021 17:05:17 +0100https://ask.sagemath.org/question/60315/full-metric-transform/?comment=60397#post-id-60397Comment by DocPhil for <p>Simply use <code>g.display(X)</code>, where <code>g</code> is the metric tensor and <code>X</code> is the new coordinate chart. This will trigger the computation of the components of <code>g</code> w.r.t. the vector frame associated with the chart <code>X</code> (i.e. <code>X.frame()</code>) and will express these components in terms of <code>X</code>. In other words, <code>g.display(X)</code> is a shortcut for <code>g.display(X.frame(), X)</code>.</p>
https://ask.sagemath.org/question/60315/full-metric-transform/?comment=60366#post-id-60366The display method that you outlined above does not produce an object of type lorentzian metric. I'd like to assign what I see from the evaluation of g.display(X) to another metric g2. The only way I see to do so is by way of typing by hand the formulae returned on the display.for each component of g2.
Unless I'm missing some method already available, my question is that what "display" computes would be available internally to be returned as an object from which further computations can be performed.
Sorry if I am missing something too!Sun, 19 Dec 2021 23:45:55 +0100https://ask.sagemath.org/question/60315/full-metric-transform/?comment=60366#post-id-60366Comment by eric_g for <p>Simply use <code>g.display(X)</code>, where <code>g</code> is the metric tensor and <code>X</code> is the new coordinate chart. This will trigger the computation of the components of <code>g</code> w.r.t. the vector frame associated with the chart <code>X</code> (i.e. <code>X.frame()</code>) and will express these components in terms of <code>X</code>. In other words, <code>g.display(X)</code> is a shortcut for <code>g.display(X.frame(), X)</code>.</p>
https://ask.sagemath.org/question/60315/full-metric-transform/?comment=60357#post-id-60357I am not sure to understand what you want exactly. You can get the components of another metric, `g2` say, via `g2.comp(X.frame())`. To compute the corresponding connection, simply do `g2.connection()`.
Regarding the out of memory issue, could you please open a new thread and provide a concrete example?Sun, 19 Dec 2021 14:14:16 +0100https://ask.sagemath.org/question/60315/full-metric-transform/?comment=60357#post-id-60357Comment by DocPhil for <p>Simply use <code>g.display(X)</code>, where <code>g</code> is the metric tensor and <code>X</code> is the new coordinate chart. This will trigger the computation of the components of <code>g</code> w.r.t. the vector frame associated with the chart <code>X</code> (i.e. <code>X.frame()</code>) and will express these components in terms of <code>X</code>. In other words, <code>g.display(X)</code> is a shortcut for <code>g.display(X.frame(), X)</code>.</p>
https://ask.sagemath.org/question/60315/full-metric-transform/?comment=60352#post-id-60352Thank you Eric. That is a big help. But rather than just display them I would also like to get the local components assigned to another metric in order to compute the connection. Is there a way to do that?
I'm also exceeding memory on the particularly "involved" metric (Schwarzschild in cylindrical coordinates).. As back ground I want to develop these to illustrate for instructional purposes which solutions do./ do not exhibit Machian like effects.Sat, 18 Dec 2021 23:09:59 +0100https://ask.sagemath.org/question/60315/full-metric-transform/?comment=60352#post-id-60352