 
% ArrayFire is required for implementation 2. <https://arrayfire.com/download/ 
% https://arrayfire.com/download/> 
% 
% The following third-party MATLAB codes are NOT required, but can be useful 
% as they can be optionally used:
% 
% <https://se.mathworks.com/matlabcentral/fileexchange/27076-shuffle https://se.mathworks.com/matlabcentral/fileexchange/27076-shuffle> 
% (Shuffle, used by random subset sampling) <https://se.mathworks.com/matlabcentral/fileexchange/22940-vol3d-v2 
% https://se.mathworks.com