在matlab中如何进行任意有限域( 比如GF(5) 或者GF(7) )下面的计算啊?有没有什么现成的工具箱或者函数之类的可以用啊?如果没有的话,我想自己写一个可以在任意有限域下面求矩阵的逆矩阵和广
来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 15:20:54
在matlab中如何进行任意有限域( 比如GF(5) 或者GF(7) )下面的计算啊?有没有什么现成的工具箱或者函数之类的可以用啊?如果没有的话,我想自己写一个可以在任意有限域下面求矩阵的逆矩阵和广
在matlab中如何进行任意有限域( 比如GF(5) 或者GF(7) )下面的计算啊?
有没有什么现成的工具箱或者函数之类的可以用啊?
如果没有的话,我想自己写一个可以在任意有限域下面求矩阵的逆矩阵和广义逆矩阵的函数,有没有什么算法可以用啊?或者讲讲思路也行.
在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 ); ...
全部展开
没什么吧。定义一个加(减)法函数和一个乘(除)法函数,然后按照一般矩阵处理就行了。
比如:
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] );
不一定对,你还是请老师帮帮忙吧
收起
http://www.math.org.cn/ 去博士数学专业论坛问一下。
当然有啦,工具箱啊
toolbox里面就有