Maple's QRDecomposition command basically utilizes one of two routines for generating the Q and R matrices. If the matrix contains only integers and/or symbolic expressions, then Maple performs a QR decomposition using the Classical Gram-Schmidt algorithm. If however, the matrix contains a mixture of integers and floating point decimals or only floating point decimals, then Maple carries out the QR decomposition of the matrix using Householder transformations. My approach below uses a third alternative, the Modified Gram-Schmidt algorithm, which I read about in Chapter 8 of the textbook, NUMERICAL LINEAR ALGEBRA, by Lloyd N. Trefethen and David Bau III.