Approximating Hessian with BFGS for a matrix variable
Clash Royale CLAN TAG#URR8PPP
up vote
0
down vote
favorite
So as we know the approximation of the inverse of the hessian matrix using the BFGS method
is calculated with the following formulas :
$$q_k+1 = (I-p_k s_k (y_k)^T)q_k(I- p_k y_k (s_k)^T) + p_k s_k (s_k)^T$$
$$p_k = 1/y_k(y_k)^T$$
$$s_k = x_k+1 - x_k$$
$$y_k = nabla f(x_k+1) - nabla f(x_k)$$ Where $x$ is the input, $k = 1,2,3 ... $ the iteration number, $I$ identity matrix and $q_0 = I$ too.
Given $x_0 = 60x80$ matrix, calculating the above given BFGS equations won't work because of the matrix multiplication (with $I,q_0 = 80x80$ matrices)
what am i doing wrong ?
matrices optimization convex-optimization numerical-optimization hessian-matrix
add a comment |Â
up vote
0
down vote
favorite
So as we know the approximation of the inverse of the hessian matrix using the BFGS method
is calculated with the following formulas :
$$q_k+1 = (I-p_k s_k (y_k)^T)q_k(I- p_k y_k (s_k)^T) + p_k s_k (s_k)^T$$
$$p_k = 1/y_k(y_k)^T$$
$$s_k = x_k+1 - x_k$$
$$y_k = nabla f(x_k+1) - nabla f(x_k)$$ Where $x$ is the input, $k = 1,2,3 ... $ the iteration number, $I$ identity matrix and $q_0 = I$ too.
Given $x_0 = 60x80$ matrix, calculating the above given BFGS equations won't work because of the matrix multiplication (with $I,q_0 = 80x80$ matrices)
what am i doing wrong ?
matrices optimization convex-optimization numerical-optimization hessian-matrix
1
write $x$ as a vector of length 4800
– LinAlg
Jul 23 at 12:43
@LinAlg $x$ is the input it differ
– james
Jul 23 at 13:19
add a comment |Â
up vote
0
down vote
favorite
up vote
0
down vote
favorite
So as we know the approximation of the inverse of the hessian matrix using the BFGS method
is calculated with the following formulas :
$$q_k+1 = (I-p_k s_k (y_k)^T)q_k(I- p_k y_k (s_k)^T) + p_k s_k (s_k)^T$$
$$p_k = 1/y_k(y_k)^T$$
$$s_k = x_k+1 - x_k$$
$$y_k = nabla f(x_k+1) - nabla f(x_k)$$ Where $x$ is the input, $k = 1,2,3 ... $ the iteration number, $I$ identity matrix and $q_0 = I$ too.
Given $x_0 = 60x80$ matrix, calculating the above given BFGS equations won't work because of the matrix multiplication (with $I,q_0 = 80x80$ matrices)
what am i doing wrong ?
matrices optimization convex-optimization numerical-optimization hessian-matrix
So as we know the approximation of the inverse of the hessian matrix using the BFGS method
is calculated with the following formulas :
$$q_k+1 = (I-p_k s_k (y_k)^T)q_k(I- p_k y_k (s_k)^T) + p_k s_k (s_k)^T$$
$$p_k = 1/y_k(y_k)^T$$
$$s_k = x_k+1 - x_k$$
$$y_k = nabla f(x_k+1) - nabla f(x_k)$$ Where $x$ is the input, $k = 1,2,3 ... $ the iteration number, $I$ identity matrix and $q_0 = I$ too.
Given $x_0 = 60x80$ matrix, calculating the above given BFGS equations won't work because of the matrix multiplication (with $I,q_0 = 80x80$ matrices)
what am i doing wrong ?
matrices optimization convex-optimization numerical-optimization hessian-matrix
edited Jul 23 at 12:46
Rodrigo de Azevedo
12.6k41751
12.6k41751
asked Jul 23 at 11:15
james
256
256
1
write $x$ as a vector of length 4800
– LinAlg
Jul 23 at 12:43
@LinAlg $x$ is the input it differ
– james
Jul 23 at 13:19
add a comment |Â
1
write $x$ as a vector of length 4800
– LinAlg
Jul 23 at 12:43
@LinAlg $x$ is the input it differ
– james
Jul 23 at 13:19
1
1
write $x$ as a vector of length 4800
– LinAlg
Jul 23 at 12:43
write $x$ as a vector of length 4800
– LinAlg
Jul 23 at 12:43
@LinAlg $x$ is the input it differ
– james
Jul 23 at 13:19
@LinAlg $x$ is the input it differ
– james
Jul 23 at 13:19
add a comment |Â
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2860237%2fapproximating-hessian-with-bfgs-for-a-matrix-variable%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
1
write $x$ as a vector of length 4800
– LinAlg
Jul 23 at 12:43
@LinAlg $x$ is the input it differ
– james
Jul 23 at 13:19