|
80 | 80 | % The optimizer module is designed to tweak parameters to increase your |
81 | 81 | % keyrate. It's not used in this protocol, though use cases can include |
82 | 82 | % tweaking the intensity of coherent pulses used by Alice. |
83 | | -optimizerMod = QKDOptimizerModule(@coordinateDescentFunc,struct("verboseLevel",0),struct("verboseLevel",0)); |
| 83 | +optimizerMod = QKDOptimizerModule(@coordinateDescentFunc,struct("verboseLevel",0),... |
| 84 | + struct("verboseLevel",0)); |
84 | 85 | qkdInput.setOptimizerModule(optimizerMod); |
85 | 86 |
|
86 | 87 |
|
|
91 | 92 | % the key and Eve's information. |
92 | 93 | mathSolverOptions = struct(); |
93 | 94 | mathSolverOptions.initMethod = 1; %closest to maximally mixed. |
94 | | -mathSolverOptions.maxIter = 10; %number of iterations that should be performed |
95 | | -mathSolverOptions.maxGap = 1e-6; |
| 95 | +mathSolverOptions.frankWolfeMethod = @FrankWolfe.vanilla; |
| 96 | +mathSolverOptions.frankWolfeOptions = struct("maxIter",10,"maxGap",1e-6); |
96 | 97 | mathSolverOptions.linearConstraintTolerance = 1e-10; |
97 | 98 | mathSolverMod = QKDMathSolverModule(@FW2StepSolver,mathSolverOptions); |
98 | 99 | qkdInput.setMathSolverModule(mathSolverMod); |
|
108 | 109 | % * verboseLevel (default 1): Non-negative integer telling the program how |
109 | 110 | % much information it should display in the command window. 0, minimum; 1 |
110 | 111 | % basic information; 2, full details, including CVX output. |
111 | | -% * errorHandling (2): ErrorHandling object (unit8 or convertible), |
| 112 | +% * errorHandling (2): ErrorHandling object (uint8 or convertible), |
112 | 113 | % detailing how the program should handle run time errors. CatchSilent 1: |
113 | 114 | % catch but don't warn the user and the error message is appended to the |
114 | 115 | % debug info. CatchWarn 2: catch and warn the user. The key rate for the |
|
0 commit comments