why mod(rref(A), 2) does not give the correct result?

Lets say I have the followings all in mod 2
a = [1 1 0 0 0]'
a = 5×1
1 1 0 0 0
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
b = [1 0 1 0 1]'
b = 5×1
1 0 1 0 1
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
c = [0 1 1 0 1]'
c = 5×1
0 1 1 0 1
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
clearly, c = a + b in mod 2
However when I run the command
mod(rref([a b c]), 2)
ans = 5×3
1 0 0 0 1 0 0 0 1 0 0 0 0 0 0
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
It does not give the corret result for linear combination in mod 2? My expect answer should be:
expected_ans = [1 0 1; 0 1 1; 0 0 0; 0 0 0; 0 0 0]
expected_ans = 5×3
1 0 1 0 1 1 0 0 0 0 0 0 0 0 0
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
Could anyone explain why?

 Respuesta aceptada

David Goodmanson
David Goodmanson el 30 de Mayo de 2025
Editada: David Goodmanson el 30 de Mayo de 2025
Hi Lily,
Although c is a linear combination of a and b mod 2, rref does not know anything about mod 2.
rank([a b c])
ans = 3
As far as rref is concerned, a, b and c are linearly independent ('mod' not being a linear operation under the usual addition of numbers). So you get three nonzero rows.

Más respuestas (0)

Etiquetas

Preguntada:

el 30 de Mayo de 2025

Editada:

el 30 de Mayo de 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by