Memoryless Weak Nonlinearity Composition
From Wikimization
(Difference between revisions)
(New page: <pre> % Compute y(z(x)) coefficients of x given mapping coefficients xi and zeta. % xi : polynomial y(z), first order leading: [xi_1, xi_2, ...] % zeta : polynomial z(x), first order...) |
|||
| Line 1: | Line 1: | ||
<pre> | <pre> | ||
| - | % Compute y(z(x)) coefficients of x given mapping coefficients xi | + | % Compute composition y(z(x)) coefficients of x given mapping coefficients zeta & xi. |
| - | % | + | % zeta : memoryless weak power series z(x), first-order leading: [zeta_1, zeta_2 ... zeta_Nt] |
| - | % | + | % xi : memoryless weak power series y(z), first-order leading: [ xi_1, xi_2 ... xi_Nh] |
| + | % Mapping coefficients constituting nonlinearity composition zeta & xi are not commutative. | ||
function y = composite2(zeta, xi, precision) | function y = composite2(zeta, xi, precision) | ||
if nargin < 3, precision = 34; end | if nargin < 3, precision = 34; end | ||
Revision as of 16:59, 2 December 2024
% Compute composition y(z(x)) coefficients of x given mapping coefficients zeta & xi.
% zeta : memoryless weak power series z(x), first-order leading: [zeta_1, zeta_2 ... zeta_Nt]
% xi : memoryless weak power series y(z), first-order leading: [ xi_1, xi_2 ... xi_Nh]
% Mapping coefficients constituting nonlinearity composition zeta & xi are not commutative.
function y = composite2(zeta, xi, precision)
if nargin < 3, precision = 34; end
mp.Digits(precision); %Advanpix Multiprecision Toolbox
zeta = zeta(:)';
xi = xi(:)';
y = mp('0');
z_power = mp('1');
for power = 1:numel(xi)
z_power = conv(z_power, zeta);
term = [zeros(1,power-1,'mp'), xi(power)*z_power];
y = term + [y, zeros(1,numel(term)-numel(y),'mp')];
end
end