gen_hh.m

来自「求解离散病态问题的正则化方法matlab 工具箱」· M 代码 · 共 24 行

M
24
字号
function [x1,beta,v] = gen_hh(x)%GEN_HH Generate a Householder transformation.%% [x1,beta,v] = gen_hh(x)%% Given a vector x, gen_hh computes the scalar beta and the vector v% determining a Householder transformation%    H = (I - beta*v*v'),% such that H*x = +-norm(x)*e_1. x1 is the first element of H*x.% Per Christian Hansen, IMM, 11/11/1997.v = x; alpha = norm(v);if (alpha==0),  beta = 0;else  beta = 1/(alpha*(alpha + abs(v(1))));endif (v(1) >= 0)  v(1) = v(1) + alpha; x1 = -alpha;else  v(1) = v(1) - alpha; x1 = +alpha;end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?