irreducibility test

13 次查看(过去 30 天)
mmavrop
mmavrop 2012-3-14
编辑: sqw 2014-1-20
Hi all,
I would like to ask you, about the function irreducible.. http://www.mathworks.com/help/toolbox/mupad/stdlib/irreducible.html
I want to check if a polynomial is irreducible, but I have problem on how to declare the polynomial..I tried the examples o the abov link but matlab returns " ??? Undefined function or variable 'x'."..

采纳的回答

Walter Roberson
Walter Roberson 2012-3-14
syms x
evalin(symengine, 'irreducible', x^2 - 2)

更多回答(3 个)

Stefan Wehmeier
Stefan Wehmeier 2012-3-26
You have to declare it as a polynomial over GaloisField, e.g.
F = evalin(symengine, 'poly(x^2-2, Dom::GaloisField(5^7)))
feval(symengine, 'irreducible', F)
  2 个评论
mmavrop
mmavrop 2012-3-26
thanks a lot!
sqw
sqw 2014-1-20
编辑:sqw 2014-1-20
hi I want use this function for a loop of polynomial but I cant change the polynomial with symbolic variableas.
for example i want this: syms x z=x^a(n,1)+x^a(n,2)+1 for i=1 we have z=x^19+x^12+1 %%a is a vector and change base for i=1:n i want check the z polynomial is irreducible or not?
F = evalin(symengine, 'poly(z,Dom::GaloisField(2))') F =
poly(z, [z], Dom::GaloisField(2, 1, poly(X7, [X7], IntMod(2)))) feval(symengine, 'irreducible', F)
ans =
TRUE
but this polynomial in not irreducible
the mistake of this answer come from [z] instead of [x]!!!!
please help me to solve it

请先登录,再进行评论。


mmavrop
mmavrop 2012-3-14
thank you Walter! I tried your answer and matlab returned "`proc irreducible(p) ... end`" in both cases, (x^2 - 2) and (x^2 + 2).. What am I doing wrong? I am using matlab R2009b..
  2 个评论
Walter Roberson
Walter Roberson 2012-3-14
Hmmm.... Say, are you perhaps using the Maple symbolic engine? That was still possible in R2009b even though MuPAD was the default. Your ending of the procedure with "end" is a clue, in that MuPAD ends its procedures with "end_proc" but Maple ends with "end".
The internal Maple name for the procedure was irreduc so you could _try_
feval(symengine, 'irreduc', x^2 - 2)
If that doesn't work, go back to irreducible but with feval
Alexander
Alexander 2012-3-15
feval did the trick for me:
>> syms x
>> feval(symengine, 'irreducible', x^2 + 2)
ans =
TRUE

请先登录,再进行评论。


mmavrop
mmavrop 2012-3-24
Thank you so much both! it works! May I ask an other question? Is there a way to find out if a polynomial over galois field is irreducible?

Community Treasure Hunt

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

Start Hunting!

Translated by