List of commits:
Subject Hash Author Date (UTC)
Remove dual-rail-homo-correction for shotnoise data 81c3101807e555dfada6eaa1e587678f6e15ea5a Jason Hoelscher-Obermaier 2017-03-01 16:23:20
Adapt extension of log.neg. to negative values in the multimode case 6a0c1da7950c8b42768dac230e4f4c16c716ec07 Jason Hoelscher-Obermaier 2017-03-01 13:47:44
Replace matlab_xunit by newer version and register as submodule 9632e49f347b134641aee897729b05ad6db2cef4 Jason Hoelscher-Obermaier 2017-03-01 08:51:41
Adapt entanglement_evaluation_test to potential change in relative sign of mode fcts 994e925215553d620a8cf6a6c1dcac3d3a0b46bb Jason Hoelscher-Obermaier 2017-02-28 17:06:30
Add test for checking result of mode function calculation 808efd738f0056c2f61a1fb93ca39163ef4a699d Jason Hoelscher-Obermaier 2017-02-28 16:33:16
Insures accurate ON and improve speed f285f3fb89a63b3f01c4a9e54cc97218bf9407eb Jason Hoelscher-Obermaier 2017-02-24 16:51:21
Toggle matrix size mismatch e5dc8b2e1509750d4c2d32bd037d9eab5932da63 Jason Hoelscher-Obermaier 2017-02-24 16:44:00
ON-isation algorithm, much (~100 times) slower than m_gs but yields far (~1e14 times) better orthogonality precision. 8794b11475ada039c000bdc314e7c4ddd4f32b64 Jason Hoelscher-Obermaier 2017-02-21 13:02:13
When m_GS fails to pass ON-ity test, the ON-isation is done with Householder method (which is slower, but not dramatically slower). ON_ity is tested again after Householder. cf29269fae6d698ddb7e4cc8e831db3933325c2d Jason Hoelscher-Obermaier 2017-02-21 11:00:35
Add test for pulse_pairs_coverage to entanglement_evaluation_test.m e3e72443e0acce38cf9de712f32dd57dde7f069a Jason Hoelscher-Obermaier 2017-02-18 17:52:05
Refactor: Improve folder structure of repository ba05dd281e1351d6524058fc395912ea2da25e3a Jason Hoelscher-Obermaier 2017-02-18 15:33:57
Move importCrossCorrelationFunctions to @entanglement_evaluation_obsolete a7eeed4248479b1a6ef4c5f7895cc723f0cd0c0b Jason Hoelscher-Obermaier 2017-02-18 15:32:41
Refactor: Remove obsolete functions export_fields_from_ev and storeEvaluationObject 2f32101be0943a5dc2aeb1c898d243ab7cbf0c74 Jason Hoelscher-Obermaier 2017-02-18 15:30:51
Refactor: Move correlation-fct-based stuff from entanglement_evaluation to entanglement_evaluation_obsolete 731a121618cf46705a49ef5b48c6de64df559312 Jason Hoelscher-Obermaier 2017-02-18 10:30:43
Turn pulse_Q, pulse_P etc into dependent properties 87b52c9451c88a4779ea065b53a11748f6ffa0c6 Jason Hoelscher-Obermaier 2017-02-17 18:59:13
Add test to check for compatibility of future versions with inverted evaluation as of now 22daa5f0c4f2f0a1950442517adf89e380548bfe Jason Hoelscher-Obermaier 2017-02-17 09:46:34
Aesthetic 66a8585916657f0bcf2e106b2235730a59138f5c Jason Hoelscher-Obermaier 2017-02-17 13:57:49
Improve calculation of modefunctions (such that orthonormalization is more likely to succeed) 754e283187e9e9a6385b0f9a8a26f5fd2807ccd0 Jason Hoelscher-Obermaier 2017-02-16 12:10:30
Adapt calculate_mode_vectors_gammalist and calculateModeVectors to properly check for orthonormality 21518c79132770339704341beb22d4c0c34fe15d Jason Hoelscher-Obermaier 2017-02-16 12:07:50
Reformulate orthonormality_test to give more information about the reason of failure 3dc41307e864ba1de33b0e8a36ccb0a94a488e24 Jason Hoelscher-Obermaier 2017-02-16 12:05:39
Commit 81c3101807e555dfada6eaa1e587678f6e15ea5a - Remove dual-rail-homo-correction for shotnoise data
Background:
- For signal data, the calculation of the log.negativity (inside calibratePulsedCMs)
implements the correction for dual-rail-homodying, i.e. it calculates the value expected
if instead of dual-rail-homodyning a regular (single) homodyning with variable homodyne angle
(followed by some kind of tomography yielding a CM) would have been performed.

- For shotnoise data, the correction for the dual-rail-homodyning is in theory unnecessary,
since what we measure is shotnoise with or without dual-rail-homodyning.

Therefore, it feels more natural to just use the measured shotnoise matrix as it is,
instead of some corrected version, for calculating the "entanglement" of the shotnoise.
Author: Jason Hoelscher-Obermaier
Author date (UTC): 2017-03-01 16:23
Committer name: Jason Hoelscher-Obermaier
Committer date (UTC): 2017-03-01 16:23
Parent(s): 6a0c1da7950c8b42768dac230e4f4c16c716ec07
Signer:
Signing key:
Signing status: N
Tree: 871765bdfa9bc71aab6cb8e9c62050eb65c78ba7
File Lines added Lines deleted
data_analysis/@entanglement_evaluation/calibratePulsedCMs.m 11 5
data_analysis/unittests/entanglement_evaluation_test.m 11 0
File data_analysis/@entanglement_evaluation/calibratePulsedCMs.m changed (mode: 100644) (index 3c428e7..adc2c89)
... ... function obj = calibratePulsedCMs(obj, varargin)
8 8 end end
9 9 calibrate_to_shotnoise(obj, pulse_CM_corrected, shotnoise_ind); calibrate_to_shotnoise(obj, pulse_CM_corrected, shotnoise_ind);
10 10
11 calculate_log_neg(obj);
11 calculate_log_neg(obj, shotnoise_ind);
12 12 calculate_physicality(obj); calculate_physicality(obj);
13 13
14 14 function shotnoise_ind = get_shotnoise_ind(obj, varargin) function shotnoise_ind = get_shotnoise_ind(obj, varargin)
 
... ... function calibrate_to_shotnoise(obj, pulse_CM_corrected, shotnoise_ind)
56 56 end end
57 57 end end
58 58
59 function calculate_log_neg(obj)
59 function calculate_log_neg(obj, shotnoise_ind)
60 60 for p=1:obj.tracepairs_no for p=1:obj.tracepairs_no
61 61 for g=1:obj.pulse_gammas_no for g=1:obj.pulse_gammas_no
62 %dual-homo correction for log.negativity
63 obj.logneg_corrected{p}{g} = logneg(...
64 2*obj.pulse_CM_calibrated{p}{g}-obj.shotnoise_theory);
62 if p==shotnoise_ind
63 % no dual-homo correction needed for shotnoise
64 obj.logneg_corrected{p}{g} = logneg(...
65 obj.pulse_CM_calibrated{p}{g});
66 else
67 % dual-homo correction for log.negativity
68 obj.logneg_corrected{p}{g} = logneg(...
69 2*obj.pulse_CM_calibrated{p}{g}-obj.shotnoise_theory);
70 end
65 71 end end
66 72 end end
67 73
File data_analysis/unittests/entanglement_evaluation_test.m changed (mode: 100644) (index ff48bdd..fd87fbd)
... ... function run_test(shared)
224 224 ev.calculatePulsedCMs(2); ev.calculatePulsedCMs(2);
225 225 ev.calibratePulsedCMs; ev.calibratePulsedCMs;
226 226
227 % check shotnoise entanglement values
228 assertElementsAlmostEqual([ev.logneg_corrected{1}{:}],...
229 [109.0853, 111.0687, 112.5557, 113.4168, 114.8301, 112.9490, 113.0331, 112.9725, 113.3471, 113.5596],...
230 'absolute', 1e-3, 'Log. neg. values for shotnoise not as expected!');
231 % before excluding shotnoise log.neg. from the dual-rail-homo-correction the values were
232 % [0.4272, 0.4583, 0.1683, 0.0973, 0.0795, 0.0771, 0.0770, 0.0770, 0.0770, 0.0770]
233 % cmnew = ev.pulse_CM_calibrated{1}{1}
234 % logneg(cmnew)
235 % cmold = 2*ev.pulse_CM_calibrated{1}{1}-eye(8)/2
236 % logneg(cmold)
237
227 238 % check save and reload of ev: transient properties should not be stored % check save and reload of ev: transient properties should not be stored
228 239 tmpfile = [tempname,'.mat']; tmpfile = [tempname,'.mat'];
229 240 save(tmpfile, 'ev'); save(tmpfile, 'ev');
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/gutc61/Membrane

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/gutc61/Membrane

Clone this repository using git:
git clone git://git.rocketgit.com/user/gutc61/Membrane

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main