在matlab中如何进行任意有限域( 比如GF(5) 或者GF(7) )下面的计算啊?
来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/13 00:07:50
在matlab中如何进行任意有限域( 比如GF(5) 或者GF(7) )下面的计算啊?
有没有什么现成的工具箱或者函数之类的可以用啊?
如果没有的话,我想自己写一个可以在任意有限域下面求矩阵的逆矩阵和广义逆矩阵的函数,有没有什么算法可以用啊?或者讲讲思路也行.
有没有什么现成的工具箱或者函数之类的可以用啊?
如果没有的话,我想自己写一个可以在任意有限域下面求矩阵的逆矩阵和广义逆矩阵的函数,有没有什么算法可以用啊?或者讲讲思路也行.
没什么吧.定义一个加(减)法函数和一个乘(除)法函数,然后按照一般矩阵处理就行了.
比如:
int add( a,b){ return (a+b)%5; } //a+b
int sub( a,b){ return (a-b)%5; } //a-b
int mul( a,b){ return (a*b)%5; } //a*b
int rep( a ); //用辗转相除法求倒数 1/1=1,1/2=3,1/3=2,1/4=4
int div( a,b) { return a * rep(b) % 5; }
然后矩阵乘法 c[i,j] = \sum mul( a[i,k],b[k,j] );
比如:
int add( a,b){ return (a+b)%5; } //a+b
int sub( a,b){ return (a-b)%5; } //a-b
int mul( a,b){ return (a*b)%5; } //a*b
int rep( a ); //用辗转相除法求倒数 1/1=1,1/2=3,1/3=2,1/4=4
int div( a,b) { return a * rep(b) % 5; }
然后矩阵乘法 c[i,j] = \sum mul( a[i,k],b[k,j] );