如何在Galois字段中找到矩阵的行级? [英] How to find the row rank of matrix in Galois fields?
问题描述
Matlab具有一个内置函数,用于计算具有十进制数字和有限字段数字的矩阵的秩.但是,如果我没记错的话,它们只会计算最低的排名(行排名和列排名中的最低).我只想计算行等级,即找到矩阵的独立行数(在我的情况下为有限字段).有功能或方法吗?
Matlab has a built-in function for calculating rank of a matrix with decimal numbers as well as finite field numbers. However if I am not wrong they calculate only the lowest rank (least of row rank and column rank). I would like to calculate only the row rank, i.e. find the number of independent rows of a matrix (finite field in my case). Is there a function or way to do this?
推荐答案
在线性代数中,列排名和行排名总是 (请参见证明),因此只需使用 rank
(如果您正在计算Galois字段上矩阵的等级,请考虑使用 gfrank
相反,就像@DanBecker在其评论中建议的那样):
In linear algebra the column rank and the row rank are always equal (see proof), so just use rank
(if you're computing the the rank of a matrix over Galois fields, consider using gfrank
instead, like @DanBecker suggested in his comment):
>> A = [1 2 3; 4 5 6]
A =
1 2 3
4 5 6
>> rank(A)
ans =
2
也许所有三列似乎都是线性独立的,但是它们 是依赖的:
Perhaps all three columns seem to be linearly independent, but they are dependent:
[1 2; 4 5] \ [3; 6]
ans =
-1
2
表示-1 * [1; 4] + 2 * [2; 5] = [3; 6]
这篇关于如何在Galois字段中找到矩阵的行级?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!