Ask Your Question

danielvolinski's profile - activity

2019-02-09 03:16:16 -0600 received badge  Nice Question (source)
2019-02-09 01:40:47 -0600 commented question No output when documentation say it should be


sage: nab.torsion_form(1)[:]

sage: ch_basis = M.automorphism_field()
sage: ch_basis[1,1], ch_basis[2,2], ch_basis[3,3] = y, z, x
sage: e = M.default_frame().new_frame(ch_basis, 'e')
sage: e[1][:], e[2][:], e[3][:]

sage: ef = e.coframe()
sage: ef[1][:], ef[2][:], ef[3][:]

sage: nab.torsion_form(1, e)

sage: nab.torsion_form(1, e).comp(e)[:]

sage: for i in M.irange():
        nab.torsion_form(i, e) == ef[i].exterior_derivative() + \
        sum(nab.connection_form(i,j,e).wedge(ef[j]) for j in M.irange())

No output

2019-02-09 01:37:47 -0600 commented question No output when documentation say it should be

Sage version is 8.4, Windows Native on a 64bit machine, installed from SageMath-8.4-Installer-v0.4.1.exe I did not compile Sage by myself. I use Jupyter Notebook. I don't use the command line. I did not get any errors. I just got no output at all

sage: M = Manifold(3, 'M', start_index=1)
sage: c_xyz.<x,y,z> = M.chart()
sage: nab = M.affine_connection('nabla', r'\nabla')
sage: nab[1,1,1], nab[1,1,2], nab[1,1,3] = x*y*z, x^2, -y*z
sage: nab[1,2,3], nab[1,3,1], nab[1,3,2] = -x^3, y^2*z, y^2-x^2
sage: nab[2,1,1], nab[2,1,2], nab[2,2,1] = z^2, x*y*z^2, -x^2
sage: nab[2,3,1], nab[2,3,3], nab[3,1,2] = x^2+y^2+z ...
2019-02-08 13:36:30 -0600 asked a question No output when documentation say it should be

Hi all,

Consider The very last command of this web page is

sage: for i in M.irange():
        nab.torsion_form(i, e) == ef[i].exterior_derivative() + \
        sum(nab.connection_form(i,j,e).wedge(ef[j]) for j in M.irange())

The output of this command should be: True, True, True, but I get no output at all. In order to duplicate you should include also the previous commands beginning from the torsion_form definition, over all 3 cells.


2019-01-16 04:04:38 -0600 received badge  Nice Answer (source)
2019-01-12 17:35:39 -0600 received badge  Notable Question (source)
2019-01-12 11:00:25 -0600 received badge  Popular Question (source)
2019-01-12 10:52:38 -0600 answered a question Combine plots with built-in Maxima, trajectory in Sage available?

You can combine plots in Maxima with the command "xfun" inside plotdf e.g.

plotdf([x+y,x/2+y], [xfun,"-0.7071*x;0.7071*x"])$

In you case:


you can use several functions inside the quotes, separated by semi colons.


2018-12-24 08:37:16 -0600 received badge  Famous Question (source)
2018-12-16 01:56:13 -0600 commented question Velocity of time

I am using Windows 10 on a 64bit machine with SageMath native.

Just to clarify, I can't see the 3D plots in the Jupyter nbviewer rendition of the file. If I download the ipynb file to my machine, change the 3D viewer to 'tachyon' then I can see the 3D plots.

I'm using Microsoft Edge to open Jupyter notebooks with no problems.

As I reported a while ago, the only 3D viewer that works on Windows 10 is 'tachyon'.


2018-12-16 01:38:32 -0600 commented question Velocity of time

Microsoft Edge.

2018-12-14 14:27:23 -0600 commented answer Velocity of time


The big question is Dt_0. Is this something the sensor system should measure, imposed on my by the outside conditions?

I understand from your explanation that there is another constraint: the fact that the norm of the tangent vector should be constant to preserve a time-like trajectory, and from this constraint I can calculate Dt_0 using the other measured values.

I have several Maxima files in which I calculate numerically the trajectory of a mass in different geometries using rkf45. I always wondered what value should I select for Dt_0. I usually select 1.



2018-12-14 14:21:35 -0600 commented answer Velocity of time


In order to do that, the navigation system needs the initial conditions. I understand t_0=0, this is arbitrary, I understand (r_0, th_0, ph_0), my current radial distance, its polar angle, and the azimuth angle, those are values that should be measured by some kind of on board sensor system, based on information from the outside. I don't know how it is measured but I guess it can be done. I understand (Dr_0, Dth_0, Dph_0), my current radial velocity, and polar and azimuthal angular velocities, I also guess those can be measured too.

So (r_0, th_0, ph_0) and (Dr_0, Dth_0, Dph_0) are measured, that is, imposed on me, based on information from the outside and referred to the selected coordinate system.

2018-12-14 14:18:58 -0600 commented answer Velocity of time

Hi Karim,

Thank you very much for taking the time to answer this question so thoroughly, I really appreciate it. If it is not much of an imposition, I'll recommend including this explanation in the file itself.

Sometimes I imagine being in a spaceship, the screen showing a big Black Hole and me wandering if I am going to crash into the Black Hole or I will be able to acquire a stable orbit.

I guess the on board navigation system is able to choose the easiest Boyer-Lindquist coordinate system (it is a Schwarzschild Black Hole, no rotation and no charge) and calculate my trajectory.

2018-12-11 08:00:27 -0600 asked a question Velocity of time

Hi All,

I was looking at at the paragraph Computing numerical solutions/Timelike geodesics/Bounded orbit, at the following command:

params_values_bounded = {m:1, s_0:0, s_max:1500, t_0:0, r_0:8, th_0:pi/2, ph_0:1e-12, 
                         Dt_0:sqrt(80.81)/(4*sqrt(3)), Dr_0:0, Dth_0:0, Dph_0:4.1/64}

I understand there are 4-coordinates (t,r,th,ph), and for each one there is a 2nd order Geodesic equation, so in total should be 8 initial conditions. How did you choose the value of Dt_0? How did you calculate this value? Is this the velocity of time at time zero. What is the physical significance of this value?

P.D. Did you notice there are no 3D figures in this Notebook?



2018-12-11 03:19:04 -0600 marked best answer set_name causes an error on external_derivative display

I have the following code:

R3 = Manifold(3, 'R3', start_index=1, latex_name=r'\mathbb{R}^3')
cartesian3d.<x,y,z> = R3.chart()

omega = R3.diff_form(1, 'omega', latex_name=r'\omega')
omega[:] = (x^2+y*z+e^y, y^3+x*z+x*e^y+z^2, e^z+x*y+2*y*z)
print omega.category()

domega = omega.exterior_derivative()
domega.set_name(domega, r'\mathrm{d}\omega')
print domega.category()

I get a TypeError: unsupported operand type(s) for +: 'DiffFormFreeModule_with_category.element_class' and 'str'

If I delete the set_name command the code works fine.


2018-12-11 03:07:34 -0600 asked a question Wrong Pointer

Hi All,

When you open: and try to download the corresponding ipynb file using the link pointed at by here, it points to SM_Schwarzschild.ipynb not to SM_basic_Schwarzschild.ipynb.

Please fix that.



2018-12-09 22:39:24 -0600 received badge  Popular Question (source)
2018-11-20 17:30:31 -0600 commented answer SageManifolds different frames

Thanks Eric, I understand now. As you said, it is not a mere substitution, it is also a change of basis. For a tensor T you have to multiply by $J^{-1}\cdot T\cdot J$ For a vector V you have to multiply by $J^{-1}\cdot V$ Where J is the Jacobian of uv_to_xy against u,v Thanks again. Daniel

2018-11-18 02:31:51 -0600 asked a question SageManifolds different frames

Hi All,

I have the following code:

sage: M = Manifold(2, 'M')
sage: U = M.open_subset('U')
sage: c_xy.<x,y> = U.chart()
sage: V = M.open_subset('V')
sage: c_uv.<u,v> = V.chart()
sage: M.declare_union(U,V)
sage: xy_to_uv = c_xy.transition_map(c_uv, (x+y, x-y), intersection_name='W', restrictions1= x>0, restrictions2= u+v>0)
sage: xy_to_uv.display()
sage: uv_to_xy = xy_to_uv.inverse()
sage: uv_to_xy.display()
sage: e_xy = c_xy.frame(); e_uv = c_uv.frame()
sage: t = M.tensor_field(1,1, name='t')
sage: t[e_xy,:] = [[x, 1], [y, 0]]
sage: t.add_comp_by_continuation(e_uv, U.intersection(V), c_uv)
sage: t[:]
sage: t[e_uv,:]
sage: w = M.vector_field(name='w')
sage: w[e_xy,:] = [-y, x]
sage: w.add_comp_by_continuation(e_uv, U.intersection(V), c_uv)
sage: w[:]
sage: w[e_uv,:]

What I don't understand is the result in sage: t[e_uv,:] and sage: w[e_uv,:] in view of the transition map uv_to_xy. Shouldn't the result be a direct substitution x=(u+v)/2 and y=(u-v)/2

How is this calculated?



2018-11-08 09:58:45 -0600 commented answer Killing vectors

Thank you for those excellent examples but, as you mentioned above, I precisely need "the way to ask Sage to solve the differential equation". May be somebody already solve this problem...



2018-11-08 05:49:32 -0600 asked a question Killing vectors

Hi All,

Given a space-time metric, is there a way to calculate its Killing vectors?


Daniel Volinski

2018-08-21 06:27:07 -0600 marked best answer search_doc readable format

Using Jupyter Notebook in Windows Native

The following code:

search_doc("curl", whole_word=True)

produces a bunch of unreadable lines, is there any way to make them readable?

If those lines are internet links, they should also be clickable.


2018-08-18 02:59:29 -0600 commented answer Installing 8.3

OK thanks.

2018-08-18 02:59:23 -0600 commented answer Installing 8.3

OK thanks.

2018-08-17 06:39:08 -0600 asked a question Installing 8.3

I'm using SageMath 8.2 on a Windows 10 Native with Jupyter Notebook.

I uninstalled SageMath 8.2 and installed SageMath 8.3. in a different folder. There is still a lot of garbage left in the SageMath 8.2 folder, can I delete it?


2018-08-01 04:45:46 -0600 marked best answer Curl in 2D Manifolds

I'm using SageMath 8.2 on a Windows 10 Native with Jupyter Notebook.

I noticed curl is not defined in a 2D manifold, why is that?

E = Manifold(2, 'E', structure='Riemannian')
cartesian.<x,y> = E.chart()
E.metric()[:] = identity_matrix(2)

v = E.vector_field(name='v')
v[:] = [-x, y^2]
cv = v.curl()

ValueError: the curl is not defined in dimension lower than 3

Reference: The Divergence and Curl of a Vector Field In Two Dimensions

2018-07-19 04:43:40 -0600 received badge  Good Question (source)