chsvlib
chsv helper source code

◆ RowEchelonTransformRow()

bool RowEchelonTransformRow ( size_type  iPivotColumn,
size_type  iPivotRow,
size_type  iTransformRow,
transform_row_params_t...  transform_row_params 
)
protected

Performs a Gaussian row transformation to nullify a specified element located in the same column as a specified pivot element during a row echelon form transformation of the current matrix which is performed by the RowEchelonMe method.

Template Parameters
transform_row_params_t...is a template type parameter pack for arguments to the function that are provided by a caller of the RowEchelonMe method with the latter passing them as-is to the RowEchelonTransformRow method.
Parameters
iPivotColumnis an index of a column that contains a pivot element in the row iPivotRow, and that is the same column that has an element to nullify, in the iTransformRow row.
iPivotRowis an index of a row that has a pivot element in the column iPivotColumn.
iTransformRowis an index of a row containing an element to nulltify in the column iPivotColumn. Using the Gaussian elimination the method transforms the whole row to nullify the element.
transform_row_paramsis a pack of parameters provided by a caller of the RowEchelonMe method, which, in turn, passes them as is to the discussed RowEchelonTransformRow method. These parameters are always optional and it is safe to omit them for any type of a matrix element. But if the parameters are provided, there meaning and semantics are dependent upon an algebraic structure implemented by a value_type class of matrix elements. See the RowEchelonMe method for further details upon this.
Returns
If an element to be transformed is already zero (before the call), the function does not do anything and returns false. Otherwise, the transformation is performed, and the function returns true.
Note
In any way passing arguments to the RowEchelonMe method is optional and it is safe to omit them in a call to the RowEchelonMe method for any kind of matrix elements.
This documentation uses terms pivot row, pivot column, and pivot element as they are defined for row echelon form.
A nullifying of a matrix element is an assigning a value value_type(Chusov::Math::additive_identity) to the element. A value value_type(Chusov::Math::additive_identity) is called a zero value (or element) here.