File: %25r_l_r.sci

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (23 lines) | stat: -rw-r--r-- 446 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function s1=%r_l_r(s1,s2)
// %r_l_r(s1,s2)   s1\s2
//!
// Copyright INRIA
[s1,s2]=sysconv(s1,s2)
[n,m]=size(s1('den'))
if n<>m then error(43),end
if m*n==1 then
    s1=%r_m_r(rlist(s1('den'),s1('num'),s1('dt')),s2)
else
    // reduction de s1 sous la forme D1**(-1)* N1 (D1 diagonale)
    p=s1('num')
    s1=s1('den')
    for l=1:n
      [pp,fact]=lcm(s1(l,:))
      p(l,:)=p(l,:).*fact
      s2(l,:)=s2(l,:)*pp
    end
    s1=invr(p)*s2,
end