List of commits:
Subject Hash Author Date (UTC)
Move williamson_diagonalization and williamson_form and add simple tests c237ef65f3eae46800cd06664de163df9eadf989 Jason Hoelscher-Obermaier 2016-06-15 14:41:59
Move combineCMs and traceOutCM and add simple test d4170659c28da6a0fe0e7723e20b5574d40d105f Jason Hoelscher-Obermaier 2016-06-15 14:31:02
Move ui/gui fcts to subfolders of misc/ 95f71a63ac5e8e1bf88d3f1db7f40759c3d2dd87 Jason Hoelscher-Obermaier 2016-06-15 14:02:34
Move matrix fcts is_orthogonal and is_symplectic and add simple tests b2e67152da7c9e2222e6f2b47679d4e6f111977a Jason Hoelscher-Obermaier 2016-06-15 14:00:33
Move fidelity.m and purity.m and add tests 1d27232478130ca3ab04b87620f26d7ffe3ef030 Jason Hoelscher-Obermaier 2016-06-15 13:42:58
Move smss.m and tmss.m 5bd484893e8e535b13ca20fc62b622433657cd77 Jason Hoelscher-Obermaier 2016-06-15 12:40:25
Simplify checkCMdimensions.m 4e45bd575f356bca400b03fb3c40dbe34125ea5d Jason Hoelscher-Obermaier 2016-06-15 12:33:55
Store software_version together with entanglement_evaluation object and export it d84aee1d422dcc64881a538c02cbaebb0513db51 Jason Hoelscher-Obermaier 2016-06-13 12:29:41
Add explicit comparison to eval. results as of commit 5d8d07 to ent.._eval.._test 7764d769c1b11f0363aeb061c0f6fa3326c5c362 Jason Hoelscher-Obermaier 2016-06-13 12:08:43
Change 'blocksize' argument in blocked_cross_correlation to key-value type syntax 5d8d0735783578340181b70eff55d071ba4d25d7 Jason Hoelscher-Obermaier 2016-06-13 09:36:01
Add quick version of entanglement evalution 63b2dc15c5fc7a7c5c9f870d783ab8f4d1c95396 Jason Hoelscher-Obermaier 2016-06-13 09:35:01
Fix wrong calculation of pulse modes (wrong pulse width; gamma -> 2 pi gamma) f2e86613d70f9f14b6f9b0fa28087c4acae94230 Jason Hoelscher-Obermaier 2016-06-13 09:33:34
Add fcts for obtaining commit hash for given git repo / all git repos on MATLAB path efef21a37871118248627a2889e1c3e3ddfaf0cd Jason Hoelscher-Obermaier 2016-06-10 14:10:53
Export pulse quadratures at end of run_entanglement_evaluation_simulation.m 1cc8f88b244ea1041aa7503b8d8141f8d85c9959 Jason Hoelscher-Obermaier 2016-06-07 13:51:00
Restore correct calculation of mode functions 70ae3d6ae7d2513d506cd400f72048e7c64e0def Jason Hoelscher-Obermaier 2016-06-07 13:37:44
Fix export of pulse quadratures f2d5f225c3f1c2c9a1313a1f63b4e5ef8c6e0ce3 Jason Hoelscher-Obermaier 2016-06-07 12:51:49
Auxfct for permuting data in several files ab144ff91342465644168d5e19691805bb1de3b7 Jason Hoelscher-Obermaier 2016-06-06 09:03:13
Correct permutation, add option for inverse permutation 6c615f43b7d08f0c29268a7b9216478b70dc0bb7 Jason Hoelscher-Obermaier 2016-06-06 08:54:21
Remove superfluous folder 3f32158ae47b1dabb7d207917ba9f28abfe346d3 Jason Hoelscher-Obermaier 2016-06-03 15:31:33
Add function to permute data from from q1...qn p1..pn.. to q1 p1... q1 p2 ... order 6d79e850ea8240822cae695b4daafd6a5594f578 Jason Hoelscher-Obermaier 2016-06-03 15:28:58
Commit c237ef65f3eae46800cd06664de163df9eadf989 - Move williamson_diagonalization and williamson_form and add simple tests
Author: Jason Hoelscher-Obermaier
Author date (UTC): 2016-06-15 14:41
Committer name: Jason Hoelscher-Obermaier
Committer date (UTC): 2016-06-15 14:41
Parent(s): d4170659c28da6a0fe0e7723e20b5574d40d105f
Signer:
Signing key:
Signing status: N
Tree: 9d164b4ca6196a0a0fc4b3b50ca01f1f6b9f648a
File Lines added Lines deleted
misc/covmats/williamson_diagonalization.m 1 3
misc/covmats/williamson_form.m 2 4
misc/covmats/williamson_test.m 46 0
File misc/covmats/williamson_diagonalization.m renamed from misc/williamson_diagonalization.m (similarity 98%) (mode: 100644) (index 8d12951..8fb085b)
... ... assert(mod(n,2)==0, 'Size of CM must be 2Nx2N for N>=1');
21 21 mode_no = n/2; mode_no = n/2;
22 22 symp_form = symplectic_form(mode_no); symp_form = symplectic_form(mode_no);
23 23
24 % (1) Find the symplectic spectrum
24 % (1) Find the symplectic spectrum
25 25 sym_spectrum = symp_evals(cm); % in ascending order sym_spectrum = symp_evals(cm); % in ascending order
26 26
27 27 % (2) Compute the matrices W^1/2 and V^−1/2 % (2) Compute the matrices W^1/2 and V^−1/2
 
... ... if ~symplectic && false
87 87 disp(R*X*R') disp(R*X*R')
88 88 end end
89 89 end end
90
91 end
File misc/covmats/williamson_form.m renamed from misc/williamson_form.m (similarity 72%) (mode: 100644) (index 214be57..85c090a)
1 1 function w_form = williamson_form( cm) function w_form = williamson_form( cm)
2 % williamson_form( cm) returns the Williamson normal form
2 % williamson_form( cm) returns the Williamson normal form
3 3 % of the covariance matrix cm, ie the matrix diag(ĸ1,ĸ1,ĸ2,ĸ2,..) % of the covariance matrix cm, ie the matrix diag(ĸ1,ĸ1,ĸ2,ĸ2,..)
4 4 % (with {ĸi} the symplectic eigenvalues of cm). % (with {ĸi} the symplectic eigenvalues of cm).
5 5 % %
6 6 % Note that the ĸi are sorted in ascending order. % Note that the ĸi are sorted in ascending order.
7 % This order has, in general, nothing to do with the order
7 % This order has, in general, nothing to do with the order
8 8 % of quadratures in the original covariance matrix cm. % of quadratures in the original covariance matrix cm.
9 9
10 10 s_evals = symp_evals(cm); s_evals = symp_evals(cm);
11 11
12 12 w_form = diag(sort(s_evals)); w_form = diag(sort(s_evals));
13
14 end
File misc/covmats/williamson_test.m added (mode: 100644) (index 0000000..52fa376)
1 function test_suite = williamson_test %#ok<STOUT>
2 initTestSuite;
3
4 function smss_test
5 cm = smss(2);
6 vac = eye(2)/2;
7
8 w_form = williamson_form(cm);
9 assertAlmostEqual(w_form, vac, 1e-8);
10
11 diagonalizing_mat = williamson_diagonalization(cm);
12 w_form_2 = diagonalizing_mat*cm*diagonalizing_mat';
13 assertAlmostEqual(w_form_2, vac, 1e-8);
14
15 function noisy_smss_test
16 cm = smss(2)+eye(2);
17
18 w_form = williamson_form(cm);
19 diagonalizing_mat = williamson_diagonalization(cm);
20 w_form_2 = diagonalizing_mat*cm*diagonalizing_mat';
21 assertAlmostEqual(w_form, w_form_2, 1e-8);
22
23 function tmss_test
24 cm = tmss(2);
25 vac = eye(4)/2;
26
27 w_form = williamson_form(cm);
28 assertAlmostEqual(w_form, vac, 1e-8);
29
30 diagonalizing_mat = williamson_diagonalization(cm);
31 w_form_2 = diagonalizing_mat*cm*diagonalizing_mat';
32 assertAlmostEqual(w_form_2, vac, 1e-8);
33
34 function noisy_tmss_test
35 cm = tmss(2)+eye(4);
36
37 w_form = williamson_form(cm);
38 diagonalizing_mat = williamson_diagonalization(cm);
39 w_form_2 = diagonalizing_mat*cm*diagonalizing_mat';
40 assertAlmostEqual(w_form, w_form_2, 1e-8);
41
42 function diagonality_test
43 cm = tmss(2)+eye(4);
44
45 w_form = williamson_form(cm);
46 assertAlmostEqual(triu(w_form,1), zeros(4), 1e-8);
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