How do I verify a vector identity using Mathematica?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
2
down vote

favorite












I am trying to verify well known Frenet–Serret formulas in general setting using Mathematica.
I need to consider a general space curve $r(s)=(x(s),y(s),z(s))$ in $mathbbR^3$ and define its unit tangent $T$ and unit normal $N$ vectors by $$T=dfracdrds$$ and $$dfracdTds=kappa N.$$ Then I define the unit binomial vector $B$ in such a way that $$dfracdNds=-kappa T+tau B$$ and now I need to find an expression for $B$ only interms of derivative of $r(s)$ using this formula as the definition. The difficulty to do this computation by hand arise as formulas for $kappa, tau$ are too long.



However I do not know how I can do this symbolic computations through Mathematica. I tried to find a reference or any computation of this kind that I can use as an example, but couldn't succeed. Any help that you can do is highly appreciated.










share|improve this question



















  • 1




    What code have you tried thus far e,g, to set up the equations?
    – Daniel Lichtblau
    2 hours ago














up vote
2
down vote

favorite












I am trying to verify well known Frenet–Serret formulas in general setting using Mathematica.
I need to consider a general space curve $r(s)=(x(s),y(s),z(s))$ in $mathbbR^3$ and define its unit tangent $T$ and unit normal $N$ vectors by $$T=dfracdrds$$ and $$dfracdTds=kappa N.$$ Then I define the unit binomial vector $B$ in such a way that $$dfracdNds=-kappa T+tau B$$ and now I need to find an expression for $B$ only interms of derivative of $r(s)$ using this formula as the definition. The difficulty to do this computation by hand arise as formulas for $kappa, tau$ are too long.



However I do not know how I can do this symbolic computations through Mathematica. I tried to find a reference or any computation of this kind that I can use as an example, but couldn't succeed. Any help that you can do is highly appreciated.










share|improve this question



















  • 1




    What code have you tried thus far e,g, to set up the equations?
    – Daniel Lichtblau
    2 hours ago












up vote
2
down vote

favorite









up vote
2
down vote

favorite











I am trying to verify well known Frenet–Serret formulas in general setting using Mathematica.
I need to consider a general space curve $r(s)=(x(s),y(s),z(s))$ in $mathbbR^3$ and define its unit tangent $T$ and unit normal $N$ vectors by $$T=dfracdrds$$ and $$dfracdTds=kappa N.$$ Then I define the unit binomial vector $B$ in such a way that $$dfracdNds=-kappa T+tau B$$ and now I need to find an expression for $B$ only interms of derivative of $r(s)$ using this formula as the definition. The difficulty to do this computation by hand arise as formulas for $kappa, tau$ are too long.



However I do not know how I can do this symbolic computations through Mathematica. I tried to find a reference or any computation of this kind that I can use as an example, but couldn't succeed. Any help that you can do is highly appreciated.










share|improve this question















I am trying to verify well known Frenet–Serret formulas in general setting using Mathematica.
I need to consider a general space curve $r(s)=(x(s),y(s),z(s))$ in $mathbbR^3$ and define its unit tangent $T$ and unit normal $N$ vectors by $$T=dfracdrds$$ and $$dfracdTds=kappa N.$$ Then I define the unit binomial vector $B$ in such a way that $$dfracdNds=-kappa T+tau B$$ and now I need to find an expression for $B$ only interms of derivative of $r(s)$ using this formula as the definition. The difficulty to do this computation by hand arise as formulas for $kappa, tau$ are too long.



However I do not know how I can do this symbolic computations through Mathematica. I tried to find a reference or any computation of this kind that I can use as an example, but couldn't succeed. Any help that you can do is highly appreciated.







symbolic computational-geometry vector-calculus geometric-computation






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 2 mins ago









chris

12k440107




12k440107










asked 4 hours ago









Bumblebee

20217




20217







  • 1




    What code have you tried thus far e,g, to set up the equations?
    – Daniel Lichtblau
    2 hours ago












  • 1




    What code have you tried thus far e,g, to set up the equations?
    – Daniel Lichtblau
    2 hours ago







1




1




What code have you tried thus far e,g, to set up the equations?
– Daniel Lichtblau
2 hours ago




What code have you tried thus far e,g, to set up the equations?
– Daniel Lichtblau
2 hours ago










2 Answers
2






active

oldest

votes

















up vote
2
down vote













You can use FrenetSerretSystem:



FrenetSerretSystem[x[s], y[s], z[s], s][[-1, -1]] //TeXForm



$leftfracy'(s) z''(s)-y''(s) z'(s)sqrtleft(x'(s) y''(s)-x''(s) y'(s)right)^2+left(x''(s) z'(s)-x'(s)
z''(s)right)^2+left(y'(s) z''(s)-y''(s) z'(s)right)^2,fracx''(s) z'(s)-x'(s) z''(s)sqrtleft(x'(s)
y''(s)-x''(s) y'(s)right)^2+left(x''(s) z'(s)-x'(s) z''(s)right)^2+left(y'(s) z''(s)-y''(s)
z'(s)right)^2,fracx'(s) y''(s)-x''(s) y'(s)sqrtleft(x'(s) y''(s)-x''(s) y'(s)right)^2+left(x''(s)
z'(s)-x'(s) z''(s)right)^2+left(y'(s) z''(s)-y''(s) z'(s)right)^2right$







share|improve this answer



























    up vote
    0
    down vote













    Since N is a built-in symbol, we will use n instead of N. The required formulas are



    r = x[s], y[s], z[s];
    T = D[r, s]
    [Kappa] = Norm[D[T, s]]
    n = D[T, s]/[Kappa]
    [Tau] = Norm[([Kappa]*T + D[n, s])]
    B = ([Kappa]*T + D[n, s])/[Tau]





    share|improve this answer




















      Your Answer




      StackExchange.ifUsing("editor", function ()
      return StackExchange.using("mathjaxEditing", function ()
      StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
      StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
      );
      );
      , "mathjax-editing");

      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "387"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      convertImagesToLinks: false,
      noModals: false,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













       

      draft saved


      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f184819%2fhow-do-i-verify-a-vector-identity-using-mathematica%23new-answer', 'question_page');

      );

      Post as a guest






























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      2
      down vote













      You can use FrenetSerretSystem:



      FrenetSerretSystem[x[s], y[s], z[s], s][[-1, -1]] //TeXForm



      $leftfracy'(s) z''(s)-y''(s) z'(s)sqrtleft(x'(s) y''(s)-x''(s) y'(s)right)^2+left(x''(s) z'(s)-x'(s)
      z''(s)right)^2+left(y'(s) z''(s)-y''(s) z'(s)right)^2,fracx''(s) z'(s)-x'(s) z''(s)sqrtleft(x'(s)
      y''(s)-x''(s) y'(s)right)^2+left(x''(s) z'(s)-x'(s) z''(s)right)^2+left(y'(s) z''(s)-y''(s)
      z'(s)right)^2,fracx'(s) y''(s)-x''(s) y'(s)sqrtleft(x'(s) y''(s)-x''(s) y'(s)right)^2+left(x''(s)
      z'(s)-x'(s) z''(s)right)^2+left(y'(s) z''(s)-y''(s) z'(s)right)^2right$







      share|improve this answer
























        up vote
        2
        down vote













        You can use FrenetSerretSystem:



        FrenetSerretSystem[x[s], y[s], z[s], s][[-1, -1]] //TeXForm



        $leftfracy'(s) z''(s)-y''(s) z'(s)sqrtleft(x'(s) y''(s)-x''(s) y'(s)right)^2+left(x''(s) z'(s)-x'(s)
        z''(s)right)^2+left(y'(s) z''(s)-y''(s) z'(s)right)^2,fracx''(s) z'(s)-x'(s) z''(s)sqrtleft(x'(s)
        y''(s)-x''(s) y'(s)right)^2+left(x''(s) z'(s)-x'(s) z''(s)right)^2+left(y'(s) z''(s)-y''(s)
        z'(s)right)^2,fracx'(s) y''(s)-x''(s) y'(s)sqrtleft(x'(s) y''(s)-x''(s) y'(s)right)^2+left(x''(s)
        z'(s)-x'(s) z''(s)right)^2+left(y'(s) z''(s)-y''(s) z'(s)right)^2right$







        share|improve this answer






















          up vote
          2
          down vote










          up vote
          2
          down vote









          You can use FrenetSerretSystem:



          FrenetSerretSystem[x[s], y[s], z[s], s][[-1, -1]] //TeXForm



          $leftfracy'(s) z''(s)-y''(s) z'(s)sqrtleft(x'(s) y''(s)-x''(s) y'(s)right)^2+left(x''(s) z'(s)-x'(s)
          z''(s)right)^2+left(y'(s) z''(s)-y''(s) z'(s)right)^2,fracx''(s) z'(s)-x'(s) z''(s)sqrtleft(x'(s)
          y''(s)-x''(s) y'(s)right)^2+left(x''(s) z'(s)-x'(s) z''(s)right)^2+left(y'(s) z''(s)-y''(s)
          z'(s)right)^2,fracx'(s) y''(s)-x''(s) y'(s)sqrtleft(x'(s) y''(s)-x''(s) y'(s)right)^2+left(x''(s)
          z'(s)-x'(s) z''(s)right)^2+left(y'(s) z''(s)-y''(s) z'(s)right)^2right$







          share|improve this answer












          You can use FrenetSerretSystem:



          FrenetSerretSystem[x[s], y[s], z[s], s][[-1, -1]] //TeXForm



          $leftfracy'(s) z''(s)-y''(s) z'(s)sqrtleft(x'(s) y''(s)-x''(s) y'(s)right)^2+left(x''(s) z'(s)-x'(s)
          z''(s)right)^2+left(y'(s) z''(s)-y''(s) z'(s)right)^2,fracx''(s) z'(s)-x'(s) z''(s)sqrtleft(x'(s)
          y''(s)-x''(s) y'(s)right)^2+left(x''(s) z'(s)-x'(s) z''(s)right)^2+left(y'(s) z''(s)-y''(s)
          z'(s)right)^2,fracx'(s) y''(s)-x''(s) y'(s)sqrtleft(x'(s) y''(s)-x''(s) y'(s)right)^2+left(x''(s)
          z'(s)-x'(s) z''(s)right)^2+left(y'(s) z''(s)-y''(s) z'(s)right)^2right$








          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 26 mins ago









          Carl Woll

          63k282163




          63k282163




















              up vote
              0
              down vote













              Since N is a built-in symbol, we will use n instead of N. The required formulas are



              r = x[s], y[s], z[s];
              T = D[r, s]
              [Kappa] = Norm[D[T, s]]
              n = D[T, s]/[Kappa]
              [Tau] = Norm[([Kappa]*T + D[n, s])]
              B = ([Kappa]*T + D[n, s])/[Tau]





              share|improve this answer
























                up vote
                0
                down vote













                Since N is a built-in symbol, we will use n instead of N. The required formulas are



                r = x[s], y[s], z[s];
                T = D[r, s]
                [Kappa] = Norm[D[T, s]]
                n = D[T, s]/[Kappa]
                [Tau] = Norm[([Kappa]*T + D[n, s])]
                B = ([Kappa]*T + D[n, s])/[Tau]





                share|improve this answer






















                  up vote
                  0
                  down vote










                  up vote
                  0
                  down vote









                  Since N is a built-in symbol, we will use n instead of N. The required formulas are



                  r = x[s], y[s], z[s];
                  T = D[r, s]
                  [Kappa] = Norm[D[T, s]]
                  n = D[T, s]/[Kappa]
                  [Tau] = Norm[([Kappa]*T + D[n, s])]
                  B = ([Kappa]*T + D[n, s])/[Tau]





                  share|improve this answer












                  Since N is a built-in symbol, we will use n instead of N. The required formulas are



                  r = x[s], y[s], z[s];
                  T = D[r, s]
                  [Kappa] = Norm[D[T, s]]
                  n = D[T, s]/[Kappa]
                  [Tau] = Norm[([Kappa]*T + D[n, s])]
                  B = ([Kappa]*T + D[n, s])/[Tau]






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 34 mins ago









                  Alex Trounev

                  3,2701312




                  3,2701312



























                       

                      draft saved


                      draft discarded















































                       


                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f184819%2fhow-do-i-verify-a-vector-identity-using-mathematica%23new-answer', 'question_page');

                      );

                      Post as a guest













































































                      Popular posts from this blog

                      How to check contact read email or not when send email to Individual?

                      Displaying single band from multi-band raster using QGIS

                      How many registers does an x86_64 CPU actually have?