The function ParametrizedSurface3d is particularly useful for teaching on 
differentiable surfaces, but if I am not wrong there is a problem with the 
computation of principal directions. They are the eigenspaces for the shape 
operator. The issue is that the shape operator is presented as a matrix 
with a left action on vectors, while the eigenvalues are computed as if it 
was a right action.
The following code shows the problem (it is a helicoid with a 
parametrization such that the first fundamental form is not diagonal):

var('u,v',domain='real')
V=vector([u*cos(u+v),u*sin(u+v),u+v])
S=ParametrizedSurface3D(V,(u,v))
dN=S.shape_operator()
U=[(i,j[0]) for i,j,k in S.principal_directions()]# A list with eigenvalues 
and eigenvectors.

#Check if they are eigenvalues for the left action
[(dN*j-i*j).simplify_full() for i,j in U]

Output:
[((2*u^2 - (2*u^2 + 1)*sqrt(u^2 + 1) + 1)/(u^4 + u^2), (2*u^2 + 1)/(u^2 + 
1)^(3/2)),
 (-(2*u^2 + (2*u^2 + 1)*sqrt(u^2 + 1) + 1)/(u^4 + u^2), (2*u^2 + 1)/(u^2 + 
1)^(3/2))] 

False

#Check if they are eigenvalues for the left action
[(j*dN-i*j).simplify_full() for i,j in U]
Output:
[(0, 0), (0, 0)]
True

Best, Enrique Artal.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to