Find the generator matrix
$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
abstract-algebra coding-theory
$endgroup$
add a comment |
$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
abstract-algebra coding-theory
$endgroup$
add a comment |
$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
abstract-algebra coding-theory
$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
abstract-algebra coding-theory
edited Jan 8 at 15:28
Join_PhD
asked Jan 8 at 15:02
Join_PhDJoin_PhD
3838
3838
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$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.
$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
add a comment |
$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.)
$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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
$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.
$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
add a comment |
$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.
$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
add a comment |
$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.
$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.
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
add a comment |
$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
add a comment |
$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.)
$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
add a comment |
$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.)
$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
add a comment |
$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.)
$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.)
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
add a comment |
$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
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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