File: pdiv.sci

package info (click to toggle)
scilab 2.4-1
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 55,196 kB
  • ctags: 38,019
  • sloc: ansic: 231,970; fortran: 148,976; tcl: 7,099; makefile: 4,585; sh: 2,978; csh: 154; cpp: 101; asm: 39; sed: 5
file content (33 lines) | stat: -rw-r--r-- 653 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function [R,Q]=pdiv(P1,P2)
// Element wise euclidan division of a polynomial matrix 
// by a polynomial
// This is just a loop for the primitive pppdiv
//!
// Copyright INRIA
[lhs,rhs]=argn(0);
[n,m]=size(P1);
[n1,m1]=size(P2);
// Special case for constant matrices
if type(P1)==1&type(P2)==1 then
  Q=P1./P2;R=0*P1;
  if lhs==1 then R=Q; end
  return;
end
R=[],Q=[]
if n1==1 & m1==1 then
 for l=1:n,
    for k=1:m,
      [rlk,qlk]=pppdiv(P1(l,k),P2),R(l,k)=rlk;Q(l,k)=qlk;
    end;
 end
 if lhs==1 then R=Q;end

 return;
end
for l=1:n,
    for k=1:m,
      [rlk,qlk]=pppdiv(P1(l,k),P2(l,k)),R(l,k)=rlk;Q(l,k)=qlk;
    end;
end
if lhs==1 then R=Q; end