Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.4.1 - English

Change language to:
Français - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Polynomials > factors

factors

numeric real factorization

Calling Sequence

[lnum,g]=factors(pol [,'flag'])
[lnum,lden,g]=factors(rat [,'flag'])
rat=factors(rat,'flag')

Arguments

pol

real polynomial

rat

real rational polynomial (rat=pol1/pol2)

lnum

list of polynomials (of degrees 1 or 2)

lden

list of polynomials (of degrees 1 or 2)

g

real number

flag

character string 'c' or 'd'

Description

returns the factors of polynomial pol in the list lnum and the "gain" g.

One has pol= g times product of entries of the list lnum (if flag is not given). If flag='c' is given, then one has |pol(i omega)| = |g*prod(lnum_j(i omega)|. If flag='d' is given, then one has |pol(exp(i omega))| = |g*prod(lnum_i(exp(i omega))|. If argument of factors is a 1x1 rational rat=pol1/pol2, the factors of the numerator pol1 and the denominator pol2 are returned in the lists lnum and lden respectively.

The "gain" is returned as g,i.e. one has: rat= g times (product entries in lnum) / (product entries in lden).

If flag is 'c' (resp. 'd'), the roots of pol are refected wrt the imaginary axis (resp. the unit circle), i.e. the factors in lnum are stable polynomials.

Same thing if factors is invoked with a rational arguments: the entries in lnum and lden are stable polynomials if flag is given. R2=factors(R1,'c') or R2=factors(R1,'d') with R1 a rational function or SISO syslin list then the output R2 is a transfer with stable numerator and denominator and with same magnitude as R1 along the imaginary axis ('c') or unit circle ('d').

Examples

n=poly([0.2,2,5],'z');
d=poly([0.1,0.3,7],'z');
R=syslin('d',n,d);
R1=factors(R,'d')
roots(R1('num'))
roots(R1('den'))
w=exp(2*%i*%pi*[0:0.1:1]);
norm(abs(horner(R1,w))-abs(horner(R,w)))

See Also

  • simp — rational simplification
Report an issue
<< diophant Polynomials hermit >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Apr 02 17:36:22 CEST 2013