function f_pred = get_predicted_subf(obj, indx, theta_proj)
% Get the predicted value of subfunction indx at theta_proj that lies insisde the subspace;
    dtheta = theta_proj - obj.last_theta(:,indx);
    bdtheta = obj.b(:,:,indx).' * dtheta;
    Hdtheta = real(obj.b(:,:,indx) * bdtheta);
    Hdtheta = Hdtheta + dtheta.*obj.min_eig_sub(indx); % the diagonal contribution
    f_pred = obj.hist_f(indx,1) + obj.last_df(:,indx).' * dtheta + 0.5.*(dtheta.') * (Hdtheta);
end