2.1. Array Shape Matrix
 Consider first the case when only one expansion mode is used to represent the equivalent current distribution on each element of an M × N rectangular array. Testing each expansion mode and enforcing the boundary condition results in the system of equations Zi = v, where i is a column vector with the MN unknown expansion coefficients and v is a column vector resulting from the testing of the impressed field. Z is the MN × MN method of moments (MoM) operator matrix. By exploiting the periodicity of the array, Z can be arranged such that it is a NM × NM “block Toeplitz with Toeplitz blocks” (BTTB) matrix, i.e., a N × N block Toeplitz matrix with M × M Toeplitz blocks [see Janpugdee et al., 2006]. However, if the number of elements in each row are not the same, the Toeplitz blocks will not be uniform, and thus the BTTB structure will be destroyed. This is highly undesirable since the MoM operator matrix cannot be represented by only one row as is typically the case for finite planar periodic arrays, and furthermore the fast matrix-vector multiplication method using FFT also cannot be applied directly in this situation. In contrast, one can follow the procedure described below to overcome the above-mentioned limitations.
 Now, let ZA be the MoM operator matrix for the original finite array with a nonrectangular element truncation boundary, which is circumscribed by a somewhat larger M × N rectangular boundary. Assume that the total number of elements in the original nonrectangular array is K, then obviously K < NM. It is evident that ZA is a K × K non-BTTB matrix and it must contain information regarding the element truncation boundary. However, one can observe that all elements in ZA must be included in Z, which is the MoM operator matrix for the circumscribing M × N rectangular array. In other words, ZA can be constructed from Z.
 The observation made above leads to the introduction of an array shape matrix A which is an NM × K matrix which contains the element truncation boundary information. Its elements are defined as
where the function index(k) maps the kth index in the nonrectangular array into the corresponding double index (n, m) for the equivalent circumscribing rectangular array or in other words, it relates the kth element in the nonrectangular array to the (n, m)th element in the rectangular array. It is also worthwhile noting that (n − 1)M + m corresponds to the single index obtained by simply reordering the double indices of the two-dimensional array by row. Figure 2b shows an example of an octagonal array and its element indices. Also shown in Figure 2a are the double indices used for the conventional M × N rectangular array which encloses (or circumscribes) the octagonal array. For the example shown in that figure, K = 36, M = 8, N = 6, and index(1) = (1, 3), index(15) = (3, 5), index (36) = (6, 6), etc. Thus, a3,1 = 1, ak,1 = 0 for ∀k ≠ 3. Likewise, a21,15 = 1, ak,15 = 0 for ∀k ≠ 21 and a46,36 = 1, ak,36 = 0 for ∀k ≠ 46. Using the array shape matrix, one can obtain ZA from Z via the relation
The operation ATZA simply represents the selection of appropriate rows and columns in Z to construct a new matrix according to the information specified in the array shape matrix, and thus AT(•)A can be considered a ‘shaping’ operator. It is noted that ATA = K, where K is the K × K identity matrix. Figure 2c shows the form of the A-matrix for the above example.
Figure 2. Example of an array with nonrectangular element truncation boundary; numbers indicate the element indices for both arrays. (a) Rectangular array. (b) Octogonal array. (c) A-matrix (black is 1, white is 0).
Download figure to PowerPoint
 The approach mentioned above can be easily extended to the case of multiple expansion modes by first noticing that the MoM matrix operator matrix in this case becomes a block matrix with each block being a BTTB matrix. Thus, by applying the shaping operator AT(•)A given in (2) to each BTTB submatrix, the MoM operator matrix for a nonrectangular array can be obtained. Now, introducing A such that
where Nmode denotes the number of expansion modes per array element, and the operator denotes the Kronecker product, which can be given by
where A is a K × L matrix, and ai,j denotes the (i, j)th element of A. Using (3), the MoM operator matrix for the nonrectangular array using multiple expansion modes can be given by
Clearly, the K × K submatrix ZAi,j represents the coupling between the ith and the jth expansion modes.
 It is evident from (2) and (5) that by introducing the array shape matrix, the block-Toeplitz property of the MoM operator matrix can still be exploited and therefore the storage requirement can be kept minimal. Also, it is worthwhile noting that the shaping operator can be applied without explicitly constructing the matrix A; it only needs to store the information regarding the element truncation boundary, thus a large amount of memory is not required. Furthermore, the product Ai can be performed by just adding a certain number of zero elements to i without actually doing the multiplication, thus the computational cost for this would be extremely small. Likewise, the product ATi can be obtained by just removing a certain number of elements in i, thus it would require a minimal computational cost as well.
2.2. Application of the Array Shape Matrix in Iterative Solvers
 It is well-known that the computational cost of iterative solvers is proportional to the cost of matrix-vector multiplication. For an NM × NM BTTB matrix, the fast matrix-vector multiplication method using FFT can be applied to compute a matrix-vector product, which requires only ��(NM log NM) operations instead of ��((NM)2) operations. Since the MoM operator matrix for a M × N finite planar periodic array becomes a BTTB matrix for one expansion mode case and a block matrix with BTTB blocks for the case of multiple expansion modes, this method can be applied to improve the efficiency of iterative solvers. By using the array shape matrix defined in the previous section, it is evident that this fast multiplication method can be applied to nonrectangular array problems as follows. For the one expansion mode case, using (2) yields
where y = Ai. Since Z is a BTTB matrix, the matrix-vector product in the parentheses can be computed using FFT. It is noted that the multiplications involving the matrix A can be performed without actually computing the product, thus the additional cost due to the multiplications of A and AT will be extremely minimal. This approach can be easily extended to the case of multiple expansion modes by noticing that the matrix-vector of each submatrix ZAi,j can be computed in the same way as
where ij is the coefficient vector for the jth mode and yj = Aij. Therefore, the fast matrix-vector multiplication using FFT is also applicable for nonrectangular array problems with additional shaping operations that are not expensive.
 In general, the efficiency of iterative solvers depends greatly on the convergence rate of their solutions, which in turn is a function of the condition number of the pertaining matrix. In this work, a DFT-based preconditioner developed by Janpugdee et al.  is implemented to accelerate the convergence of iterative solvers. This preconditioner is considered effective since it is a good approximation to a block matrix with BTTB blocks and can be computed efficiently by FFT without explicitly constructing large matrices. It can be obtained by first noticing that the impedance matrix in the transform domain, denoted here by and given by
is highly sparse and near diagonal. Here, FNM denotes the two-dimensional NM × NM Fourier matrix given by
where FN, FM denote N × N, M × M Fourier matrices, respectively. Therefore, one can approximate the impedance matrix in the transform domain by retaining only diagonal elements, i.e.,
and d is the vector that contains all diagonal elements of . Hence, the inverse transform of d should well approximate Z, i.e.,
The DFT-based preconditioner can then be obtained by performing the inverse transform of (FNMHdFNM)−1, which is given by
 As discussed earlier, the MoM operator matrix for the nonrectangular arrays can be obtained by simply applying the appropriate shaping operator to the matrix for the enclosing rectangular array. This observation leads to the choice of a preconditioner matrix, MA−1, for nonrectangular arrays, where
and M−1 is the preconditioner for the rectangular array. It can be observed that if the number of elements in the nonrectangular arrays is comparable to the number of elements in the enclosing rectangular array, i.e., K ≈ NM, the array shape matrix will approach the identity matrix, thus MA−1 ≈ M−1. The preconditioned system for the one expansion mode case can be given as follows:
It is noted that AATZ on the left hand side of (16) will only ‘remove’ certain rows and columns which correspond to elements not included in the nonrectangular arrays from Z, and thus M−1AATZ should have the spectral properties comparable to those of M−1Z, which in turn makes the spectral properties of MA−1ZA comparable to those of M−1Z. Therefore, this modified preconditioned system should work reasonably well compared to the original one. Finally, the modified preconditioned system for the case of multiple expansion modes can be simply obtained by using A instead of A in (16), and it can be given by
and M−1 is the preconditioner for the rectangular array as before.