Yes. It would be a good idea to restrict yourself to diagonal metric tensors (orthogonal coordinate system) then inverting the metric tensor is simple and the Jacobian matrix is also diagonal. If you have a metric tensor you would use the Christoffel symbols to calculate the derivatives of the basis vectors. For a spherical coordinate system (r,theta,phi) the diagonal of metric tensor would be (1,r**2,r**2*sin(theta)**2).

On 11/21/2014 11:53 AM, Lukas Zorich wrote:

    El jueves, 20 de noviembre de 2014 10:45:50 UTC-3, brombo escribió:

        You might wish to be more general and implement vector
        analysis as a function of a metric tensor.  See the following
        link -
        http://en.wikipedia.org/wiki/Curvilinear_coordinates#Vector_operations
        <http://en.wikipedia.org/wiki/Curvilinear_coordinates#Vector_operations>

Can you explain me a bit more? you mean that instead of calculating dot product or cross product in a specific coordinate system, I calculate that using the metric tensor as it appeared in the wikipedia article?

El jueves, 20 de noviembre de 2014 10:45:50 UTC-3, brombo escribió:

    You might wish to be more general and implement vector analysis as
    a function of a metric tensor.  See the following link -

    http://en.wikipedia.org/wiki/Curvilinear_coordinates#Vector_operations
    <http://en.wikipedia.org/wiki/Curvilinear_coordinates#Vector_operations>


    On 11/19/2014 10:34 PM, Lukas Zorich wrote:
    Thanks Jason!

    El miércoles, 19 de noviembre de 2014 19:17:24 UTC-3, Jason Moore
    escribió:

        Lukas,

        Sachin Joglekar developed the vector package this past
        summer. I was his GSoC mentor on the project. You can check
        out this implemented of the Cartesian coordinate system:

        https://github.com/sympy/sympy/blob/master/sympy/vector/coordsysrect.py
        
<https://github.com/sympy/sympy/blob/master/sympy/vector/coordsysrect.py>

        You'd basically need to create a class for spherical that has
        this same functionality. You may be able to create a
        spherical class that converts the input to Cartesian and just
        manages a Cartesian system behind the scenes. Or method can
        be implemented explicitly using spherical coordinates.


        Jason
        moorepants.info <http://moorepants.info>
        +01 530-601-9791

        On Wed, Nov 19, 2014 at 5:05 PM, Lukas Zorich
        <lukas....@gmail.com> wrote:

            Hi everyone,

            I am Lukas from Chile, pursuing a degree in Computer
            Science and with interests in mathematics. I would like
            to start contributing to sympy. Reading through the
            mailing list, I saw this
            
<https://groups.google.com/forum/?hl=es-419#%21topic/sympy/4SIr_6iW6v4>post
            that says that the Spherical Coordinates System isn't
            implemented yet, so I would like to start from there. I
            wanted to know who can I ask to give me further
            information about this specific functionality, or things
            I need to know before implementing this (not about the
            theory, but about the concrete implementation of the
            spherical system in the vector module).

            Thanks :)!
            Lukas
-- You received this message because you are subscribed to
            the Google Groups "sympy" group.
            To unsubscribe from this group and stop receiving emails
            from it, send an email to sympy+un...@googlegroups.com.
            To post to this group, send email to sy...@googlegroups.com.
            Visit this group at http://groups.google.com/group/sympy
            <http://groups.google.com/group/sympy>.
            To view this discussion on the web visit
            
https://groups.google.com/d/msgid/sympy/d6a7e710-7d96-452d-8a7b-6518c0226225%40googlegroups.com
            
<https://groups.google.com/d/msgid/sympy/d6a7e710-7d96-452d-8a7b-6518c0226225%40googlegroups.com?utm_medium=email&utm_source=footer>.
            For more options, visit
            https://groups.google.com/d/optout
            <https://groups.google.com/d/optout>.


-- You received this message because you are subscribed to the
    Google Groups "sympy" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to sympy+un...@googlegroups.com <javascript:>.
    To post to this group, send email to sy...@googlegroups.com
    <javascript:>.
    Visit this group at http://groups.google.com/group/sympy
    <http://groups.google.com/group/sympy>.
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/sympy/86d19d32-44b7-4530-b24a-3742c3276099%40googlegroups.com
    
<https://groups.google.com/d/msgid/sympy/86d19d32-44b7-4530-b24a-3742c3276099%40googlegroups.com?utm_medium=email&utm_source=footer>.
    For more options, visit https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>.

--
You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com <mailto:sympy+unsubscr...@googlegroups.com>. To post to this group, send email to sympy@googlegroups.com <mailto:sympy@googlegroups.com>.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/7105867e-e256-44d3-a2a8-8fed73f11798%40googlegroups.com <https://groups.google.com/d/msgid/sympy/7105867e-e256-44d3-a2a8-8fed73f11798%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/546F76F7.9020507%40verizon.net.
For more options, visit https://groups.google.com/d/optout.

Reply via email to