Research Article

Multidimensional Costas Arrays and Their Enumeration Using GPUs and FPGAs

Algorithm 1

Backtracking algorithm to enumerate all MPCAs in beginning with permutation Perminit.
Inputs: : MPCA dimensions
    : initial permutation
Output: Displays all MPCAs in
Perm = Perminit
= length of Perminit
while ( >= length of Perminit){
 if (IsCostas (Perm) {
  if ( == ) {
   display Perm
   do {
     −−;
   } until (Next (Perm, )!= empty)
  }
  else
    ++; //explore a deeper level
 }
 else {
  // backtrack
  do {
    −−;
  } until (Next (Perm, )!= empty)
 }
 Perm = Next (Perm, );
}