(matrix_u, matrix_y)
return matrix_x
Backward substitution method for the solution of linear systems.

    Solves the equation :math:`Ux = y` using backward substitution method
    where :math:`U` is a upper triangular matrix and :math:`y` is a column matrix.

    :param matrix_u: U, upper triangular matrix
    :type matrix_u: list, tuple
    :param matrix_y: y, column matrix
    :type matrix_y: list, tuple
    :return: x, column matrix
    :rtype: list
Backward substitution method for the solution of linear systems.
Backward substitution method for the solution of linear systems .
def backward_substitution(matrix_u, matrix_y):
    """ Backward substitution method for the solution of linear systems.

    Solves the equation :math:`Ux = y` using backward substitution method
    where :math:`U` is a upper triangular matrix and :math:`y` is a column matrix.

    :param matrix_u: U, upper triangular matrix
    :type matrix_u: list, tuple
    :param matrix_y: y, column matrix
    :type matrix_y: list, tuple
    :return: x, column matrix
    :rtype: list
    """
    q = len(matrix_y)
    matrix_x = [0.0 for _ in range(q)]
    matrix_x[q - 1] = float(matrix_y[q - 1]) / float(matrix_u[q - 1][q - 1])
    for i in range(q - 2, -1, -1):
        matrix_x[i] = float(matrix_y[i]) - sum([matrix_u[i][j] * matrix_x[j] for j in range(i, q)])
        matrix_x[i] /= float(matrix_u[i][i])
    return matrix_x
def backward_substitution ( matrix_u , matrix_y ) : q = len ( matrix_y ) matrix_x = [ 0.0 for _ in range ( q ) ] matrix_x [ q - 1 ] = float ( matrix_y [ q - 1 ] ) / float ( matrix_u [ q - 1 ] [ q - 1 ] ) for i in range ( q - 2 , - 1 , - 1 ) : matrix_x [ i ] = float ( matrix_y [ i ] ) - sum ( [ matrix_u [ i ] [ j ] * matrix_x [ j ] for j in range ( i , q ) ] ) matrix_x [ i ] /= float ( matrix_u [ i ] [ i ] ) return matrix_x