Quadratic Forms and Eigen Value Connection
Purpose
Use Quadratic Forms to solve the optimization stuff
Constraint - The point lies on a sphere
> B <- diag(3) |
Maximize
> A <- matrix(1:9, byrow = T, nrow = 3) |
Pick a point randomly on a sphere
> par(mfrow = c(1, 1)) > temp <- seq(-pi, pi, length = 100) > x <- c(rep(1, 100) %*% t(cos(temp))) > y <- c(cos(temp) %*% t(sin(temp))) > z <- c(sin(temp) %*% t(sin(temp))) > scatterplot3d(x, y, z, highlight.3d = TRUE, angle = 120, col.axis = "blue", + col.grid = "lightblue", cex.axis = 1.3, cex.lab = 1.1, main = "Sphere", + pch = 20) |

> result <- vector()
> for (i in seq_along(x)) {
+ X <- matrix(c(x[i], y[i], z[i]), byrow = F, ncol = 1)
+ result <- c(result, t(X) %*% A %*% X)
+ }
> plot(seq_along(x), result, pch = 19, col = "blue") |

- Manually find the max point
> max.pt <- which(result == max(result)) > print(c(x[max.pt], y[max.pt], z[max.pt])) [1] -0.3568862 -0.5418589 -0.7609344 > max(result) [1] 16.45504 |
Now use Eigen vectors to get the same answer
> eigval <- eigen(solve(B) %*% A)$values > max(eigval) [1] 16.11684 |

Thus max eigen val and max pt from manual search concur
> max(result) [1] 16.45504 > max(eigval) [1] 16.11684 |
Takeaway :
If you have a constraint in a quadratic form and a max or min in a quadratic form, just by merely looking at the eigen values you can compute the min or max of the objective function