how to find irreducible factors of a polynomial
4 ビュー (過去 30 日間)
古いコメントを表示
i have a polynomial p in binary format and i want to get all the irreducible factors of this polynomial.
p = [ 1 1 1 1 0 1 0 1 1 0 0 1];
thanks
monica
0 件のコメント
回答 (2 件)
Roger Stafford
2016 年 4 月 27 日
編集済み: Roger Stafford
2016 年 4 月 27 日
What ring or field can the coefficients of your reduced polynomials belong to? It makes a difference as to their classification as irreducible. For one field they are and another they aren't.
If the field is simply all reals, then you can use 'roots' to determine the irreducible factors. A pair of conjugate roots will together constitute a quadratic irreducible factor while real roots will give you simple first degree factors.
0 件のコメント
Walter Roberson
2016 年 4 月 27 日
R = feval(symengine, 'Dom::IntegerMod', 2); %ring over binary
ps = poly2sym(p); %convert to symbolic poly
ppoly = feval(symengine, 'poly', ps, R); %convert symbolic poly to polynomial over ring
pfact = factor(ppoly, x); %factor it into irreducible terms
numfact = length(pfact);
facts = sym(zeros(1,numfact));
for idx = 1 : numfact
facts(idx) = feval(symengine, 'expr', pfact(idx)); %convert them to polynomials
end
Note: this happens to return the constant polynomial 1 as one of the factors.
There might be an easier way using http://www.mathworks.com/matlabcentral/fileexchange/32872-a-toolbox-for-simple-finite-field-operation
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Polynomials についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!