How to simplify tensor expression with symbolic coeficients?

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











up vote
7
down vote

favorite












I can use Vectors to simplify the following expression:



$Assumptions = (a | b | c) ∈ Vectors[3];
TensorReduce[3 b.a[Cross]c - 3 c.b[Cross]a]


which gives me 0, and correct.



However, if I change the value "3" into a symbol "g", it fails:



$Assumptions = (a | b | c) ∈ Vectors[3];
TensorReduce[g b.a[Cross]c - g c.b[Cross]a]


Or



$Assumptions = (a | b | c) ∈ Vectors[3];
$Assumptions = g ∈ Reals;
TensorReduce[g b.a[Cross]c - g c.b[Cross]a]


Mathematica gives me $g b.atimes c-g c.btimes a$, which should be 0 as well.



How can I do this simplification in Mathematica?







share|improve this question


























    up vote
    7
    down vote

    favorite












    I can use Vectors to simplify the following expression:



    $Assumptions = (a | b | c) ∈ Vectors[3];
    TensorReduce[3 b.a[Cross]c - 3 c.b[Cross]a]


    which gives me 0, and correct.



    However, if I change the value "3" into a symbol "g", it fails:



    $Assumptions = (a | b | c) ∈ Vectors[3];
    TensorReduce[g b.a[Cross]c - g c.b[Cross]a]


    Or



    $Assumptions = (a | b | c) ∈ Vectors[3];
    $Assumptions = g ∈ Reals;
    TensorReduce[g b.a[Cross]c - g c.b[Cross]a]


    Mathematica gives me $g b.atimes c-g c.btimes a$, which should be 0 as well.



    How can I do this simplification in Mathematica?







    share|improve this question
























      up vote
      7
      down vote

      favorite









      up vote
      7
      down vote

      favorite











      I can use Vectors to simplify the following expression:



      $Assumptions = (a | b | c) ∈ Vectors[3];
      TensorReduce[3 b.a[Cross]c - 3 c.b[Cross]a]


      which gives me 0, and correct.



      However, if I change the value "3" into a symbol "g", it fails:



      $Assumptions = (a | b | c) ∈ Vectors[3];
      TensorReduce[g b.a[Cross]c - g c.b[Cross]a]


      Or



      $Assumptions = (a | b | c) ∈ Vectors[3];
      $Assumptions = g ∈ Reals;
      TensorReduce[g b.a[Cross]c - g c.b[Cross]a]


      Mathematica gives me $g b.atimes c-g c.btimes a$, which should be 0 as well.



      How can I do this simplification in Mathematica?







      share|improve this question














      I can use Vectors to simplify the following expression:



      $Assumptions = (a | b | c) ∈ Vectors[3];
      TensorReduce[3 b.a[Cross]c - 3 c.b[Cross]a]


      which gives me 0, and correct.



      However, if I change the value "3" into a symbol "g", it fails:



      $Assumptions = (a | b | c) ∈ Vectors[3];
      TensorReduce[g b.a[Cross]c - g c.b[Cross]a]


      Or



      $Assumptions = (a | b | c) ∈ Vectors[3];
      $Assumptions = g ∈ Reals;
      TensorReduce[g b.a[Cross]c - g c.b[Cross]a]


      Mathematica gives me $g b.atimes c-g c.btimes a$, which should be 0 as well.



      How can I do this simplification in Mathematica?









      share|improve this question













      share|improve this question




      share|improve this question








      edited Aug 26 at 6:51









      kglr

      158k8183382




      158k8183382










      asked Aug 26 at 6:36









      ZHANG Juenjie

      449210




      449210




















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          7
          down vote



          accepted










          $Assumptions = (a 

          TensorReduce[g b.a[Cross]c - g c.b[Cross]a]



          0







          share|improve this answer



























            up vote
            5
            down vote













            $Assumptions=(a|b|c) ∈ Vectors[3] && g ∈ Reals

            TensorReduce[g b.a[Cross]c-g c.b[Cross]a]
            (*0*)


            g doesn't have to be Reals. Complexes works too. It just can't be something totally undefined.






            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%2f180669%2fhow-to-simplify-tensor-expression-with-symbolic-coeficients%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
              7
              down vote



              accepted










              $Assumptions = (a 

              TensorReduce[g b.a[Cross]c - g c.b[Cross]a]



              0







              share|improve this answer
























                up vote
                7
                down vote



                accepted










                $Assumptions = (a 

                TensorReduce[g b.a[Cross]c - g c.b[Cross]a]



                0







                share|improve this answer






















                  up vote
                  7
                  down vote



                  accepted







                  up vote
                  7
                  down vote



                  accepted






                  $Assumptions = (a 

                  TensorReduce[g b.a[Cross]c - g c.b[Cross]a]



                  0







                  share|improve this answer












                  $Assumptions = (a 

                  TensorReduce[g b.a[Cross]c - g c.b[Cross]a]



                  0








                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Aug 26 at 6:49









                  kglr

                  158k8183382




                  158k8183382




















                      up vote
                      5
                      down vote













                      $Assumptions=(a|b|c) ∈ Vectors[3] && g ∈ Reals

                      TensorReduce[g b.a[Cross]c-g c.b[Cross]a]
                      (*0*)


                      g doesn't have to be Reals. Complexes works too. It just can't be something totally undefined.






                      share|improve this answer
























                        up vote
                        5
                        down vote













                        $Assumptions=(a|b|c) ∈ Vectors[3] && g ∈ Reals

                        TensorReduce[g b.a[Cross]c-g c.b[Cross]a]
                        (*0*)


                        g doesn't have to be Reals. Complexes works too. It just can't be something totally undefined.






                        share|improve this answer






















                          up vote
                          5
                          down vote










                          up vote
                          5
                          down vote









                          $Assumptions=(a|b|c) ∈ Vectors[3] && g ∈ Reals

                          TensorReduce[g b.a[Cross]c-g c.b[Cross]a]
                          (*0*)


                          g doesn't have to be Reals. Complexes works too. It just can't be something totally undefined.






                          share|improve this answer












                          $Assumptions=(a|b|c) ∈ Vectors[3] && g ∈ Reals

                          TensorReduce[g b.a[Cross]c-g c.b[Cross]a]
                          (*0*)


                          g doesn't have to be Reals. Complexes works too. It just can't be something totally undefined.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Aug 26 at 6:54









                          Bill Watts

                          1,9581414




                          1,9581414



























                               

                              draft saved


                              draft discarded















































                               


                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f180669%2fhow-to-simplify-tensor-expression-with-symbolic-coeficients%23new-answer', 'question_page');

                              );

                              Post as a guest













































































                              Comments

                              Popular posts from this blog

                              Long meetings (6-7 hours a day): Being “babysat” by supervisor

                              What does second last employer means? [closed]

                              One-line joke