List of commits:
Subject Hash Author Date (UTC)
Improve legend in plotLogneg to also include entries for interpolated data and optima 805cb3e67bad3be9bddafada3258f5a8a7e60707 Jason Hoelscher-Obermaier 2017-03-27 11:14:06
Add function tex_escape which escapes characters forbidden in tex 136b200a3a98f06f36b4ae3a18a97c66ce1b8c88 Jason Hoelscher-Obermaier 2017-03-27 10:03:53
Store interpolated pulse widths and entanglement (used in calulate_optimal_entanglement) for later inspection. c76c9b0d1be1bd00425949fb12cd59f2c743ff5f Jason Hoelscher-Obermaier 2017-03-27 10:35:10
Add options to show grid and zero-line to plotLogneg.m 0e7dff29041930f205c30113c72595f60545182d Jason Hoelscher-Obermaier 2017-03-27 08:43:56
Bug fix: Remove line yielding unneeded output d11c6eae8bf5f2ad38c858a4b9618acd3af4bd8b Jason Hoelscher-Obermaier 2017-03-24 19:45:04
Add method calulate_optimal_entanglement.m to entanglement_evaluation-class 894eef46922695d0f451773d4d8c9df64d2922e0 Jason Hoelscher-Obermaier 2017-03-24 19:35:40
Add test: Ensure orthonormality is checked for mode functions (instead of columns of mode fct matrices) aa1dd49269c45e2e070f4ab5cdef23a59246ae65 Jason Hoelscher-Obermaier 2017-03-22 10:33:40
Bug fix in calculate_mode_vectors_gammalist.m aa18a37ba8fd5108c5fa47f48bffcf021a4534bd Jason Hoelscher-Obermaier 2017-03-22 09:50:15
Copy mechadd.mat (file with info reg. higher mechanical modes) to simulation output folder 595b486a19a22f66bedd754780cb38dac6d523e6 Jason Hoelscher-Obermaier 2017-03-17 15:53:03
Improve orthonormilsation b84ccfcaf4ec12a6136f954670d3147b406096eb corentin-gut 2017-03-17 14:59:20
Bug fix in method trace_out of entanglement_evaluation 84cd317f423b6b630298a2847b4f2fada16da8d1 Jason Hoelscher-Obermaier 2017-03-10 14:57:19
Check existence of target folder before attempting export in plot-methods 37fd86f5719898bd98c5c43114a54cec714f1bca Jason Hoelscher-Obermaier 2017-03-10 07:37:09
Add method trace_out to entanglement_evaluation 16ae2b0839d365791a3cb453156f28148eac3ff8 Jason Hoelscher-Obermaier 2017-03-08 18:38:07
Add options to plotLogneg.m 58b734d54c58bfb48573aadbd9c803b0eb7fd66a Jason Hoelscher-Obermaier 2017-03-06 12:29:49
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
Commit 805cb3e67bad3be9bddafada3258f5a8a7e60707 - Improve legend in plotLogneg to also include entries for interpolated data and optima
Author: Jason Hoelscher-Obermaier
Author date (UTC): 2017-03-27 11:14
Committer name: Jason Hoelscher-Obermaier
Committer date (UTC): 2017-03-27 11:14
Parent(s): 136b200a3a98f06f36b4ae3a18a97c66ce1b8c88
Signer:
Signing key:
Signing status: N
Tree: 779846a148cc33be21f5ed84654b9512393e409b
File Lines added Lines deleted
data_analysis/@entanglement_evaluation/plotLogneg.m 43 43
File data_analysis/@entanglement_evaluation/plotLogneg.m changed (mode: 100644) (index 0f29e39..fcaca8f)
... ... function fig = plotLogneg(obj, varargin)
55 55 set(gca, 'FontSize', 11); set(gca, 'FontSize', 11);
56 56
57 57 counter = 0; counter = 0;
58 for k=tracepairs
59 counter = counter + 1;
60 x_data = obj.pulse_gammas;
61 y_data = [obj.logneg_corrected{k}{:}];
62 try
63 label = [num2str(obj.measurement.homotraces(k,1).signal_power_muW), ' \muW'];
64 catch
65 label = '';
66 end
67 if isempty(linecolors) % default colors
68 if show_lines
69 plot(x_data, y_data, ...
70 'LineWidth', linewidth, 'DisplayName', label)
58 default_colors = cbrewer('qual', 'Dark2', max(3,numel(tracepairs)));
59 if show_lines
60 for k=tracepairs
61 counter = counter + 1;
62 x_data = obj.pulse_gammas;
63 y_data = [obj.logneg_corrected{k}{:}];
64 try
65 label = [num2str(obj.measurement.homotraces(k,1).signal_power_muW), ' \muW'];
66 catch
67 label = '';
71 68 end end
72 else
73 if show_lines
74 plot(x_data, y_data, ...
75 'LineWidth', linewidth, 'DisplayName', label,...
76 'Color', linecolors(counter,:))
69 if isempty(linecolors) % default colors
70 col = default_colors(counter,:);
71 else
72 col = linecolors(counter,:);
77 73 end end
74
75 plot(x_data, y_data, '.-',...
76 'LineWidth', linewidth, 'DisplayName', label,...
77 'Color', col)
78 78 end end
79 79 end end
80 80 set(gca, 'xscale', 'log'); set(gca, 'xscale', 'log');
81 if show_legend, leg = legend('Location', 'Best'); end
81 leg = legend('Location', 'Best');
82 82 xlabel('Pulse width $$\Gamma \, [\mathrm{Hz}]$$','Interpreter','latex'); xlabel('Pulse width $$\Gamma \, [\mathrm{Hz}]$$','Interpreter','latex');
83 83 ylabel('Logarithmic negativity $$E_\mathcal{N}$$','Interpreter','latex'); ylabel('Logarithmic negativity $$E_\mathcal{N}$$','Interpreter','latex');
84 84 title(tex_escape(titlestr)); title(tex_escape(titlestr));
 
... ... function fig = plotLogneg(obj, varargin)
90 90 physicality = [obj.pulse_CM_is_physical{k}{:}]; physicality = [obj.pulse_CM_is_physical{k}{:}];
91 91 lognegs = [obj.logneg_corrected{k}{:}]; lognegs = [obj.logneg_corrected{k}{:}];
92 92 lognegs(~physicality)=nan; lognegs(~physicality)=nan;
93 plot(obj.pulse_gammas, lognegs,'ok');
94 end
95 if show_legend
96 leg_str = get(leg, 'string');
97 leg_element_no = length(leg_str);
98 leg_str{leg_element_no+1} = 'Physical'; % covariance matrices';
99 leg = legend(leg_str, 'Location', 'Best');
93 phys_plot = plot(obj.pulse_gammas, lognegs,'ok');
100 94 end end
95 leg = add_to_legend(leg, phys_plot, 'Physical');
101 96 end end
102 97
103 98 % add info regarding maximum (over evaluated data) % add info regarding maximum (over evaluated data)
 
... ... function fig = plotLogneg(obj, varargin)
109 104 y_data = [obj.logneg_corrected{k}{:}]; y_data = [obj.logneg_corrected{k}{:}];
110 105 [y_max, max_ind] = max(y_data); [y_max, max_ind] = max(y_data);
111 106 x_max = x_data(max_ind); x_max = x_data(max_ind);
112 if isempty(linecolors) % default colors
113 col = 'k'
114 else
115 col = linecolors(counter,:);
116 end
117 plot(x_max, y_max, 's', 'Color', col, 'MarkerFaceColor', col,...
118 'DisplayName', 'Maximum over evaluated data');
107 col = 'k';
108 max_plot = plot(x_max, y_max, 's', 'Color', col, 'MarkerFaceColor', col);
119 109 end end
110 leg = add_to_legend(leg, max_plot, 'Maximum over evaluated data');
120 111 end end
121 112
122 113 % add info regarding maximum (over interpolated evaluation results) % add info regarding maximum (over interpolated evaluation results)
 
... ... function fig = plotLogneg(obj, varargin)
126 117 counter = counter + 1; counter = counter + 1;
127 118 y_max = obj.opt_logneg_corrected(k); y_max = obj.opt_logneg_corrected(k);
128 119 x_max = obj.opt_pulse_gammas(k); x_max = obj.opt_pulse_gammas(k);
129 if isempty(linecolors) % default colors
130 col = 'k';
131 else
132 col = linecolors(counter,:);
133 end
134 plot(obj.pulse_gammas_interpolated{k}, obj.logneg_corrected_interpolated{k},...
135 '-.', 'Color', col, 'MarkerFaceColor', col,...
136 'DisplayName', 'Interpolated evaluation results');
137 plot(x_max, y_max, 'd', 'Color', col, 'MarkerFaceColor', col,...
138 'DisplayName', 'Optimum over interpolated evaluation results');
120 col = 'k';
121 interp_plot = plot(...
122 obj.pulse_gammas_interpolated{k}, obj.logneg_corrected_interpolated{k},...
123 '-.', 'Color', col, 'MarkerFaceColor', col);
124 opt_plot = plot(x_max, y_max, 'd', 'Color', col, 'MarkerFaceColor', col);
139 125 end end
126 leg = add_to_legend(leg, interp_plot, 'Interpolated evaluation results');
127 leg = add_to_legend(leg, opt_plot, 'Optimum over interpolation');
140 128 end end
141 129
142 130 % add line at zero % add line at zero
 
... ... function fig = plotLogneg(obj, varargin)
152 140 grid on grid on
153 141 end end
154 142
143 % hide legend if not wanted
144 if ~show_legend
145 legend off
146 end
147
155 148 % export plots % export plots
156 149 eval_folder_exists = isequal(exist(obj.evaluation_folder),7); eval_folder_exists = isequal(exist(obj.evaluation_folder),7);
157 150 if save_fig if save_fig
 
... ... function fig = plotLogneg(obj, varargin)
167 160 obj.evaluation_folder]) obj.evaluation_folder])
168 161 end end
169 162 end end
163
164 function leg = add_to_legend(leg, plot_handle, leg_str)
165 [~,~,plot_handles,leg_strs] = legend(leg);
166 plot_handles = [plot_handles; plot_handle];
167 leg_strs = {leg_strs{:}, leg_str};
168 leg = legend(plot_handles, leg_strs{:},...
169 'Location', 'Best');
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