%% QR - Click & Kill
%% Introduction
% Householder and Givens rotations are important for introducing zeros in
% calculating the QR factorisation. This module allows you to play with
% these transformations to introduce zeros wherever you like, not just
% below the main diagonal.
%
%% Review
% Revisit the module <../qr_click/html/qr_click.html QR Factorisation> 
% if you need to review Householder reflections and Givens rotations.
%% The GUI
%
% Running the downloadable MATLAB code on this page opens a GUI which
% allows you to experiment with the effects of Householder and Givens
% transformations on a matrix of your choice. The matrix must be square.
QR_click_n_kill
%%
% To activate the GUI, click once on the matrix. You will see a
% crosshair appear on the screen. Now you can select any entry of the
% matrix. 
%
% *Note*: _You must always click once to activate the crosshairs 
% before you proceed with any of the following_
%
% When Householder method (the default method) is selected, if you
% click on the entry $(i,j)$, the program will clear ("kill") all the
% entries in the $j$-th column below the selected entry. 
% So, for example, if you want to clear the all the entries in the 3rd
% column below the main diagonal, you would have to click on the (3,3)-th
% entry of the matrix.
% 
% When Givens method is selected, you will have to first click to 
% choose the entry you want to clear, and then click to choose which row
% you want to use to clear your chosen entry. 
% For example, if you want to clear the (2,4)-th entry by using the 3rd row,
% you would have to first click on the (2,4)-th entry, and then click on any
% entry in the 3rd row. 
%
% You might want to try the GUI with the matrix given in exercise 7 on
% Example Sheet 3.
%% References
% [1] <http://en.wikipedia.org/wiki/QR_decomposition>
%% The Code
% * <QR_click_n_kill.m> (Run this)
% * <QR_click_n_kill.fig> (Required)
% * <do_householder.m> (Required - applies Householder)
% * <get_householder.m> (Required - calculates Householder)
% * <do_givens.m> (Required - applies Givens)
% * <get_givens.m> (Required - calculates Givens)
%
% All files as zip archive: <qr_click_all.zip>

