Ask Your Question

Subtitute functions - in a differential equation - Sagemanifold

asked 2018-12-03 18:33:37 +0200

Dox gravatar image

updated 2018-12-04 08:48:01 +0200

Dear community,

I have a differential equation that depends on a function $\xi(t)$, but is a component of a tensor (calculated with sagemanifold)

M = Manifold(4, 'M', latex_name=r"\mathcal{M}")
U.<t,r,th,ph> = M.chart(r't r:(0,+oo) th:(0,pi):\theta ph:(0,2*pi):\phi')
xi = function('xi')(t)
f = function('f')(t)
h = function('h')(t)
g = function('g')(t)
Ric = M.tensor_field(0,2, 'Ric')
Ric[0,0] = 3/2*f*h - 3/4*h^2 + 3/2*f*xi + 3/4*xi^2 - 3/2*diff(h, t) - 3/2*diff(xi, t)

I'd like to define the restriction to $\xi = 0$, and assign it to a new tensor

Ric0 = M.tensor_field(0,2, 'Ric0')
Ric0[0,0] = Ric[0,0].substitute_expression({xi:0, diff(xi, t):0})

but I get an AttributeError because the

AttributeError: 'ChartFunctionRing_with_category.element_class' object has no attribute 'substitute_expression'

I know that it works for functions

xi = function('xi')(t)
f = function('f')(t)
h = function('h')(t)
ode = 3/2*f*h - 3/4*h^2 + 3/2*f*xi + 3/4*xi^2 - 3/2*diff(h, t) - 3/2*diff(xi, t)
ode0 = ode.substitute_expression({xi:0, diff(xi, t):0})


Is there a way to substitute functions that are not ๐šœ๐šŠ๐š๐šŽ.๐šœ๐šข๐š–๐š‹๐š˜๐š•๐š’๐šŒ.๐šŽ๐šก๐š™๐š›๐šŽ๐šœ๐šœ๐š’๐š˜๐š—.๐™ด๐šก๐š™๐š›๐šŽ๐šœ๐šœ๐š’๐š˜๐š— but ChartFunctionRing_with_category.element_class?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-12-03 18:49:32 +0200

rburing gravatar image

It works the same way as last time, by using .expr():

Ric[0,0].expr().substitute({xi:0, diff(xi, t):0})
edit flag offensive delete link more



hehehehe... Thank you again! I almost got it... but I tried .expression().

Dox gravatar imageDox ( 2018-12-03 19:20:48 +0200 )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

1 follower


Asked: 2018-12-03 18:33:37 +0200

Seen: 397 times

Last updated: Dec 04 '18