diff --git a/src/translOp.m b/src/translOp.m index e61fc1ca66b385e2f6604bca94e8cd86703db23e..4fe3fadb7a8d16ed0653daf066b019c2f7cb8976 100644 --- a/src/translOp.m +++ b/src/translOp.m @@ -1,18 +1,23 @@ -function [Tc1c2F] = translOp(F, sampling, c1, c2, kappa) -% Applies generalized far field translation operator on F -% INPUT: c1 - shift vector for row space, 2x1 array. -% c2 - shift vector for column space, 2x1 array. -% kappa - wave number. -% F - farfield matrix. -% sampling - structure that contains information about the -% discretization. -% OUTPUT Tc1c2F - translated far field matrix. - -xhat = sampling.xhat; -d = sampling.d.'; - -Tc1 = diag(exp(1i*kappa*[cos(xhat), sin(xhat)]*c1)); -Tc2 = diag(exp(1i*kappa*[cos(d), sin(d)]*c2)); -Tc1c2F = Tc1*F*Tc2'; - -end \ No newline at end of file +function [Tc1c2F] = translOp(F, sampling, c1, c2, kappa) +%% TRANSLOP: Applies generalized translation operator to a far field matrix F. +% +% INPUT: F Far field matrix, nxhat*nd-array. +% sampling Structure containing information about the discretization. +% c1 Determines translation in row direction, vector of length 2. +% c2 Determines translation in column direction, vector of length 2. +% kappa Wave number, >0. +% +% OUTPUT: Tc1c2F Translated far field matrix, nxhat*nd-array. +% +% SYNTAX: translOp(F, sampling, c1, c2, kappa) +% +% ************************************************************************************** + +xhat = sampling.xhat; +d = sampling.d.'; + +Tc1 = diag(exp(1i*kappa*[cos(xhat), sin(xhat)]*c1)); +Tc2 = diag(exp(1i*kappa*[cos(d), sin(d)]*c2)); +Tc1c2F = Tc1*F*Tc2'; + +end