List of commits:
Subject Hash Author Date (UTC)
Add method trace_out_repeated which takes an evaluation... b83118fb5bbfc9ad9daa1fb4933cc166dfb6cdd9 Jason Hoelscher-Obermaier 2017-05-30 15:10:18
Fix minor bug in meta_ev-method get_meta_data.m 5da0e397bf14706e5f206f2492ae2f48000350f1 Jason Hoelscher-Obermaier 2017-05-30 15:07:58
Add deviation_from_normality 847524ba174c1a7c86ad7dd80160896d84621778 Jason Hoelscher-Obermaier 2017-05-30 14:49:39
Add option to method for_each_evaluation_get in meta_ev.m 3aa2fd8ab0567a782073a0eba67f3bd5a2e2ba57 Jason Hoelscher-Obermaier 2017-05-30 14:46:02
Only attempt to export pulse_trace (to file pulsed_traces.mat) if not empty 69c13a5ae1b4265cc760addb9089d180d4a0f895 Jason Hoelscher-Obermaier 2017-05-30 14:44:49
Add more varargin-options to plotLogneg.m and plot_logneg_versus_gamma.m bd4d77856eaaf5afdf38e2fb22b177a18249d83c Jason Hoelscher-Obermaier 2017-05-30 14:27:35
Add options for colorbar position and data label background color to plot_matrix 261a772c66212e9b82d9125cfb059565dae41fba Jason Hoelscher-Obermaier 2017-05-22 17:35:34
Add fct set_legend_title be01bc463524c4943a3268b349f6a524a62c64f3 Jason Hoelscher-Obermaier 2017-05-16 13:34:19
Allow to set interpreter and fontsize in labels.m 24f21770d074737ed0b9d7e879cff39ee3f9fd63 Jason Hoelscher-Obermaier 2017-05-16 13:32:24
Attempt to open generated pdf in save_fig_pdf bcf7b91a892bc3cd6f1da5202cfff0825d3ba406 Jason Hoelscher-Obermaier 2017-05-16 13:30:56
Add hackish workaround for problems with wrong fontsize when exporting figures e977df7ea63dfb64d14244db41dcbdf34832fbe9 Jason Hoelscher-Obermaier 2017-05-13 12:18:19
Add option 'show_physicality' to plot_logneg_versus_gamma.m (class meta_ev) 33dba0173e7d446c08ab89b7f0d5bd7c00f6755d Jason Hoelscher-Obermaier 2017-05-13 12:02:12
Set default font size for legends and labels to 11 4f9be2e429605dd90ab6b1eabb88fea12c7e9ddb Jason Hoelscher-Obermaier 2017-05-13 12:01:05
Remove figure.m to avoid MATLAB warnings 3c8e854f1e48d28df090753f615e5e1028259531 Jason Hoelscher-Obermaier 2017-05-13 11:57:42
Copy generated png to clipboard autom.ly in save_fig_pdf 70897f3af36723888e59ae3421545d96d67db302 Jason Hoelscher-Obermaier 2017-05-10 10:18:00
Add option to hide legend entries for 'Physicality' to plotLogneg db263de99d27a86255cd724b06208c1cae93bd76 Jason Hoelscher-Obermaier 2017-05-10 10:17:12
Fix bug: surround arguments to 'system' by double quotes dffc09c758a8f55fb8dc2a4ddf68c8593be46a3d Jason Hoelscher-Obermaier 2017-05-09 10:24:55
Add property max_physical_logneg to entanglement_evaluation 865055eadb8c4b035321b2359b69dad4f48e33ec Jason Hoelscher-Obermaier 2017-05-08 09:37:40
Add option 'only_physical' to plotLogneg and plot_logneg_versus_gama a5510a09ab9ecb8239aef3853867884aefb28e3b Jason Hoelscher-Obermaier 2017-05-07 09:47:52
Add option 'two_sidebands' to trace_out 3f70b4498e116bf89ea2230e4a6b081d8d240bc3 Jason Hoelscher-Obermaier 2017-05-07 08:14:45
Commit b83118fb5bbfc9ad9daa1fb4933cc166dfb6cdd9 - Add method trace_out_repeated which takes an evaluation...
... and performs repeated trace-out operations
- it returns a meta_ev-object in which the results of the
different traceout-operations are collected for later convenience
- the meta_ev-object also stores some information about the nature
of the trace-out-operation (in properties params and param_names)
Author: Jason Hoelscher-Obermaier
Author date (UTC): 2017-05-30 15:10
Committer name: Jason Hoelscher-Obermaier
Committer date (UTC): 2017-05-30 15:10
Parent(s): 5da0e397bf14706e5f206f2492ae2f48000350f1
Signing key:
Tree: 2165382e0f716f7950980abf0bcde55bb61f2803
File Lines added Lines deleted
data_analysis/@entanglement_evaluation/trace_out_repeated.m 78 0
File data_analysis/@entanglement_evaluation/trace_out_repeated.m added (mode: 100644) (index 0000000..8608c27)
1 function [meta_traced] = trace_out_repeated(ev, modus, varargin)
2 remaining_args = {}; % feed all unused varargin-arguments to trace_out
3 rem_args_count = 1;
4 two_sidebands = false;
5 max_ev_number = inf;
6 for k=1:2:length(varargin)
7 switch lower(varargin{k})
8 case {'two_sidebands'}
9 two_sidebands = varargin{k+1};
10 case {'max_ev_number'}
11 max_ev_number = varargin{k+1};
12 otherwise
13 remaining_args{rem_args_count} = varargin{k};
14 remaining_args{rem_args_count+1} = varargin{k+1};
15 rem_args_count = rem_args_count + 2;
16 end
17 end
18
19 assert(two_sidebands, 'only implemented for two-sideband-evaluations so far..')
20 switch lower(modus)
21 case 'upto'
22 if two_sidebands
23 positive_freqs = sort(unique(abs(ev.mech_frequencies)));
24 pos_freq_inds = arrayfun(...
25 @(k)find(ev.mech_frequencies==positive_freqs(k)),...
26 1:length(positive_freqs));
27
28 modes_to_trace = arrayfun(...
29 @(k)(pos_freq_inds(end-k:end)),...
30 [length(pos_freq_inds)-2:-1:0],...
31 'UniformOutput', false);
32 meta_params = [1:length(modes_to_trace)];
33 meta_description = 'Number of included modes';
34 end
35 case {'single'}
36 if two_sidebands
37 positive_freqs = sort(unique(abs(ev.mech_frequencies)));
38 pos_freq_inds = arrayfun(...
39 @(k)find(ev.mech_frequencies==positive_freqs(k)),...
40 1:length(positive_freqs));
41 modes_to_trace = num2cell(pos_freq_inds);
42 meta_params = 1:length(modes_to_trace);
43 meta_description = 'Traced out mode';
44 end
45 %% unfinished work below:
46 % case {'blocks'}
47 % if two_sidebands
48 % positive_freqs = sort(unique(abs(ev.mech_frequencies)))
49 % pos_freq_inds = arrayfun(...
50 % @(k)find(ev.mech_frequencies==positive_freqs(k)),...
51 % 1:length(positive_freqs))
52
53 % positive_freq_diffs = diff(positive_freqs);
54 % [sor, ord] = sort(positive_freq_diffs, 'descend');
55 % pos_freq_inds(ord)
56
57 % xxx
58 % modes_to_trace = num2cell(pos_freq_inds);
59 % meta_params = 1:length(modes_to_trace);
60 % meta_description = 'First mode of block';
61 % end
62 otherwise
63 error(['Unrecognized modus: ', modus])
64 end
65
66 traced_evs = {};
67 ev_number = min(length(modes_to_trace), max_ev_number);
68 for k=1:ev_number
69 k
70 if two_sidebands
71 traced_evs{k} = ev.trace_out(modes_to_trace{k}, 'two_sidebands', true, remaining_args{:});
72 end
73 end
74
75 meta_traced = meta_ev();
76 meta_traced.evaluations = traced_evs;
77 meta_traced.param_names = {meta_description};
78 meta_traced.params{1} = meta_params(1:ev_number);
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