Source code for proxtoolbox.experiments.phase.CDP_Experiment


from proxtoolbox.experiments.phase.phaseExperiment import PhaseExperiment
from proxtoolbox.utils import fft, ifft
import proxtoolbox.utils as utils

import numpy as np
from numpy import sqrt, conj, tile, mean, exp, angle, trace, reshape, matmul
from numpy.random import randn, random_sample
from numpy.linalg import norm
from numpy.fft import fft2, ifft2
import time


[docs]class CDP_Experiment(PhaseExperiment): """ CDP experiment class """
[docs] @staticmethod def getDefaultParameters(): defaultParams = { 'experiment_name': 'CDP', 'object': 'complex', 'constraint': 'hybrid', 'Nx': 1, 'Ny': 128, 'Nz': 1, 'sets': 10, 'product_space_dimension': 10, 'farfield': True, 'MAXIT': 10000, 'TOL': 1e-10, 'lambda_0': 0.55, 'lambda_max': 0.55, 'lambda_switch': 20, 'data_ball': 1e-30, 'diagnostic': True, 'iterate_monitor_name': 'FeasibilityIterateMonitor', 'verbose': 0, 'graphics': 1, 'anim': False, 'debug':True } return defaultParams
def __init__(self, warmup_iter = 0, **kwargs): """ """ # call parent's __init__ method super(CDP_Experiment, self).__init__(**kwargs) # do here any data member initialization self.warmup_iter = warmup_iter # the following data members are set by loadData() self.masks = None self.indicator_ampl = None self.abs_illumination = None self.illumination = None self.support_idx = None
[docs] def loadData(self): """ Load CDP dataset. Create the initial iterate. """ # Implementation of the Wirtinger Flow (WF) algorithm presented in the paper # "Phase Retrieval via Wirtinger Flow: Theory and algorithms" # by E. J. Candes, X. Li, and M. Soltanolkotabi # integrated into the ProxToolbox by # Russell Luke, September 2016. # The input data are coded diffraction patterns about a random complex # valued image. # for debug: # used predefined randomly generated data for the case where n1 = 128, n2 = 1 n1 = self.Ny n2 = self.Nx debug = self.debug and n1 == 128 and n2 == 1 \ and self.product_space_dimension == 10 debug_image = None debug_masks = None debug_z0 = None # make image if debug: debug_image, debug_masks, debug_z0 = self.createTestImage() x = debug_image else: x = randn(n1,n2) + 1j*randn(n1,n2) self.truth = x self.norm_truth = norm(x,'fro') self.truth_dim = x.shape ## Make masks and linear sampling operators L = self.product_space_dimension # Number of masks if debug: masks = debug_masks else: if n2 == 1: masks = np.random.choice(np.array([1j, -1j, 1, -1]),(n1,L)) elif n1 == 1: masks = np.random.choice(np.array([1j, -1j, 1, -1]),(L,n2)) else: masks = np.random.choice(np.array([1j, -1j, 1, -1]),(n1,n2,L)) # Sample magnitudes and make masks temp = random_sample(masks.shape) #works like rand but accepts tuple as argument masks = masks * ( (temp <= 0.2)*sqrt(3) + (temp > 0.2)/sqrt(2) ) self.masks = conj(masks) # Saving the conjugate of the mask saves # on computing the conjugate every time the # mapping A (below) is applied. if n2 == 1: # Make linear operators; A is forward map and At its scaled adjoint (At(Y)*numel(Y) is the adjoint) A = lambda I: fft(conj(masks) * tile(I,[1, L])) # Input is n x 1 signal, output is n x L array At = lambda Y: mean(masks * ifft(Y), 1).reshape((n1,n2)) # Input is n x L array, output is n x 1 signal elif n1 == 1 : # Make linear operators; A is forward map and At its scaled adjoint (At(Y)*numel(Y) is the adjoint) A = lambda I: fft(conj(masks) * tile(I,[L, 1])) # Input is 1 x n signal, output is L x n array At = lambda Y: mean(masks * ifft(Y), 0).reshape((n1,n2)) # Input is L x n array, output is 1 x n signal else: A = lambda I: fft2(masks * reshape(tile(I,[1, L]), (I.shape[0],I.shape[1], L))) # Input is n1 x n2 image, output is n1 x n2 x L array At = lambda Y: mean(masks * ifft2(Y), 2).reshape((n1,n2)) # Input is n1 x n2 X L array, output is n1 x n2 image # Support constraint: none self.indicator_ampl = 1 self.abs_illumination = 1 self.illumination = 1 self.support_idx = np.nonzero(x.flatten(order = 'F')) # column-major order' #alt_support_idx = find(Xi_A.T, 0, "!=") # Data Y = abs(A(x)) self.rt_data = Y Y = Y**2 self.data = Y self.norm_data = sum(Y.flatten())/Y.size normest = sqrt(self.norm_data) # Estimate norm to scale eigenvector self.norm_rt_data = normest # Initialization npower_iter = self.warmup_iter # Number of power iterations if debug: z0 = debug_z0 else: z0 = randn(n1,n2) z0 = z0/norm(z0,'fro') # Initial guess _tic = time.time() # Power iterations for _tt in range(npower_iter): z0 = At(Y*A(z0)) z0 = z0/norm(z0) _toc = time.time() z = normest * z0 # Apply scaling if n2 == 1: _Relerrs = norm(x - exp(-1j*angle(trace(matmul(x.T.conj(), z)))) * z, 'fro')/norm(x,'fro') self.u0 = tile(z,[1,L]) elif n1 == 1: _Relerrs = norm(x - exp(-1j*angle(trace(matmul(z.T.conj(), x)))) * z, 'fro')/norm(x,'fro') self.u0 = tile(z,[L,1]) else: _Relerrs = norm(x - exp(-1j*angle(trace(matmul(x.T.conj(), z)))) * z, 'fro')/norm(x,'fro') self.u0 = reshape(tile(z,[1, L]), (z.shape[0], z.shape[1], L)) # The following is put here for now if self.formulation == 'cyclic': if self.Nx == 1: self.u0 = self.u0[:,0] elif self.Ny == 1: self.u0 = self.u0[0,:] else: self.u0 = self.u0[:,:,0] else: # TODO need to check that the following code # converted from Matlab makes sense self.product_space_dimension = self.sets self.sets = 2
#print('Run time of initialization:', toc-tic, 's') #print('Relative error after initialization:', Relerrs) #print('\n')
[docs] def setupProxOperators(self): """ Determine the prox operators to be used for this experiment """ super(CDP_Experiment, self).setupProxOperators() # call parent's method if self.formulation == 'cyclic': self.proxOperators = [] self.nProx = self.sets for _j in range(self.nProx): self.proxOperators.append('P_CDP_cyclic') else: #input.Prox0 = input.Prox{1}; # used in ADMM self.n_product_Prox = self.product_space_dimension self.proxOperators = [] self.proxOperators.append('P_diag') self.proxOperators.append('P_CDP') self.propagator = 'Propagator_FreFra' self.inverse_propagator = 'InvPropagator_FreFra'
[docs] def createTestImage(self): """ createTestImage(config) Creates a randomly generated image and masks for comparison with Matlab. These numbers where generated by Matlab's CDP_processor() code using the random number generator seed 1234 (by calling rng(1234) before the image generation code) Returns ------- image : ndarray 2-D array of randomly generated complex numbers masks : ndarray 2-D array masks z0 : ndarray initial guess """ image = np.array([[-0.947246643957371 - 2.01621153886074j],\ [0.540149747070348 - 1.52496021647706j],\ [-0.216602140976276 + 0.458677002745254j],\ [1.18903197494834 - 0.297145673980074j],\ [1.31698783181085 + 0.129078774211000j],\ [-0.405628869688033 - 1.38801488456459j],\ [-0.444906311105150 + 1.46660625680038j],\ [1.32838581559268 + 1.57744914102568j],\ [0.833802589212637 + 0.188860833221133j],\ [0.604446391975290 - 1.51347819176918j],\ [-0.106671545865946 - 0.438831006963736j],\ [0.00301532940457824 + 1.28965229463172j],\ [0.457111658357373 - 0.711665883615802j],\ [0.921720899428106 + 0.242499695965284j],\ [-0.197341695987964 - 1.31368056043522j],\ [0.0755034885193928 + 1.26604618004522j],\ [0.00888692002792200 + 0.418053670303849j],\ [0.838831098830714 - 0.546504475436316j],\ [-0.542412761860117 - 1.44615927722111j],\ [0.567566470034518 + 0.531407151709729j],\ [-2.81967642036639 + 0.749904827213164j],\ [-0.213634974974775 + 0.196266421666228j],\ [1.17315591544504 + 1.04389543976836j],\ [0.440383864511465 + 0.433880451910687j],\ [-0.329729750582313 + 0.202558660264406j],\ [1.23258158069934 - 1.08244979552462j],\ [-0.542675757150614 + 1.55097820405333j],\ [0.194466345903572 + 1.41934204686036j],\ [1.22531159154148 + 1.07188715589087j],\ [-0.386513069477807 + 0.159636124932582j],\ [0.331849788546788 - 0.0327316827732193j],\ [-1.15748750365203 + 1.08919381632052j],\ [0.602440582498460 - 0.348303600339312j],\ [0.543109594539006 - 0.620575098637133j],\ [-0.696775726944675 + 1.04079835336547j],\ [1.86962619100788 - 0.213343457997795j],\ [-0.209100363450530 + 0.652078087684554j],\ [0.478585950928353 - 0.280276735614089j],\ [-3.21704882828706 + 0.959084129878320j],\ [-1.19627320331396 + 1.18945394492323j],\ [-2.40470498750630 + 0.634768286304729j],\ [0.913196954812861 + 0.380343466220301j],\ [0.583555949265918 - 0.00817080599068953j],\ [0.0906668992644205 + 0.940589108500904j],\ [-1.02808755576208 + 0.817851200843005j],\ [0.174610557358781 - 0.295388381185293j],\ [-0.703049478880380 - 1.52378082461446j],\ [0.0101890477763441 - 0.342628221057316j],\ [-0.543861682944172 + 0.830269710094186j],\ [0.413341557812789 - 0.137945148578286j],\ [0.121192826575397 - 0.319624153415461j],\ [1.23211020325057 + 0.712876198690310j],\ [0.383969811361109 - 1.18865203301538j],\ [1.31296996269268 - 1.34341008037504j],\ [0.747210676071557 + 0.747409824094176j],\ [1.45607363168206 - 1.27547715945019j],\ [-0.886384209969464 - 0.342530050925878j],\ [0.331621021864755 + 0.148824592601233j],\ [-0.0203129309776211 - 1.26211189632241j],\ [-1.55158280044690 + 1.24221839192965j],\ [-0.499920965892113 + 0.363918204591390j],\ [-1.56498908502083 + 0.507694658273534j],\ [-0.0993317572479484 + 2.10512176900872j],\ [1.13366320843822 + 0.350957681037072j],\ [-1.38249988652052 + 1.24659397015117j],\ [-1.85949584047873 + 0.950271264843820j],\ [0.884449709416438 + 0.722330521877201j],\ [0.217523545499093 - 2.21293608120763j],\ [-0.0578280186891475 - 0.157391349560238j],\ [-0.263804534357637 - 0.616507713005481j],\ [-0.365284054150745 - 0.745698474865358j],\ [1.58398927782162 - 0.660833563274984j],\ [-0.524101329605828 + 1.24207116362548j],\ [0.135846130883832 + 0.0395838266801307j],\ [-0.352252375153797 + 0.490164892647680j],\ [0.378669553397911 + 0.354702703427887j],\ [1.33561910056640 - 0.136794253723794j],\ [0.235487012067213 - 0.0997481612530957j],\ [0.374910615584327 - 0.166176528270441j],\ [-1.91378858189177 - 0.0302665864607736j],\ [0.961502486978082 + 2.46419771987493j],\ [0.989600704126284 - 0.427383134664501j],\ [0.653310621918943 - 2.44922307426240j],\ [-0.169566854082180 + 1.20481096224295j],\ [-0.650682090597426 + 0.523080596720994j],\ [0.115536315914466 - 0.311508290552635j],\ [0.0783349993006565 + 0.497411584963897j],\ [0.418595751437944 - 0.436568643682149j],\ [-0.0649197557013077 - 0.889640804797343j],\ [0.0108202327278178 - 1.12095223988142j],\ [0.0835593013785142 - 0.387866367108168j],\ [0.655757213589554 - 0.890776283769062j],\ [-0.844671186989871 + 0.352625509242389j],\ [0.479280990103061 + 1.86863253476594j],\ [1.61757162156561 + 2.03257582115308j],\ [0.236143619222306 - 0.193455913061711j],\ [1.53752025245811 - 0.530884473343525j],\ [0.105123319666697 - 0.423268657474212j],\ [2.57229713756556 + 0.900743082404520j],\ [-1.45637228419350 + 0.408699681308538j],\ [-0.565462711896420 - 0.136149735194495j],\ [0.208619702439589 - 1.41492140643848j],\ [-2.05030148748642 - 1.01335576717876j],\ [2.04857822020918 + 0.419372009566239j],\ [-0.317208297886046 - 1.05533149222429j],\ [-1.16091463775971 - 1.27704214810170j],\ [-0.110291231160078 - 0.921056798905937j],\ [2.27516290469254 + 0.178926804601294j],\ [1.32412518648152 - 2.94365447555317j],\ [-0.949736504479999 + 0.830032562756678j],\ [-0.468779829108687 - 0.508901159929091j],\ [-1.23480383487029 + 2.02407881405793j],\ [0.686419671641041 + 0.199473346380582j],\ [0.928292474111740 - 2.05373156827879j],\ [0.914083515337297 + 0.302803630103726j],\ [1.17464064745822 + 0.599379398850925j],\ [0.391198845062667 - 0.322703014845327j],\ [0.261893749252645 + 0.357550622412571j],\ [-1.13040246678514 + 0.160283663101418j],\ [-0.976856536557975 + 0.244902203900982j],\ [-0.351390703238139 + 0.670656383427207j],\ [0.525224146204912 + 0.721087133471137j],\ [-1.42233116006403 - 0.275147631335540j],\ [-1.24100720358566 + 0.915598784070494j],\ [-0.625512864566490 + 0.936740544967723j],\ [0.188716876403410 + 0.837446756628092j],\ [1.24673959683294 + 0.335938902751047j],\ [-0.639478657545211 - 0.130059388854364j]]) masks = np.array([[-0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j],\ [0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [-0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j],\ [-1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j],\ [1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j],\ [-0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j],\ [-1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 - 0.707106781186548j],\ [-0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 1.73205080756888j],\ [0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [-1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 1.73205080756888j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 1.73205080756888j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [0.00000000000000 - 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j],\ [-0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j],\ [1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, -0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j],\ [0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, -0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 - 0.707106781186548j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j],\ [-1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j],\ [1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [-1.73205080756888 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j],\ [-0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [-0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 1.73205080756888j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 1.73205080756888j],\ [1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j],\ [-1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [-1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, -1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j],\ [-0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j],\ [1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j],\ [-0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 + 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j],\ [0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j],\ [-0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, -0.707106781186548 + 0.00000000000000j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j],\ [-0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j],\ [0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j],\ [0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [1.73205080756888 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [-0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j],\ [1.73205080756888 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j],\ [0.00000000000000 + 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j],\ [0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j],\ [1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 - 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 - 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j],\ [1.73205080756888 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 - 1.73205080756888j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [1.73205080756888 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j],\ [0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 0.707106781186548j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 1.73205080756888j],\ [1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j],\ [0.00000000000000 + 0.707106781186548j, -1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 + 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 1.73205080756888j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j],\ [0.00000000000000 - 0.707106781186548j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.00000000000000 - 1.73205080756888j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.707106781186548 + 0.00000000000000j],\ [-0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j, 0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 + 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j],\ [-0.707106781186548 + 0.00000000000000j, 1.73205080756888 + 0.00000000000000j, 0.00000000000000 - 0.707106781186548j, 1.73205080756888 + 0.00000000000000j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 - 1.73205080756888j, -0.707106781186548 + 0.00000000000000j, 0.00000000000000 + 1.73205080756888j, 0.00000000000000 + 0.707106781186548j, 0.00000000000000 - 0.707106781186548j]]) z0 = np.array([0.0848802595989635,0.134817251982901, -0.0550294990313983,0.0207696058654980, 0.0572518900492754,0.0304482413548984, -0.157357772082957,0.0314411549828741, -0.111199278671796,0.129929752682433, 0.00796394647342733,-0.178882113119730, 0.0250989028849321,-0.0344385614770851, -0.0483885697600441,-0.0889293659266556, 0.104759728869783,-0.0441936831694983, -0.0711090694340487,0.0203232239035642, 0.0656226194898509,-0.00684727629018896, -0.126150868035451,0.102207722674680, -0.0211402731234492,-0.0782314147733199, 0.0189640495439396,-0.00869321517155756, 0.0830865478227942,0.134693857876543, 0.103552290678175,0.0556000190551109, 0.0220565902091927,0.0119355475132650, 0.147876127275836,0.0128811593527358, -0.0909797057849293,-0.0652496876654610, 0.0197271339589965,0.0723284676797569, -0.00913595491034786,-0.0130214653244836, -0.0875263856314950,0.192279538739551, 0.0720385200493351,0.0192581314315543, -0.0740556432299930,0.0363979972516529, 0.0189869207127548,-0.0104526458577770, -0.0542523598171503,0.00755985857227767, -0.123248756798427,0.0904471066038652, 0.00108594991318542,-0.170986060584556, 0.0583651473960023,0.147031098199246, -0.0326454625824806,0.0440439606138198, -0.0169668657559946,0.00299189067905872, 0.0400027995834829,0.0833136300758959, -0.0841368281450238,-0.0979937273505081, 0.0967813130013211,0.123481733221129, 0.0456674755721156,-0.0569024877652607, -0.00740993853050754,-0.238064210087468, -0.181953702334826,0.0196276430752442, 0.246366026593873,-0.0882083309766466, -0.0353426430124360,0.0149585914177386, -0.104856725174650,-0.00741665217271024, -0.0466503577974486,0.0984315248514579, -0.0541168242375842,0.0572490768510109, -0.00493417116837634,0.100608098270356, -0.118635929068360,0.130516281502712, 0.151203893153615,-0.0398045832710856, -0.178354974680567,0.0941175260655856, -0.00493043708102830,-0.106999084510846, 0.168147166866192,-0.0766254688020768, 0.0731289007707208,-0.0804220199728473, -0.0236863785550888,0.0965600073542886, -0.0342665393546350,-0.0389368942822843, -0.122727105567105,-0.0111953013599083, 0.0958533706413645,0.0416434598016190, 0.0189220423873334,-0.169233863873663, 0.0730915479474775,-0.0173166816369515, 0.117436769360342,0.0787641055134198, 0.105915392680960,-0.0184120271964982, 0.0750457848047416,0.119366543389881, -0.00605990306546091,-0.0238766672477757, 0.0997848243058209,0.0484852340483031, 0.0945140780010776,-0.100615928283661, 0.100318332695063,0.0457828289822120, -0.0106094324251081,-0.0708488722865212, 0.0645047500348074,-0.0627622327830579]) z0 = np.reshape(z0, (128, 1)) # transform 1-D array z0 into 128x1 matrix return image, masks, z0