Gauss elimination: Difference between partial and complete pivoting I have some trouble with understanding the difference between partial and complete pivoting in Gauss elimination. I've found a few sources which are saying different things about what is allowed in each pivoting. From my understanding, in partial pivoting we are only allowed to change the columns (and are looking only at particular row), while in complete pivoting we look for highest value in whole matrix, and move it "to the top", by changing columns and rows. Is this correct, or am I wrong?

You are basically correct. Partial pivoting chooses an entry from the so-far unreduced portion of the current column (that means the diagonal element and all the elements under it). Full pivoting chooses any element from the so far unreduced lower-right submatrix (the current diagonal element and anything below / to the right).
In practice, this means that partial pivoting will add row permutation (or equation permutation) and full pivoting will add row and also column permutation (column permutation corresponds to variable or solution vector permutation).
Speaking plainly, using partial pivoting has a little bit fewer options of what to choose from, so it can yield inferior solutions in some cases (e.g. in the context of LU decomposition that is calculated by what is more or less Gaussian elimination, partially pivoted version requires the matrix to be invertible, while the fully pivoted version is proven to be able to tackle any matrix at all).
With a little bit wider view, partial pivoting is especially interesting in left-looking algorithms. Those are algorithms that produce one column of the result at a time, and are suitable for sparse matrices (stored e.g. in the compressed sparse column (CSC) format). In such case, only one column is ready to be decomposed so partial pivoting is a must. Right-looking methods do not have this limitation but are less suitable for handling sparse matrices. It is because sparse matrices only have column-major access cheap while row-major is expensive (or vice versa, depending on the storage format). Right-looking methods would require both kinds of access, and that is prohibitive.
