Ask Your Question
0

differential (1-form) simplifies a bit too much

asked 2023-11-25 16:12:30 +0200

GPN gravatar image

updated 2023-11-26 09:28:25 +0200

Hi Manifolds experts

I am trying to calculate the total differential of a function F(X) = 1 / x^2 (in 4 dimensions) on a curved space time. The code below works but the denominators of the partial derivatives are expanded. It's a bit unreadable.

Question: what would be the correct way so the denominators are e.g. (x^2)^2 or any other shorter form where the terms are collected? As you can see in the code, I tried to change the simplification function but that was not enough.

Here is my code:

from sage.all import *
from IPython.display import display, Math, Latex
from sage.manifolds.calculus_method import CalculusMethod
%display latex

M = Manifold(4, 'M', latex_name=r'\mathcal{M}', structure='Lorentzian')
X.<t,x,y,z> = M.chart()

cm = CalculusMethod(base_field_type='real')
cm.set_simplify_function(simplify)
display(cm)

F = M.scalar_field(1/(-t^2 + x^2 + y^2 + z^2))
display(F.display())
display(diff(F).display())

I am using SageMath version 9.5, Release Date: 2022-01-30. My OS is Ubuntu 22.04 (itself on WSL2 on Windows 11 latest).

Thank you GPN

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2023-11-25 16:47:11 +0200

achrzesz gravatar image

This version works better:

%display latex
M = Manifold(4, 'M', latex_name=r'\mathcal{M}', structure='Lorentzian')
X.<t,x,y,z> = M.chart()
F = M.scalar_field(1/(-t^2 + x^2 + y^2 + z^2))
display(F.display())
dF=diff(F)
dF.apply_map(factor)
dF.display()
edit flag offensive delete link more

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

Stats

Asked: 2023-11-25 16:12:30 +0200

Seen: 57 times

Last updated: Nov 26 '23