1. A circuit, configured to implement a QR decomposition of a matrix A into two matrices Q and R using a Modified Gram Schmidt (MGS) process, wherein Q represents an orthonormal basis that spans a column space of A, and wherein R is a triangular matrix, the circuit comprising: an input; a specified set of hardware components, coupled to the input, wherein the specified set of hardware components are dedicated to computing matrix Q; and an output; wherein the circuit is configured to: receive a first set of inputs at the input, wherein the first set of inputs includes the matrix A and a scaling factor σ; compute matrix Q via the specified set of hardware components dedicated to computing matrix Q, based on the first set of inputs using the MGS process; scale the identity matrix by the scaling factor σ, thereby generating scaled identity matrix σI; receive a second set of inputs to the specified set of hardware components dedicated to computing matrix Q, wherein the second set of inputs is different from the first set of inputs, wherein the second set of inputs comprises the scaled identity matrix; compute scaled matrix σR −1 via the specified set of hardware components dedicated to computing matrix Q, based on the second set of inputs using the MGS process; unscale the scaled matrix σR −1 , thereby computing matrix R −1 , wherein matrix R −1 is the inverse of matrix R; output the matrix Q and/or matrix R −1 via the output; and use the matrix Q and/or matrix R −1 to perform signal estimation on a noisy channel.