This questions isn't completely about mathematics, it is also part of computer science. I hope here is the correct place for it.
I studied about the gaussian elimination algorithm (I want to implement it in Octave). The system of linear equations is Ax=b. At each step p, I multiply A to the left with a matrix $T_p = I_n - t_p * e_p^T$ where $e_p$ is the p-th column from the n*n identity matrix and the T denotes its transpose. Also, $t_p$ is a row vector with first $p$ entries equal to 0 and $t_p(i)= a(i,p)/a(p,p)$ for i >= p+1. My question is: why was the matrix $T_p$ chosen this way? To be more precise, what is the $t_p*e_p^T$? Why not write $T_p = I_n - B$ for example, with B arbitrary matrix? As far as I calculated, $t_p*e_p^T*A$ is a matrix which has on every row the elements of the p-th row from A, but multiplied to an element from t. They are of the form: $t_p(i)*a(p,j)$ on the i-th row and j-th column of the matrix.