IDL> IDL> IDL> img = COMPLEX(0,1) IDL> IDL> ; vecteurs B et E dans le repère des axes principaux IDL> aa = 2.000000 * 1e+3 IDL> bb = 1.000000 * 1e+3 IDL> IDL> B_PA = [aa,-img*bb,0] IDL> vphi = +1.000000 * 1e+1 IDL> Et = -vphi*[img*bb,aa,0.] IDL> El = [0.,0.,0.*aa*(0.5 + img*0.15)] IDL> E_PA = Et + El IDL> IDL> pm, B_PA IDL> pm, E_PA IDL> IDL> ; matrice de passage, orthonormée directe, du repère des axes principaux vers le repère du SCM IDL> phi_n = 90.00 * !DPI / 180 IDL> theta_n = 30.00 * !DPI / 180 IDL> n1 = SIN(theta_n)*COS(phi_n) IDL> n2 = SIN(theta_n)*SIN(phi_n) IDL> n3 = COS(theta_n) IDL> print, n1^2+n2^2+n3^2 IDL> print, n1, n2, n3 IDL> IDL> A = n2 / SQRT(1-n3^2) IDL> B = -n1 / SQRT(1-n3^2) IDL> C = 0. IDL> D = n1*n3 / SQRT(1-n3^2) IDL> E = n2*n3 / SQRT(1-n3^2) IDL> F = -SQRT(1-n3^2) IDL> print, A^2+B^2+C^2 IDL> print, D^2+E^2+F^2 IDL> IDL> invR_M = [[A,B,C],[D,E,F],[n1,n2,n3]] IDL> pm, invR_M IDL> print, DETERM(invR_M) IDL> pm, invR_M # TRANSPOSE(invR_M) IDL> IDL> ; vecteur B et E dans le repère du SCM IDL> B_SCM = invR_M # B_PA IDL> E_SCM = invR_M # E_PA IDL> IDL> pm, B_SCM IDL> pm, E_SCM IDL> IDL> ; matrice spectrale 6x6 dans le repère du SCM IDL> BE_SCM = [B_SCM,E_SCM] IDL> sm_6x6 = BE_SCM # CONJ(BE_SCM) IDL> IDL> pm, sm_6x6 IDL> pm, IMAGINARY(sm_6x6) / (aa*bb) IDL> print, n1, n2, n3 IDL> IDL> R1 = RANDOMN(seed, 6) * aa * 1/40 IDL> R2 = RANDOMN(seed, 6) * img * bb * 1/40 IDL> RR = R1 + R2 IDL> IDL> sm_6x6 = sm_6x6 + RR # CONJ(RR) IDL> IDL> ; matrice spectrale 5x5 dans le repère du SCM IDL> sm_5x5 = sm_6x6(0:4,0:4) IDL> IDL> ; mise en forme pour routine propre sous idl IDL> nfreq = 1 IDL> sm_idl = COMPLEXARR(5,5,1,nfreq) IDL> IF nfreq EQ 1 THEN sm_idl(*,*) = sm_5x5 ELSE FOR k=0, nfreq-1 DO sm_idl(*,*,0,k) = sm_5x5 IDL> IDL> ; conversion de la matrice spectrale 5x5 dans le format du prog C IDL> NB_VALUES_PER_SPECTRAL_MATRIX = 25 IDL> NB_BINS_COMPRESSED_MATRIX_f0 = nfreq IDL> TOTAL_SIZE_COMPRESSED_MATRIX_f0 = NB_BINS_COMPRESSED_MATRIX_f0 * NB_VALUES_PER_SPECTRAL_MATRIX IDL> sm_c = FLTARR(TOTAL_SIZE_COMPRESSED_MATRIX_f0) IDL> IDL> sm_idl2c, sm_idl, sm_c IDL> pm, sm_idl(*,*,0,0) IDL> print, sm_c(0:24) IDL> IDL> ; enregistrement dans un fichier (binaire ou ascii) IDL> ; file_name = 'C:\Documents and Settings\chust\DD CHUST\Missions\Solar Orbiter\LFR\Prog C\tests bp Paul\tests1\sm_test1.dat' IDL> ;file_name = '/WIN/Users/chust/DD CHUST/Missions/Solar Orbiter/LFR/Prog C/tests bp Paul/tests2/sm_test.dat' IDL> file_name = '/WIN/Users/chust/DD CHUST/Missions/Solar Orbiter/LFR/Prog C/tests bp Paul/tests7/sm_test.dat' IDL> write_sm_c_binary, sm_c, file_name IDL> IDL> ;file_name = 'C:\Documents and Settings\chust\DD CHUST\Missions\Solar Orbiter\LFR\Prog C\tests bp Paul\tests1\sm_test1.txt' IDL> ;file_name = '/WIN/Users/chust/DD CHUST/Missions/Solar Orbiter/LFR/Prog C/tests bp Paul/tests2/sm_test.txt' IDL> file_name = '/WIN/Users/chust/DD CHUST/Missions/Solar Orbiter/LFR/Prog C/tests bp Paul/tests7/sm_test.txt' IDL> write_sm_c_ascii, sm_c, file_name IDL> IDL> ; calcul de BP sous idl IDL> IDL> sm_3b2e_characterization_lfr, sm_idl, trace_sm_b, trace_sm_e, $ IDL> degree_polar_3b, degree_polar_2e, degree_polar_3b2e, $ IDL> wave_nvector_3b, wave_ellipti_3b, $ IDL> Sx, vphi, Sx_arg, vphi_arg, $ IDL> k44_pe=1., k55_pe=1, k45_pe=COMPLEX(1,1), $ IDL> k14_sx=COMPLEX(1,1), k15_sx=COMPLEX(1,1), $ IDL> k24_sx=COMPLEX(1,1), k25_sx=COMPLEX(1,1), $ IDL> k34_sx=COMPLEX(1,1), k35_sx=COMPLEX(1,1), $ IDL> k24_ny=COMPLEX(1,1), k25_ny=COMPLEX(1,1), $ IDL> k34_ny=COMPLEX(1,1), k35_ny=COMPLEX(1,1), $ IDL> k24_nz=COMPLEX(1,1), k25_nz=COMPLEX(1,1), $ IDL> k34_nz=COMPLEX(1,1), k35_nz=COMPLEX(1,1), $ IDL> alphaM = 45.*(!PI/180) IDL> IDL> PRINT, 'PSD_B :', trace_sm_b, format='(A, 1e16.8)' IDL> PRINT, 'PSD_E :', trace_sm_e, format='(A, 1e16.8)' IDL> PRINT, 'DOP :', degree_polar_3b^2, format='(A, 1e16.8)' IDL> PRINT, 'ELLIP :', wave_ellipti_3b, format='(A, 1e16.8)' IDL> PRINT, 'NVEC :', wave_nvector_3b, format='(A, 3e16.8)' IDL> PRINT, 'SX :', Sx, format='(A, 2(e16.8))' IDL> PRINT, 'SX_arg :', Sx_arg, format='(A, I16)' IDL> PRINT, 'VPHI :', vphi, format='(A, 2(e16.8))' IDL> PRINT, 'VPHI_arg:', vphi_arg, format='(A, I16)' IDL> IDL> sm_normalization, sm_idl, sm_idl_norm IDL> pm, sm_idl_norm(*,*,0,0) ( 2000.00, 0.00000) ( -0.00000, -1000.00) ( 0.00000, 0.00000) ( 0.00000, -10000.0) ( -20000.0, 0.00000) ( 0.00000, 0.00000) 1.0000000 3.0616170e-17 0.50000000 0.86602540 1.0000000 1.0000000 1.0000000 5.3028762e-17 3.0616170e-17 -6.1232340e-17 0.86602540 0.50000000 0.0000000 -0.50000000 0.86602540 1.0000000 1.0000000 -3.0814879e-33 0.0000000 -3.0814879e-33 1.0000000 0.0000000 0.0000000 0.0000000 1.0000000 ( 2000.0000, -5.3028762e-14) ( -1.2246468e-13, -866.02540) ( 0.0000000, 500.00000) ( -1.0605752e-12, -10000.000) ( -17320.508, 6.1232340e-13) ( 10000.000, 0.0000000) ( 4000000.0, 0.0000000)( -1.9900510e-10, 1732050.8)( -2.6514381e-11, -1000000.0)( -1.5908629e-09, 20000000.)( -34641016., -3.0616170e-10) ( 20000000., -5.3028762e-10) ( -1.9900510e-10, -1732050.8)( 750000.00, 0.0000000)( -433012.70, 6.1232340e-11)( 8660254.0, -3.0616170e-10)( 1.5908629e-09, 15000000.) ( -1.2246468e-09, -8660254.0) ( -2.6514381e-11, 1000000.0)( -433012.70, -6.1232340e-11)( 250000.00, 0.0000000)( -5000000.0, -5.3028762e-10)( 3.0616170e-10, -8660254.0) ( 0.0000000, 5000000.0) ( -1.5908629e-09, -20000000.)( 8660254.0, 3.0616170e-10)( -5000000.0, 5.3028762e-10)( 1.0000000e+08, 0.0000000)( 1.2246468e-08, 1.7320508e+08) ( -1.0605752e-08, -1.0000000e+08) ( -34641016., 3.0616170e-10)( 1.5908629e-09, -15000000.)( 3.0616170e-10, 8660254.0)( 1.2246468e-08, -1.7320508e+08)( 3.0000000e+08, 0.0000000) ( -1.7320508e+08, 6.1232340e-09) ( 20000000., 5.3028762e-10)( -1.2246468e-09, 8660254.0)( 0.0000000, -5000000.0)( -1.0605752e-08, 1.0000000e+08)( -1.7320508e+08, -6.1232340e-09) ( 1.e+08, 0.0000000) 0.0000000 0.86602540 -0.50000000 10.000000 -1.5308085e-16 -2.6514381e-16 -0.86602540 0.0000000 3.0616170e-17 -1.5308085e-16 7.5000000 -4.3301270 0.50000000 -3.0616170e-17 0.0000000 -2.6514381e-16 -4.3301270 2.5000000 -10.000000 1.5308085e-16 2.6514381e-16 0.0000000 86.602540 -50.000000 1.5308085e-16 -7.5000000 4.3301270 -86.602540 0.0000000 3.0616170e-15 2.6514381e-16 4.3301270 -2.5000000 50.000000 -3.0616170e-15 0.0000000 3.0616170e-17 0.50000000 0.86602540 ( 4.00110e+06, 0.00000)( -2198.91, 1.73193e+06)( 1881.06, -1.00002e+06)( 623.725, 2.00017e+07)( -3.46423e+07, -1443.34) ( -2198.91, -1.73193e+06)( 754425., 0.00000)( -436785., 234.539)( 8.65882e+06, -3316.11)( 2717.20, 1.50028e+07) ( 1881.06, 1.00002e+06)( -436785., -234.539)( 253229., 0.00000)( -4.99895e+06, 2903.30)( -2170.48, -8.66275e+06) ( 623.725, -2.00017e+07)( 8.65882e+06, 3316.11)( -4.99895e+06, -2903.30)( 1.00003e+08, 0.00000)( -2947.39, 1.73206e+08) ( -3.46423e+07, 1443.34)( 2717.20, -1.50028e+07)( -2170.48, 8.66275e+06)( -2947.39, -1.73206e+08)( 3.00003e+08, 0.00000) 4.00110e+06 -2198.91 1.73193e+06 1881.06 -1.00002e+06 623.725 2.00017e+07 -3.46423e+07 -1443.34 754425. -436785. 234.539 8.65882e+06 -3316.11 2717.20 1.50028e+07 253229. -4.99895e+06 2903.30 -2170.48 -8.66275e+06 1.00003e+08 -2947.39 1.73206e+08 3.00003e+08 TRACE_SM_B FLOAT = Array[1] TRACE_SM_E FLOAT = Array[1] DEGREE_POLAR_3B FLOAT = Array[1] DEGREE_POLAR_2E FLOAT = Array[1] DEGREE_POLAR_3B2E FLOAT = Array[1] WAVE_NVECTOR_3B FLOAT = Array[3] WAVE_ELLIPTI_3B FLOAT = Array[1] SX COMPLEX = Array[1] VPHI COMPLEX = Array[1] SX_ARG INT = Array[1] VPHI_ARG INT = Array[1] PSD_B : 5.00874950e+06 PSD_E : 2.26797168e+08 DOP : 9.96132076e-01 ELLIP : 7.98565149e-01 NVEC : 1.17274933e-04 5.00031590e-01 8.66007149e-01 SX : -4.64141600e+06 -5.73210920e+07 SX_arg : 1 VPHI : 1.02704763e+01 -2.75164342e+00 VPHI_arg: 0 ( 4.00110e+06, 0.00000)( -0.00126564, 0.996859)( 0.00186877, -0.993484)( 3.11815e-05, 0.999933)( -0.999894, -4.16596e-05) ( -0.00126564, -0.996859)( 754425., 0.00000)( -0.999317, 0.000536599)( 0.996884, -0.000381781)( 0.000180613, 0.997241) ( 0.00186877, 0.993484)( -0.999317, -0.000536599)( 253229., 0.00000)( -0.993381, 0.000576937)( -0.000249021, -0.993885) ( 3.11815e-05, -0.999933)( 0.996884, 0.000381781)( -0.993381, -0.000576937)( 1.00003e+08, 0.00000)( -1.70164e-05, 0.999986) ( -0.999894, 4.16596e-05)( 0.000180613, -0.997241)( -0.000249021, 0.993885)( -1.70164e-05, -0.999986)( 3.00003e+08, 0.00000) IDL>