|
From: | Ben Abbott |
Subject: | Re: Patch to residue.m |
Date: | Fri, 11 Jan 2008 04:40:55 -0500 |
I believe this patch is ready to be committed. In the event of pole multiplicity, the committed version of residue.m does not use a single pole to represent a group of multiplicity. Instead the expansion of residues is done with the poles returned by roots . The attached patch changes the pole value associated with a group of multiplicity to be that of the mean of then entire group. For example, if the poles were given by octave:1> p = [3 3 3 3 3]; octave:2> p = roots(poly(p)) p = 3.0026 + 0.0000i 3.0008 + 0.0024i 3.0008 - 0.0024i 2.9979 + 0.0015i 2.9979 - 0.0015i The current committed version expands to residues as r(1)/(x-p(1)) + r(2)/(x-p(2)).^2 + r(3)/(x-p(3)).^3 + r(4)/(x-p(4)).^4 + r(5)/(x-p(5)).^5 With each element of p(:) being different. However, the expansion of residues should use a single value for the poles of a multiplicity group. octave:3> p = mean(p)*ones(size(p)) p = 3.0000 3.0000 3.0000 3.0000 3.0000 This patch makes this change. In addition the checks for poles of zero value, pure real values, and pure imaginary values is done *after* consideration of pole multiplicity. The attached patch and ChangeLog are identical to that submitted on Dec 31. Ben |
residue.patch
Description: Binary data
ChangeLog
Description: Binary data
residue.m
Description: Binary data
[Prev in Thread] | Current Thread | [Next in Thread] |