Ask Your Question
1

set_default_chart seems to fail

asked 2019-05-21 13:16:05 +0100

my_screen_name gravatar image

I load the following file

theManifold = Manifold(1,'M',r'\mathcal{M}')
theManifold = Manifold(1,'M',r'\mathcal{M}')

theOpenSet = theManifold.open_subset('U')

firstChart.<x> = theOpenSet.chart(r'x')

g=theManifold.riemannian_metric('g')
g[0,0] = x

show("g with first chart")
show(g.display())

secondChart.<y> = theOpenSet.chart('y')

first_to_second = firstChart.transition_map(secondChart,[2*x])
second_to_first = first_to_second.inverse()

show("g with secondChart.frame() and secondChart as arguments to display")
show(g.display(secondChart.frame(),secondChart))

theManifold.set_default_frame(secondChart.frame())
theManifold.set_default_chart(secondChart)

show("g with secondChart.frame() and secondChart as defaults")
show(g.display())

The output is

๐š ๐š ๐š’๐š๐š‘ ๐š๐š’๐š›๐šœ๐š ๐šŒ๐š‘๐šŠ๐š›๐š
g=x dxโŠ—dx
๐š ๐š ๐š’๐š๐š‘ ๐šœ๐šŽ๐šŒ๐š˜๐š—๐š๐™ฒ๐š‘๐šŠ๐š›๐š.๐š๐š›๐šŠ๐š–๐šŽ() ๐šŠ๐š—๐š ๐šœ๐šŽ๐šŒ๐š˜๐š—๐š๐™ฒ๐š‘๐šŠ๐š›๐š ๐šŠ๐šœ ๐šŠ๐š›๐š๐šž๐š–๐šŽ๐š—๐š๐šœ ๐š๐š˜ ๐š๐š’๐šœ๐š™๐š•๐šŠ๐šข
g=1/8 y dyโŠ—dy
๐š ๐š ๐š’๐š๐š‘ ๐šœ๐šŽ๐šŒ๐š˜๐š—๐š๐™ฒ๐š‘๐šŠ๐š›๐š.๐š๐š›๐šŠ๐š–๐šŽ() ๐šŠ๐š—๐š ๐šœ๐šŽ๐šŒ๐š˜๐š—๐š๐™ฒ๐š‘๐šŠ๐š›๐š ๐šŠ๐šœ ๐š๐šŽ๐š๐šŠ๐šž๐š•๐š๐šœ
g=1/4 x dyโŠ—dy

In particular, when the secondChart and secondChart.frame() have been set as defaults, the metric g is expanded with respect to the second frame, but the components are still expressed in the first coordinates.

Is there a way to set defaults so that g appears as 1/8 y dy โŠ—dy?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2019-05-21 23:16:31 +0100

eric_g gravatar image

Yes, you have to run

theOpenSet.set_default_frame(secondChart.frame())
theOpenSet.set_default_chart(secondChart)

The reason is that g is displayed through its restriction to the open subset theOpenSet and the commands theManifold.set_default_frame(secondChart.frame()) and theManifold.set_default_chart(secondChart) are not propagated to subsets.

edit flag offensive delete link more

Comments

When I set the defaults based for theOpenSet, I get (1/2) y dxโŠ—dx. If I use

theManifold.set_default_frame(secondChart.frame()
theOpenSet.set_default_chart(secondChart)

then I do get (1/8) y dy โŠ— dy, as desired. I don't see the logic, but thanks for getting this to work.

my_screen_name gravatar imagemy_screen_name ( 2019-05-22 11:40:04 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2019-05-21 13:16:05 +0100

Seen: 917 times

Last updated: May 21 '19