Find the generator matrix












1












$begingroup$



Given the parity check matrix $$H=$$
begin{bmatrix} 4&1&4&2&0&4\2&1&1&4&2&0end{bmatrix}



find its generator matrix




I know generator matrix $G$ and $H$ satisfies $GH^T=0$



Also if $H$ is in standard form $H=[P|I^T]implies G=[I|-P^T]$



But I dont get how to put $H$ in standard for










share|cite|improve this question











$endgroup$

















    1












    $begingroup$



    Given the parity check matrix $$H=$$
    begin{bmatrix} 4&1&4&2&0&4\2&1&1&4&2&0end{bmatrix}



    find its generator matrix




    I know generator matrix $G$ and $H$ satisfies $GH^T=0$



    Also if $H$ is in standard form $H=[P|I^T]implies G=[I|-P^T]$



    But I dont get how to put $H$ in standard for










    share|cite|improve this question











    $endgroup$















      1












      1








      1





      $begingroup$



      Given the parity check matrix $$H=$$
      begin{bmatrix} 4&1&4&2&0&4\2&1&1&4&2&0end{bmatrix}



      find its generator matrix




      I know generator matrix $G$ and $H$ satisfies $GH^T=0$



      Also if $H$ is in standard form $H=[P|I^T]implies G=[I|-P^T]$



      But I dont get how to put $H$ in standard for










      share|cite|improve this question











      $endgroup$





      Given the parity check matrix $$H=$$
      begin{bmatrix} 4&1&4&2&0&4\2&1&1&4&2&0end{bmatrix}



      find its generator matrix




      I know generator matrix $G$ and $H$ satisfies $GH^T=0$



      Also if $H$ is in standard form $H=[P|I^T]implies G=[I|-P^T]$



      But I dont get how to put $H$ in standard for







      abstract-algebra coding-theory






      share|cite|improve this question















      share|cite|improve this question













      share|cite|improve this question




      share|cite|improve this question








      edited Jan 8 at 15:28







      Join_PhD

















      asked Jan 8 at 15:02









      Join_PhDJoin_PhD

      3838




      3838






















          2 Answers
          2






          active

          oldest

          votes


















          0












          $begingroup$

          Hint: If you work over the field ${Bbb F}_5$, then multiply the first row of $H$ with the inverse of $2$ and the second row with the inverse of $4$. Then exchange the rows of $H$. This gives you the desired form $H = (Amid I)$ from which you can easily obtain the corresponding generator matrix.



          More concretely, in $left(begin{array}{ccccc}
          4&1&4&2&0&4\2&1&1&4&2&0
          end{array}right)$
          multiply the first row by $4$ and the second row by $3$ giving $left(begin{array}{ccccc}
          1&4&1&3&0&1\1&3&3&2&1&0
          end{array}right)$
          . Swapping rows gives $left(begin{array}{ccccc}
          1&3&3&2&1&0\1&4&1&3&0&1
          end{array}right)$
          as required.






          share|cite|improve this answer











          $endgroup$













          • $begingroup$
            Inverse of $2$ is $3$ and that of $4$ is $4$. Doing your operation gives begin{bmatrix}3 &4&4&1&3&0\2&3&2&1&0&2end{bmatrix}
            $endgroup$
            – Join_PhD
            Jan 8 at 15:27










          • $begingroup$
            Join_PhD: Please check my answer. Thank you.
            $endgroup$
            – Wuestenfux
            Jan 9 at 9:32










          • $begingroup$
            okay thank you very much,i accepted your answer too
            $endgroup$
            – Join_PhD
            Jan 11 at 9:30



















          0












          $begingroup$


          But I dont get how to put H in standard form




          You should understand that




          performing elementary row operations on the generator matrix of a linear code does not change the code.




          You should spend some time convincing yourself of this (and/or proving it concretely.) It is a very basic idea.



          This allows you to put your matrix into the form you described. After that, you can apply the trick you mentioned to produce $H$. The parity check matrix will work with both the modified generator and the original.





          In your case, row operations suffice to put the matrix into the "standard form." It could actually be the case that all the rows were $0$ on the last column, and then you might not know what to do.



          In that case, you'd need to understand what column equivalent codes are and how you can use them to proceed. The idea is that performing elementary column operations on the generator matrix does change the code, but the resulting code has all the same parameters (weight, length, distance) and that you can change it back when you're done by undoing the column operations.



          So in that case, you'd perform column operations on the generator to get the last two columns to be a linearly independent set, then perform row operations to get standard form generator matrix (for the column equivalent code) then extract the parity check matrix (for the column equivalent code) and then undo the column permutation of the parity matrix (to arrive at a parity check for the original code.)






          share|cite|improve this answer











          $endgroup$













          • $begingroup$
            does elementary row operations means $R_rightarrow R_1+cR_2$ swapping $R_1$ and $R_2$
            $endgroup$
            – Join_PhD
            Jan 8 at 15:24












          • $begingroup$
            @Join_PhD Yes, these
            $endgroup$
            – rschwieb
            Jan 8 at 15:28











          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: "69"
          };
          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',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3066272%2ffind-the-generator-matrix%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0












          $begingroup$

          Hint: If you work over the field ${Bbb F}_5$, then multiply the first row of $H$ with the inverse of $2$ and the second row with the inverse of $4$. Then exchange the rows of $H$. This gives you the desired form $H = (Amid I)$ from which you can easily obtain the corresponding generator matrix.



          More concretely, in $left(begin{array}{ccccc}
          4&1&4&2&0&4\2&1&1&4&2&0
          end{array}right)$
          multiply the first row by $4$ and the second row by $3$ giving $left(begin{array}{ccccc}
          1&4&1&3&0&1\1&3&3&2&1&0
          end{array}right)$
          . Swapping rows gives $left(begin{array}{ccccc}
          1&3&3&2&1&0\1&4&1&3&0&1
          end{array}right)$
          as required.






          share|cite|improve this answer











          $endgroup$













          • $begingroup$
            Inverse of $2$ is $3$ and that of $4$ is $4$. Doing your operation gives begin{bmatrix}3 &4&4&1&3&0\2&3&2&1&0&2end{bmatrix}
            $endgroup$
            – Join_PhD
            Jan 8 at 15:27










          • $begingroup$
            Join_PhD: Please check my answer. Thank you.
            $endgroup$
            – Wuestenfux
            Jan 9 at 9:32










          • $begingroup$
            okay thank you very much,i accepted your answer too
            $endgroup$
            – Join_PhD
            Jan 11 at 9:30
















          0












          $begingroup$

          Hint: If you work over the field ${Bbb F}_5$, then multiply the first row of $H$ with the inverse of $2$ and the second row with the inverse of $4$. Then exchange the rows of $H$. This gives you the desired form $H = (Amid I)$ from which you can easily obtain the corresponding generator matrix.



          More concretely, in $left(begin{array}{ccccc}
          4&1&4&2&0&4\2&1&1&4&2&0
          end{array}right)$
          multiply the first row by $4$ and the second row by $3$ giving $left(begin{array}{ccccc}
          1&4&1&3&0&1\1&3&3&2&1&0
          end{array}right)$
          . Swapping rows gives $left(begin{array}{ccccc}
          1&3&3&2&1&0\1&4&1&3&0&1
          end{array}right)$
          as required.






          share|cite|improve this answer











          $endgroup$













          • $begingroup$
            Inverse of $2$ is $3$ and that of $4$ is $4$. Doing your operation gives begin{bmatrix}3 &4&4&1&3&0\2&3&2&1&0&2end{bmatrix}
            $endgroup$
            – Join_PhD
            Jan 8 at 15:27










          • $begingroup$
            Join_PhD: Please check my answer. Thank you.
            $endgroup$
            – Wuestenfux
            Jan 9 at 9:32










          • $begingroup$
            okay thank you very much,i accepted your answer too
            $endgroup$
            – Join_PhD
            Jan 11 at 9:30














          0












          0








          0





          $begingroup$

          Hint: If you work over the field ${Bbb F}_5$, then multiply the first row of $H$ with the inverse of $2$ and the second row with the inverse of $4$. Then exchange the rows of $H$. This gives you the desired form $H = (Amid I)$ from which you can easily obtain the corresponding generator matrix.



          More concretely, in $left(begin{array}{ccccc}
          4&1&4&2&0&4\2&1&1&4&2&0
          end{array}right)$
          multiply the first row by $4$ and the second row by $3$ giving $left(begin{array}{ccccc}
          1&4&1&3&0&1\1&3&3&2&1&0
          end{array}right)$
          . Swapping rows gives $left(begin{array}{ccccc}
          1&3&3&2&1&0\1&4&1&3&0&1
          end{array}right)$
          as required.






          share|cite|improve this answer











          $endgroup$



          Hint: If you work over the field ${Bbb F}_5$, then multiply the first row of $H$ with the inverse of $2$ and the second row with the inverse of $4$. Then exchange the rows of $H$. This gives you the desired form $H = (Amid I)$ from which you can easily obtain the corresponding generator matrix.



          More concretely, in $left(begin{array}{ccccc}
          4&1&4&2&0&4\2&1&1&4&2&0
          end{array}right)$
          multiply the first row by $4$ and the second row by $3$ giving $left(begin{array}{ccccc}
          1&4&1&3&0&1\1&3&3&2&1&0
          end{array}right)$
          . Swapping rows gives $left(begin{array}{ccccc}
          1&3&3&2&1&0\1&4&1&3&0&1
          end{array}right)$
          as required.







          share|cite|improve this answer














          share|cite|improve this answer



          share|cite|improve this answer








          edited Jan 9 at 8:32

























          answered Jan 8 at 15:11









          WuestenfuxWuestenfux

          4,2771413




          4,2771413












          • $begingroup$
            Inverse of $2$ is $3$ and that of $4$ is $4$. Doing your operation gives begin{bmatrix}3 &4&4&1&3&0\2&3&2&1&0&2end{bmatrix}
            $endgroup$
            – Join_PhD
            Jan 8 at 15:27










          • $begingroup$
            Join_PhD: Please check my answer. Thank you.
            $endgroup$
            – Wuestenfux
            Jan 9 at 9:32










          • $begingroup$
            okay thank you very much,i accepted your answer too
            $endgroup$
            – Join_PhD
            Jan 11 at 9:30


















          • $begingroup$
            Inverse of $2$ is $3$ and that of $4$ is $4$. Doing your operation gives begin{bmatrix}3 &4&4&1&3&0\2&3&2&1&0&2end{bmatrix}
            $endgroup$
            – Join_PhD
            Jan 8 at 15:27










          • $begingroup$
            Join_PhD: Please check my answer. Thank you.
            $endgroup$
            – Wuestenfux
            Jan 9 at 9:32










          • $begingroup$
            okay thank you very much,i accepted your answer too
            $endgroup$
            – Join_PhD
            Jan 11 at 9:30
















          $begingroup$
          Inverse of $2$ is $3$ and that of $4$ is $4$. Doing your operation gives begin{bmatrix}3 &4&4&1&3&0\2&3&2&1&0&2end{bmatrix}
          $endgroup$
          – Join_PhD
          Jan 8 at 15:27




          $begingroup$
          Inverse of $2$ is $3$ and that of $4$ is $4$. Doing your operation gives begin{bmatrix}3 &4&4&1&3&0\2&3&2&1&0&2end{bmatrix}
          $endgroup$
          – Join_PhD
          Jan 8 at 15:27












          $begingroup$
          Join_PhD: Please check my answer. Thank you.
          $endgroup$
          – Wuestenfux
          Jan 9 at 9:32




          $begingroup$
          Join_PhD: Please check my answer. Thank you.
          $endgroup$
          – Wuestenfux
          Jan 9 at 9:32












          $begingroup$
          okay thank you very much,i accepted your answer too
          $endgroup$
          – Join_PhD
          Jan 11 at 9:30




          $begingroup$
          okay thank you very much,i accepted your answer too
          $endgroup$
          – Join_PhD
          Jan 11 at 9:30











          0












          $begingroup$


          But I dont get how to put H in standard form




          You should understand that




          performing elementary row operations on the generator matrix of a linear code does not change the code.




          You should spend some time convincing yourself of this (and/or proving it concretely.) It is a very basic idea.



          This allows you to put your matrix into the form you described. After that, you can apply the trick you mentioned to produce $H$. The parity check matrix will work with both the modified generator and the original.





          In your case, row operations suffice to put the matrix into the "standard form." It could actually be the case that all the rows were $0$ on the last column, and then you might not know what to do.



          In that case, you'd need to understand what column equivalent codes are and how you can use them to proceed. The idea is that performing elementary column operations on the generator matrix does change the code, but the resulting code has all the same parameters (weight, length, distance) and that you can change it back when you're done by undoing the column operations.



          So in that case, you'd perform column operations on the generator to get the last two columns to be a linearly independent set, then perform row operations to get standard form generator matrix (for the column equivalent code) then extract the parity check matrix (for the column equivalent code) and then undo the column permutation of the parity matrix (to arrive at a parity check for the original code.)






          share|cite|improve this answer











          $endgroup$













          • $begingroup$
            does elementary row operations means $R_rightarrow R_1+cR_2$ swapping $R_1$ and $R_2$
            $endgroup$
            – Join_PhD
            Jan 8 at 15:24












          • $begingroup$
            @Join_PhD Yes, these
            $endgroup$
            – rschwieb
            Jan 8 at 15:28
















          0












          $begingroup$


          But I dont get how to put H in standard form




          You should understand that




          performing elementary row operations on the generator matrix of a linear code does not change the code.




          You should spend some time convincing yourself of this (and/or proving it concretely.) It is a very basic idea.



          This allows you to put your matrix into the form you described. After that, you can apply the trick you mentioned to produce $H$. The parity check matrix will work with both the modified generator and the original.





          In your case, row operations suffice to put the matrix into the "standard form." It could actually be the case that all the rows were $0$ on the last column, and then you might not know what to do.



          In that case, you'd need to understand what column equivalent codes are and how you can use them to proceed. The idea is that performing elementary column operations on the generator matrix does change the code, but the resulting code has all the same parameters (weight, length, distance) and that you can change it back when you're done by undoing the column operations.



          So in that case, you'd perform column operations on the generator to get the last two columns to be a linearly independent set, then perform row operations to get standard form generator matrix (for the column equivalent code) then extract the parity check matrix (for the column equivalent code) and then undo the column permutation of the parity matrix (to arrive at a parity check for the original code.)






          share|cite|improve this answer











          $endgroup$













          • $begingroup$
            does elementary row operations means $R_rightarrow R_1+cR_2$ swapping $R_1$ and $R_2$
            $endgroup$
            – Join_PhD
            Jan 8 at 15:24












          • $begingroup$
            @Join_PhD Yes, these
            $endgroup$
            – rschwieb
            Jan 8 at 15:28














          0












          0








          0





          $begingroup$


          But I dont get how to put H in standard form




          You should understand that




          performing elementary row operations on the generator matrix of a linear code does not change the code.




          You should spend some time convincing yourself of this (and/or proving it concretely.) It is a very basic idea.



          This allows you to put your matrix into the form you described. After that, you can apply the trick you mentioned to produce $H$. The parity check matrix will work with both the modified generator and the original.





          In your case, row operations suffice to put the matrix into the "standard form." It could actually be the case that all the rows were $0$ on the last column, and then you might not know what to do.



          In that case, you'd need to understand what column equivalent codes are and how you can use them to proceed. The idea is that performing elementary column operations on the generator matrix does change the code, but the resulting code has all the same parameters (weight, length, distance) and that you can change it back when you're done by undoing the column operations.



          So in that case, you'd perform column operations on the generator to get the last two columns to be a linearly independent set, then perform row operations to get standard form generator matrix (for the column equivalent code) then extract the parity check matrix (for the column equivalent code) and then undo the column permutation of the parity matrix (to arrive at a parity check for the original code.)






          share|cite|improve this answer











          $endgroup$




          But I dont get how to put H in standard form




          You should understand that




          performing elementary row operations on the generator matrix of a linear code does not change the code.




          You should spend some time convincing yourself of this (and/or proving it concretely.) It is a very basic idea.



          This allows you to put your matrix into the form you described. After that, you can apply the trick you mentioned to produce $H$. The parity check matrix will work with both the modified generator and the original.





          In your case, row operations suffice to put the matrix into the "standard form." It could actually be the case that all the rows were $0$ on the last column, and then you might not know what to do.



          In that case, you'd need to understand what column equivalent codes are and how you can use them to proceed. The idea is that performing elementary column operations on the generator matrix does change the code, but the resulting code has all the same parameters (weight, length, distance) and that you can change it back when you're done by undoing the column operations.



          So in that case, you'd perform column operations on the generator to get the last two columns to be a linearly independent set, then perform row operations to get standard form generator matrix (for the column equivalent code) then extract the parity check matrix (for the column equivalent code) and then undo the column permutation of the parity matrix (to arrive at a parity check for the original code.)







          share|cite|improve this answer














          share|cite|improve this answer



          share|cite|improve this answer








          edited Jan 8 at 15:28

























          answered Jan 8 at 15:12









          rschwiebrschwieb

          106k12102249




          106k12102249












          • $begingroup$
            does elementary row operations means $R_rightarrow R_1+cR_2$ swapping $R_1$ and $R_2$
            $endgroup$
            – Join_PhD
            Jan 8 at 15:24












          • $begingroup$
            @Join_PhD Yes, these
            $endgroup$
            – rschwieb
            Jan 8 at 15:28


















          • $begingroup$
            does elementary row operations means $R_rightarrow R_1+cR_2$ swapping $R_1$ and $R_2$
            $endgroup$
            – Join_PhD
            Jan 8 at 15:24












          • $begingroup$
            @Join_PhD Yes, these
            $endgroup$
            – rschwieb
            Jan 8 at 15:28
















          $begingroup$
          does elementary row operations means $R_rightarrow R_1+cR_2$ swapping $R_1$ and $R_2$
          $endgroup$
          – Join_PhD
          Jan 8 at 15:24






          $begingroup$
          does elementary row operations means $R_rightarrow R_1+cR_2$ swapping $R_1$ and $R_2$
          $endgroup$
          – Join_PhD
          Jan 8 at 15:24














          $begingroup$
          @Join_PhD Yes, these
          $endgroup$
          – rschwieb
          Jan 8 at 15:28




          $begingroup$
          @Join_PhD Yes, these
          $endgroup$
          – rschwieb
          Jan 8 at 15:28


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Mathematics Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3066272%2ffind-the-generator-matrix%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          android studio warns about leanback feature tag usage required on manifest while using Unity exported app?

          SQL update select statement

          'app-layout' is not a known element: how to share Component with different Modules