首先科普下Pivoting的含义
一般翻译为“主元”,在对矩阵做某种算法时,首先进行的部分元素.在线性规划的单纯形法中常见.
wiki的解释如下:
Pivot element
(the first element distinct from zero in a matrix in echelon form)
The
pivot or pivot element is the element of a matrix,which is selected
first by an algorithm (e.g.Gaussian elimination,Quicksort,Simplex
algorithm),to do certain calculations with the matrix.
The above
mentioned matrix algorithms require an entry distinct from zero in pivot
position to work properly or at all respectively.Depending on the
algorithm either one (random) element distinct from zero or the element
with the greatest absolute value in a row or column is chosen.This is
called pivotization.The row containing the pivot element is called pivot
row,the pivot element's column is called pivot column.
Pivot element
in Quicksort means the element that is selected as boundary for
partitioning.Quicksort sorts all elements „left“ and „right“ of the
pivot element recursively.
区别:
(1)
complete pivoting(即full pivoting),就是在矩阵分解或高斯消元的过程中,主元是在未进行变换的所有行和列之间进行选择。也就是需要同时进行行交换和列交换。
(2)
partial pivoting就是只在当前进行变换的列中选择主元,只需要进行行交换
一般full pivoting相比partial pivoting更加稳定,但是更麻烦,速度会慢。
就是速度和精度之间的问题。