diff --git a/doc/pub/svm/html/._svm-bs000.html b/doc/pub/svm/html/._svm-bs000.html
index 9fe71862a..85f83e77f 100644
--- a/doc/pub/svm/html/._svm-bs000.html
+++ b/doc/pub/svm/html/._svm-bs000.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -158,7 +163,7 @@ MathJax.Hub.Config({
[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
-
Nov 5, 2018
+Nov 6, 2018
@@ -182,7 +187,7 @@ MathJax.Hub.Config({
9
10
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs001.html b/doc/pub/svm/html/._svm-bs001.html
index 6c0d0f6bf..37297f5b7 100644
--- a/doc/pub/svm/html/._svm-bs001.html
+++ b/doc/pub/svm/html/._svm-bs001.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -181,7 +186,7 @@ We distinguish also between linear and non-linear approaches. The latter are the
10
11
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs002.html b/doc/pub/svm/html/._svm-bs002.html
index c17a6cd20..5db305100 100644
--- a/doc/pub/svm/html/._svm-bs002.html
+++ b/doc/pub/svm/html/._svm-bs002.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -172,7 +177,7 @@ circles.
11
12
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs003.html b/doc/pub/svm/html/._svm-bs003.html
index f159bd84e..109fd8cb1 100644
--- a/doc/pub/svm/html/._svm-bs003.html
+++ b/doc/pub/svm/html/._svm-bs003.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -182,7 +187,7 @@ $$
12
13
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs004.html b/doc/pub/svm/html/._svm-bs004.html
index 79f6ee766..bd6abfe12 100644
--- a/doc/pub/svm/html/._svm-bs004.html
+++ b/doc/pub/svm/html/._svm-bs004.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -198,7 +203,7 @@ When we try to separate hyperplanes, if it exists, we can use it to construct a
13
14
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs005.html b/doc/pub/svm/html/._svm-bs005.html
index fe033d199..8c3337f06 100644
--- a/doc/pub/svm/html/._svm-bs005.html
+++ b/doc/pub/svm/html/._svm-bs005.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -184,7 +189,7 @@ for our data sample.
14
15
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs006.html b/doc/pub/svm/html/._svm-bs006.html
index f67f9ac23..2f72c0129 100644
--- a/doc/pub/svm/html/._svm-bs006.html
+++ b/doc/pub/svm/html/._svm-bs006.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -180,7 +185,7 @@ $$
15
16
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs007.html b/doc/pub/svm/html/._svm-bs007.html
index 685685aef..10ed2ca41 100644
--- a/doc/pub/svm/html/._svm-bs007.html
+++ b/doc/pub/svm/html/._svm-bs007.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -184,7 +189,7 @@ $$
16
17
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs008.html b/doc/pub/svm/html/._svm-bs008.html
index cee105910..08dfd1a31 100644
--- a/doc/pub/svm/html/._svm-bs008.html
+++ b/doc/pub/svm/html/._svm-bs008.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -188,7 +193,7 @@ at all.
17
18
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs009.html b/doc/pub/svm/html/._svm-bs009.html
index 00e3f8aa0..13e415077 100644
--- a/doc/pub/svm/html/._svm-bs009.html
+++ b/doc/pub/svm/html/._svm-bs009.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -200,7 +205,7 @@ We have thus defined our margin as the invers of the norm of \( \boldsymbol{w} \
18
19
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs010.html b/doc/pub/svm/html/._svm-bs010.html
index 9a6b29c06..ff49403d1 100644
--- a/doc/pub/svm/html/._svm-bs010.html
+++ b/doc/pub/svm/html/._svm-bs010.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -212,7 +217,7 @@ Then \( dz \) is no longer arbitrary.
19
20
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs011.html b/doc/pub/svm/html/._svm-bs011.html
index 9941de0ab..9c274b1b3 100644
--- a/doc/pub/svm/html/._svm-bs011.html
+++ b/doc/pub/svm/html/._svm-bs011.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -205,7 +210,7 @@ $$
20
21
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs012.html b/doc/pub/svm/html/._svm-bs012.html
index 98c4ecd16..d5deef96a 100644
--- a/doc/pub/svm/html/._svm-bs012.html
+++ b/doc/pub/svm/html/._svm-bs012.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -203,7 +208,7 @@ When \( \lambda_i > 0 \), the vectors \( \boldsymbol{x}_i \) are called support
21
22
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs013.html b/doc/pub/svm/html/._svm-bs013.html
index 8ad3d9fc5..d67cdc39e 100644
--- a/doc/pub/svm/html/._svm-bs013.html
+++ b/doc/pub/svm/html/._svm-bs013.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -185,6 +190,8 @@ subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vec
21
22
23
+ ...
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs014.html b/doc/pub/svm/html/._svm-bs014.html
index f4042b91c..d132c80e9 100644
--- a/doc/pub/svm/html/._svm-bs014.html
+++ b/doc/pub/svm/html/._svm-bs014.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -194,6 +199,7 @@ Below we discuss how to find the optimal values of \( \lambda_i \). Before we pr
21
22
23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs015.html b/doc/pub/svm/html/._svm-bs015.html
index afa001e3c..b87cc8e72 100644
--- a/doc/pub/svm/html/._svm-bs015.html
+++ b/doc/pub/svm/html/._svm-bs015.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -194,6 +199,7 @@ misclassifications.
21
22
23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs016.html b/doc/pub/svm/html/._svm-bs016.html
index 8a915f0c2..ef073b5cf 100644
--- a/doc/pub/svm/html/._svm-bs016.html
+++ b/doc/pub/svm/html/._svm-bs016.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -212,6 +217,7 @@ $$
21
22
23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs017.html b/doc/pub/svm/html/._svm-bs017.html
index 5486edbe8..8df569d0b 100644
--- a/doc/pub/svm/html/._svm-bs017.html
+++ b/doc/pub/svm/html/._svm-bs017.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -180,6 +185,7 @@ we need to introduce for example a polynomial transformation to a two-dimensiona
21
22
23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs018.html b/doc/pub/svm/html/._svm-bs018.html
index 0a17b8423..dd6ac5476 100644
--- a/doc/pub/svm/html/._svm-bs018.html
+++ b/doc/pub/svm/html/._svm-bs018.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -180,6 +185,7 @@ from which we also find \( b \).
21
22
23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs019.html b/doc/pub/svm/html/._svm-bs019.html
index af36a2942..52686a402 100644
--- a/doc/pub/svm/html/._svm-bs019.html
+++ b/doc/pub/svm/html/._svm-bs019.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -160,6 +165,7 @@ MathJax.Hub.Config({
21
22
23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs020.html b/doc/pub/svm/html/._svm-bs020.html
index ddf6ab472..fee529438 100644
--- a/doc/pub/svm/html/._svm-bs020.html
+++ b/doc/pub/svm/html/._svm-bs020.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -159,6 +164,7 @@ MathJax.Hub.Config({
21
22
23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs021.html b/doc/pub/svm/html/._svm-bs021.html
index d5d695472..d855421d5 100644
--- a/doc/pub/svm/html/._svm-bs021.html
+++ b/doc/pub/svm/html/._svm-bs021.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -158,6 +163,7 @@ MathJax.Hub.Config({
21
22
23
+ 24
»
diff --git a/doc/pub/svm/html/._svm-bs022.html b/doc/pub/svm/html/._svm-bs022.html
index 0325d756e..2c44ea8be 100644
--- a/doc/pub/svm/html/._svm-bs022.html
+++ b/doc/pub/svm/html/._svm-bs022.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -139,60 +144,27 @@ MathJax.Hub.Config({
-How do we solve these problems
+Mathematical optimization of convex functions
-If we use Python as programming language and wish to venture beyond
-scikit-learn, tensorflow and similar software which makes our
-lives so much easier, we need to dive into the wonderful world of
-quadratic programming. We can, if we wish, solve the minimization
-problem using say standard gradient methods or conjugate gradient
-methods. However, these methods tend to exhibit a rather slow
-converge. So, welcome to the promised land of quadratic programming.
-
-
-The functions we need are contained in the quadratic programming package CVXOPT and we need to import it
-
-
-
-
import numpy
-import cvxopt
-
-
-Let us first set up the standard form the of quadratic programming (QP) equations by defining the problem as
+A mathematical optimization problem, or just optimization problem, has the form
$$
-\mathrm{min}
+\mathrm{minimize}\hspace{0.1cm} f(x),
$$
-
-subject to Gx u. Note that x itself is not provided to the solver, since it is an internal
-variable being optimized over. In particular, this means that the solver has no explicit knowledge
-of x itself; everything is implicity defined by the supplied parameters. It is essential
-that the same variable order is maintained for the relevant parameters (e.g., qi
-Non-convexity implies the existence of local optima, making it difficult to find global optima.
+subject to some constraints \( g(\lambda_i) \leq b_i \) for say a selected set \( i=1,2,\dots, n \).
+In our case we are optimizing with respect to the Lagrangian multipliers \( \lambda_i \), and the
+vector \( \boldsymbol{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n] \) is the optimization variable we are dealing with.
+and \( f(x) \) is our objective function while \( g(\lambda_i) \leq b_i \) represents our constraint function.
-collapsed all inequality constraints into a single G matrix of the standard form.
-Since there are no equality constraints, we do not need to provide the empty A, b. Note
-that even though y
-2 did not appear in the original objective, we had to include it with zero
-coefficients in P because the solver parameters must be defined using the full set of variables.
-Even if certain variables only appear in constraints, they will still need to be expressed with
-zero coefficients in the objective parameters, and vice versa.
-Let us first define the above parameters in Python. CVXOPT supplies its own matrix
-object; all arguments given to its solvers must be in this matrix type. There are two ways
-to do this. The first is to define the matrix directly with (potentially nested) lists:
-from cvxopt import matrix
-
+In our case we are particularly interested in a class of optimization problems called convex optmization problems.
+In our disussion on gradient descent methods we discussed at length the definition of a convex function.
-
-
P = matrix([[1.0,0.0],[0.0,0.0]])
-q = matrix([3.0,4.0])
-G = matrix([[-1.0,0.0,-1.0,2.0,3.0],[0.0,-1.0,-3.0,5.0,4.0]])
-h = matrix([0.0,0.0,-15.0,100.0,80.0])
-
+Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics.
+
diff --git a/doc/pub/svm/html/svm-bs.html b/doc/pub/svm/html/svm-bs.html
index 9fe71862a..85f83e77f 100644
--- a/doc/pub/svm/html/svm-bs.html
+++ b/doc/pub/svm/html/svm-bs.html
@@ -64,7 +64,11 @@ Automatically generated HTML file from DocOnce source
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -123,7 +127,8 @@ MathJax.Hub.Config({
Different kernels
Quadratic coefficient matrix
Mercer's theorem
- How do we solve these problems
+ Mathematical optimization of convex functions
+ How do we solve these problems
@@ -158,7 +163,7 @@ MathJax.Hub.Config({
[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
-
Nov 5, 2018
+Nov 6, 2018
@@ -182,7 +187,7 @@ MathJax.Hub.Config({
9
10
...
- 23
+ 24
»
diff --git a/doc/pub/svm/html/svm-reveal.html b/doc/pub/svm/html/svm-reveal.html
index dc4886414..77ba1ed41 100644
--- a/doc/pub/svm/html/svm-reveal.html
+++ b/doc/pub/svm/html/svm-reveal.html
@@ -148,7 +148,7 @@ MathJax.Hub.Config({
[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
-
Nov 5, 2018
+Nov 6, 2018
@@ -871,7 +871,32 @@ from which we also find \( b \).
-How do we solve these problems
+Mathematical optimization of convex functions
+
+
+A mathematical optimization problem, or just optimization problem, has the form
+
+$$
+\mathrm{minimize}\hspace{0.1cm} f(x),
+$$
+
+
+subject to some constraints \( g(\lambda_i) \leq b_i \) for say a selected set \( i=1,2,\dots, n \).
+In our case we are optimizing with respect to the Lagrangian multipliers \( \lambda_i \), and the
+vector \( \boldsymbol{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n] \) is the optimization variable we are dealing with.
+and \( f(x) \) is our objective function while \( g(\lambda_i) \leq b_i \) represents our constraint function.
+
+
+In our case we are particularly interested in a class of optimization problems called convex optmization problems.
+In our disussion on gradient descent methods we discussed at length the definition of a convex function.
+
+
+Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics.
+
+
+
+
+How do we solve these problems
If we use Python as programming language and wish to venture beyond
@@ -920,10 +945,25 @@ from cvxopt import matrix
-
P = matrix([[1.0,0.0],[0.0,0.0]])
+# Import the necessary packages
+import numpy
+from cvxopt import matrix
+from cvxopt import solvers
+# Define QP parameters (directly)
+P = matrix([[1.0,0.0],[0.0,0.0]])
q = matrix([3.0,4.0])
G = matrix([[-1.0,0.0,-1.0,2.0,3.0],[0.0,-1.0,-3.0,5.0,4.0]])
h = matrix([0.0,0.0,-15.0,100.0,80.0])
+# Define QP parameters (with NumPy)
+P = matrix(numpy.diag([1,0]), tc=’d’)
+q = matrix(numpy.array([3,4]), tc=’d’)
+G = matrix(numpy.array([[-1,0],[0,-1],[-1,-3],[2,5],[3,4]]), tc=’d’)
+h = matrix(numpy.array([0,0,-15,100,80]), tc=’d’)
+# Construct the QP, invoke solver
+sol = solvers.qp(P,q,G,h)
+# Extract optimal value and solution
+sol[’x’] # [7.13e-07, 5.00e+00]
+sol[’primal objective’]
diff --git a/doc/pub/svm/html/svm-solarized.html b/doc/pub/svm/html/svm-solarized.html
index 9f39b8eff..cf850a809 100644
--- a/doc/pub/svm/html/svm-solarized.html
+++ b/doc/pub/svm/html/svm-solarized.html
@@ -58,7 +58,11 @@ div { text-align: justify; text-justify: inter-word; }
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -100,7 +104,7 @@ MathJax.Hub.Config({
[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
-
Nov 5, 2018
+Nov 6, 2018
@@ -704,7 +708,30 @@ from which we also find \( b \).
-
How do we solve these problems
+Mathematical optimization of convex functions
+
+
+A mathematical optimization problem, or just optimization problem, has the form
+$$
+\mathrm{minimize}\hspace{0.1cm} f(x),
+$$
+
+subject to some constraints \( g(\lambda_i) \leq b_i \) for say a selected set \( i=1,2,\dots, n \).
+In our case we are optimizing with respect to the Lagrangian multipliers \( \lambda_i \), and the
+vector \( \boldsymbol{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n] \) is the optimization variable we are dealing with.
+and \( f(x) \) is our objective function while \( g(\lambda_i) \leq b_i \) represents our constraint function.
+
+
+In our case we are particularly interested in a class of optimization problems called convex optmization problems.
+In our disussion on gradient descent methods we discussed at length the definition of a convex function.
+
+
+Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics.
+
+
+
+
+
How do we solve these problems
If we use Python as programming language and wish to venture beyond
@@ -751,10 +778,25 @@ from cvxopt import matrix
-
P = matrix([[1.0,0.0],[0.0,0.0]])
+# Import the necessary packages
+import numpy
+from cvxopt import matrix
+from cvxopt import solvers
+# Define QP parameters (directly)
+P = matrix([[1.0,0.0],[0.0,0.0]])
q = matrix([3.0,4.0])
G = matrix([[-1.0,0.0,-1.0,2.0,3.0],[0.0,-1.0,-3.0,5.0,4.0]])
h = matrix([0.0,0.0,-15.0,100.0,80.0])
+# Define QP parameters (with NumPy)
+P = matrix(numpy.diag([1,0]), tc=’d’)
+q = matrix(numpy.array([3,4]), tc=’d’)
+G = matrix(numpy.array([[-1,0],[0,-1],[-1,-3],[2,5],[3,4]]), tc=’d’)
+h = matrix(numpy.array([0,0,-15,100,80]), tc=’d’)
+# Construct the QP, invoke solver
+sol = solvers.qp(P,q,G,h)
+# Extract optimal value and solution
+sol[’x’] # [7.13e-07, 5.00e+00]
+sol[’primal objective’]
diff --git a/doc/pub/svm/html/svm.html b/doc/pub/svm/html/svm.html
index c9aca2c61..6d99d69b8 100644
--- a/doc/pub/svm/html/svm.html
+++ b/doc/pub/svm/html/svm.html
@@ -63,7 +63,11 @@ div { text-align: justify; text-justify: inter-word; }
('Different kernels', 2, None, '___sec18'),
('Quadratic coefficient matrix', 2, None, '___sec19'),
("Mercer's theorem", 2, None, '___sec20'),
- ('How do we solve these problems', 2, None, '___sec21')]}
+ ('Mathematical optimization of convex functions',
+ 2,
+ None,
+ '___sec21'),
+ ('How do we solve these problems', 2, None, '___sec22')]}
end of tocinfo -->
@@ -105,7 +109,7 @@ MathJax.Hub.Config({
[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University
-
Nov 5, 2018
+Nov 6, 2018
@@ -709,7 +713,30 @@ from which we also find \( b \).
-
How do we solve these problems
+Mathematical optimization of convex functions
+
+
+A mathematical optimization problem, or just optimization problem, has the form
+$$
+\mathrm{minimize}\hspace{0.1cm} f(x),
+$$
+
+subject to some constraints \( g(\lambda_i) \leq b_i \) for say a selected set \( i=1,2,\dots, n \).
+In our case we are optimizing with respect to the Lagrangian multipliers \( \lambda_i \), and the
+vector \( \boldsymbol{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n] \) is the optimization variable we are dealing with.
+and \( f(x) \) is our objective function while \( g(\lambda_i) \leq b_i \) represents our constraint function.
+
+
+In our case we are particularly interested in a class of optimization problems called convex optmization problems.
+In our disussion on gradient descent methods we discussed at length the definition of a convex function.
+
+
+Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics.
+
+
+
+
+
How do we solve these problems
If we use Python as programming language and wish to venture beyond
@@ -756,10 +783,25 @@ from cvxopt import matrix
-
P = matrix([[1.0,0.0],[0.0,0.0]])
+# Import the necessary packages
+import numpy
+from cvxopt import matrix
+from cvxopt import solvers
+# Define QP parameters (directly)
+P = matrix([[1.0,0.0],[0.0,0.0]])
q = matrix([3.0,4.0])
G = matrix([[-1.0,0.0,-1.0,2.0,3.0],[0.0,-1.0,-3.0,5.0,4.0]])
h = matrix([0.0,0.0,-15.0,100.0,80.0])
+# Define QP parameters (with NumPy)
+P = matrix(numpy.diag([1,0]), tc=’d’)
+q = matrix(numpy.array([3,4]), tc=’d’)
+G = matrix(numpy.array([[-1,0],[0,-1],[-1,-3],[2,5],[3,4]]), tc=’d’)
+h = matrix(numpy.array([0,0,-15,100,80]), tc=’d’)
+# Construct the QP, invoke solver
+sol = solvers.qp(P,q,G,h)
+# Extract optimal value and solution
+sol[’x’] # [7.13e-07, 5.00e+00]
+sol[’primal objective’]
diff --git a/doc/pub/svm/ipynb/ipynb-svm-src.tar.gz b/doc/pub/svm/ipynb/ipynb-svm-src.tar.gz
index a514400d1..ff6e50e1a 100644
Binary files a/doc/pub/svm/ipynb/ipynb-svm-src.tar.gz and b/doc/pub/svm/ipynb/ipynb-svm-src.tar.gz differ
diff --git a/doc/pub/svm/ipynb/svm.ipynb b/doc/pub/svm/ipynb/svm.ipynb
index cd34fab3c..33ccaa50c 100644
--- a/doc/pub/svm/ipynb/svm.ipynb
+++ b/doc/pub/svm/ipynb/svm.ipynb
@@ -10,7 +10,7 @@
" \n",
"**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n",
"\n",
- "Date: **Nov 5, 2018**\n",
+ "Date: **Nov 6, 2018**\n",
"\n",
"Copyright 1999-2018, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n",
"\n",
@@ -1137,6 +1137,36 @@
"\n",
"## Mercer's theorem\n",
"\n",
+ "## Mathematical optimization of convex functions\n",
+ "\n",
+ "A mathematical optimization problem, or just optimization problem, has the form"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "$$\n",
+ "\\mathrm{minimize}\\hspace{0.1cm} f(x),\n",
+ "$$"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "subject to some constraints $g(\\lambda_i) \\leq b_i$ for say a selected set $i=1,2,\\dots, n$.\n",
+ "In our case we are optimizing with respect to the Lagrangian multipliers $\\lambda_i$, and the\n",
+ "vector $\\boldsymbol{\\lambda}=[\\lambda_1, \\lambda_2,\\dots, \\lambda_n]$ is the optimization variable we are dealing with.\n",
+ "and $f(x)$ is our objective function while $g(\\lambda_i) \\leq b_i$ represents our constraint function.\n",
+ "\n",
+ "In our case we are particularly interested in a class of optimization problems called convex optmization problems. \n",
+ "In our disussion on gradient descent methods we discussed at length the definition of a convex function. \n",
+ "\n",
+ "Convex optimization problems play a central role in applied mathematics and we recommend strongly [Boyd and Vandenberghe's text on the topics](http://web.stanford.edu/~boyd/cvxbook/).\n",
+ "\n",
+ "\n",
+ "\n",
"## How do we solve these problems\n",
"\n",
"If we use Python as programming language and wish to venture beyond\n",
@@ -1209,10 +1239,25 @@
},
"outputs": [],
"source": [
+ "# Import the necessary packages\n",
+ "import numpy\n",
+ "from cvxopt import matrix\n",
+ "from cvxopt import solvers\n",
+ "# Define QP parameters (directly)\n",
"P = matrix([[1.0,0.0],[0.0,0.0]])\n",
"q = matrix([3.0,4.0])\n",
"G = matrix([[-1.0,0.0,-1.0,2.0,3.0],[0.0,-1.0,-3.0,5.0,4.0]])\n",
- "h = matrix([0.0,0.0,-15.0,100.0,80.0])"
+ "h = matrix([0.0,0.0,-15.0,100.0,80.0])\n",
+ "# Define QP parameters (with NumPy)\n",
+ "P = matrix(numpy.diag([1,0]), tc=’d’)\n",
+ "q = matrix(numpy.array([3,4]), tc=’d’)\n",
+ "G = matrix(numpy.array([[-1,0],[0,-1],[-1,-3],[2,5],[3,4]]), tc=’d’)\n",
+ "h = matrix(numpy.array([0,0,-15,100,80]), tc=’d’)\n",
+ "# Construct the QP, invoke solver\n",
+ "sol = solvers.qp(P,q,G,h)\n",
+ "# Extract optimal value and solution\n",
+ "sol[’x’] # [7.13e-07, 5.00e+00]\n",
+ "sol[’primal objective’]"
]
}
],
diff --git a/doc/pub/svm/pdf/svm-minted.pdf b/doc/pub/svm/pdf/svm-minted.pdf
index 2276b146f..226be3e02 100644
Binary files a/doc/pub/svm/pdf/svm-minted.pdf and b/doc/pub/svm/pdf/svm-minted.pdf differ
diff --git a/doc/src/SupportVMachines/svm.do.txt b/doc/src/SupportVMachines/svm.do.txt
index 65aa3197d..f16bcfadd 100644
--- a/doc/src/SupportVMachines/svm.do.txt
+++ b/doc/src/SupportVMachines/svm.do.txt
@@ -583,6 +583,27 @@ from which we also find $b$.
!split
===== Mercer's theorem =====
+!split
+===== Mathematical optimization of convex functions =====
+
+A mathematical optimization problem, or just optimization problem, has the form
+!bt
+\[
+\mathrm{minimize}\hspace{0.1cm} f(x),
+\]
+!et
+subject to some constraints $g(\lambda_i) \leq b_i$ for say a selected set $i=1,2,\dots, n$.
+In our case we are optimizing with respect to the Lagrangian multipliers $\lambda_i$, and the
+vector $\bm{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n]$ is the optimization variable we are dealing with.
+and $f(x)$ is our objective function while $g(\lambda_i) \leq b_i$ represents our constraint function.
+
+In our case we are particularly interested in a class of optimization problems called convex optmization problems.
+In our disussion on gradient descent methods we discussed at length the definition of a convex function.
+
+Convex optimization problems play a central role in applied mathematics and we recommend strongly "Boyd and Vandenberghe's text on the topics":"http://web.stanford.edu/~boyd/cvxbook/".
+
+
+
!split
===== How do we solve these problems =====
@@ -625,8 +646,23 @@ object; all arguments given to its solvers must be in this matrix type. There ar
to do this. The first is to define the matrix directly with (potentially nested) lists:
from cvxopt import matrix
!bc pycod
+# Import the necessary packages
+import numpy
+from cvxopt import matrix
+from cvxopt import solvers
+# Define QP parameters (directly)
P = matrix([[1.0,0.0],[0.0,0.0]])
q = matrix([3.0,4.0])
G = matrix([[-1.0,0.0,-1.0,2.0,3.0],[0.0,-1.0,-3.0,5.0,4.0]])
h = matrix([0.0,0.0,-15.0,100.0,80.0])
+# Define QP parameters (with NumPy)
+P = matrix(numpy.diag([1,0]), tc=’d’)
+q = matrix(numpy.array([3,4]), tc=’d’)
+G = matrix(numpy.array([[-1,0],[0,-1],[-1,-3],[2,5],[3,4]]), tc=’d’)
+h = matrix(numpy.array([0,0,-15,100,80]), tc=’d’)
+# Construct the QP, invoke solver
+sol = solvers.qp(P,q,G,h)
+# Extract optimal value and solution
+sol[’x’] # [7.13e-07, 5.00e+00]
+sol[’primal objective’]
!ec