\newpage
{\bf \Huge qr0}
\rule{2in}{1mm}
\vspace{0.25in}


{\bf Summary}

\begin{quote}
Orthogonal triangular factorization of $A$.
\end{quote}

{\bf Command line}

\begin{verse}
{\tt void qr0(int *mp, int *np, int *lp, \\ \hspace{1in} double *A, double *U, double *B)} \\
This subroutine must be compiled with \verb|"../cores/qr_core.c"| and \verb|"../errors/e_hand.c"|
\end{verse}

{\bf Arguments}

\begin{quote}
\begin{tabbing}
{\tt mp} \qquad \= points to the number of rows of $A$. \\
{\tt np} \> points to the number of columns of $A$. \\
{\tt lp} \> points to the number of columns of $B$. \\
{\tt A} \> points to the address of the first element of $A$. \\
{\tt U} \> points to the address of the first element of $U$. \\
{\tt B} \> points to the address of the first element of $B$. \\
\end{tabbing}
\end{quote}

{\bf Description}

\begin{quote}
{\tt qr0} performs the orthogonal triangular factorization of a matrix, using the Lawson and Hanson bound to detect linear dependencies. Upon exit, $U$ contains an upper-triangular matrix of the same dimension as $A$, such that $U = Q \ast A$, and $B$ contains $Q \ast B$, where $Q$ is an implicitly-defined orthonormal matrix. Additionally, rows of $B$ that correspond to linear dependencies of $A$ are zeroed.

Whenever possible, this routine places $U$ in canonical form where diagonal elements are zero only if the entire corresponding row is zero.
\end{quote}

\newpage
{\bf \Huge qr}
\rule{2in}{1mm}
\vspace{0.25in}


{\bf Summary}

\begin{quote}
Orthogonal triangular factorization of $A$.
\end{quote}

{\bf Command line}

\begin{verse}
{\tt void qr(int *mp, int *np, int *lp, \\ \hspace{1in} double *A, double *U, double *B)} \\
This subroutine must be compiled with \verb|"../cores/qr_core.c"| and \verb|"../errors/e_hand.c"|
\end{verse}

{\bf Arguments}

\begin{quote}
\begin{tabbing}
{\tt mp} \qquad \= points to the number of rows of $A$. \\
{\tt np} \> points to the number of columns of $A$. \\
{\tt lp} \> points to the number of columns of $B$. \\
{\tt A} \> points to the address of the first element of $A$. \\
{\tt U} \> points to the address of the first element of $U$. \\
{\tt B} \> points to the address of the first element of $B$. \\
\end{tabbing}
\end{quote}

{\bf Description}

\begin{quote}
{\tt qr} performs the orthogonal triangular factorization of a matrix, using the Lawson and Hanson bound to detect linear dependencies. Upon exit, $U$ contains an upper-triangular matrix of the same dimension as $A$, such that $U = Q \ast A$, and $B$ contains $Q \ast B$, where $Q$ is an implicitly-defined orthonormal matrix.

Whenever possible, this routine places $U$ in canonical form where diagonal elements are zero only if the entire corresponding row is zero.
\end{quote}

\newpage
{\bf \Huge lq0}
\rule{2in}{1mm}
\vspace{0.25in}


{\bf Summary}

\begin{quote}
Orthogonal triangular factorization of $A$.
\end{quote}

{\bf Command line}

\begin{verse}
{\tt void lq0(int *mp, int *np, int *lp, \\ \hspace{1in} double *A, double *L, double *B)} \\
This subroutine must be compiled with \verb|"../cores/qr_core.c"| and \verb|"../errors/e_hand.c"|
\end{verse}

{\bf Arguments}

\begin{quote}
\begin{tabbing}
{\tt mp} \qquad \= points to the number of rows of $A$. \\
{\tt np} \> points to the number of columns of $A$. \\
{\tt lp} \> points to the number of rows of $B$. \\
{\tt A} \> points to the address of the first element of $A$. \\
{\tt L} \> points to the address of the first element of $L$. \\
{\tt B} \> points to the address of the first element of $B$. \\
\end{tabbing}
\end{quote}

{\bf Description}

\begin{quote}
{\tt lq0} performs the orthogonal triangular factorization of a matrix, using the Lawson and Hanson bound to detect linear dependencies.  Upon exit, $L$ contains a lower-triangular matrix of the same dimension as $A$, such that $L= A \ast Q$, and $B$ contains $B \ast Q$, where $Q$ is an implicitly-defined orthonormal matrix.  Additionally, columns of $B$ that correspond to linear dependencies of $A$ are zeroed.

Whenever possible, this routine places $L$ in canonical form where diagonal elements are zero only if the entire corresponding column is zero.
\end{quote}

\newpage
{\bf \Huge lq}
\rule{2in}{1mm}
\vspace{0.25in}


{\bf Summary}

\begin{quote}
Orthogonal triangular factorization of $A$.
\end{quote}

{\bf Command line}

\begin{verse}
{\tt void lq(int *mp, int *np, int *lp, \\ \hspace{1in} double *A, double *L, double *B)} \\
This subroutine must be compiled with \verb|"../cores/qr_core.c"| and \verb|"../errors/e_hand.c"|
\end{verse}

{\bf Arguments}

\begin{quote}
\begin{tabbing}
{\tt mp} \qquad \= points to the number of rows of $A$. \\
{\tt np} \> points to the number of columns of $A$. \\
{\tt lp} \> points to the number of rows of $B$. \\
{\tt A} \> points to the address of the first element of $A$. \\
{\tt L} \> points to the address of the first element of $L$. \\
{\tt B} \> points to the address of the first element of $B$. \\
\end{tabbing}
\end{quote}

{\bf Description}

\begin{quote}
{\tt lq} performs the orthogonal triangular factorization of a matrix, using the Lawson and Hanson bound to detect linear dependencies.  Upon exit, $L$ contains a lower-triangular matrix of the same dimension as $A$, such that $L= A \ast Q$, and $B$ contains $B \ast Q$, where $Q$ is an implicitly-defined orthonormal matrix.

Whenever possible, this routine places $L$ in canonical form where diagonal elements are zero only if the entire corresponding column is zero.
\end{quote}

\newpage
{\bf \Huge rq0}
\rule{2in}{1mm}
\vspace{0.25in}

{\bf Summary}

\begin{quote}
Orthogonal triangular factorization of $A$.
\end{quote}

{\bf Command line}

\begin{verse}
{\tt void rq0(int *mp, int *np, int *lp, \\ \hspace{1in} double *A, double *U, double *B)} \\
This subroutine must be compiled with \verb|"../cores/ql_core.c"| and \verb|"../errors/e_hand.c"|
\end{verse}

{\bf Arguments}

\begin{quote}
\begin{tabbing}
{\tt mp} \qquad \= points to the number of rows of $A$. \\
{\tt np} \> points to the number of columns of $A$. \\
{\tt lp} \> points to the number of rows of $B$. \\
{\tt A} \> points to the address of the first element of $A$. \\
{\tt U} \> points to the address of the first element of $U$. \\
{\tt B} \> points to the address of the first element of $B$. \\
\end{tabbing}
\end{quote}

{\bf Description}

\begin{quote}
{\tt rq0} performs the orthogonal triangular factorization of a matrix, using the Lawson and Hanson bound to detect linear dependencies.  Upon exit, $U$ contains an upper-triangular matrix of the same dimension as $A$, such that $U=A \ast Q$ and $B$ contains $B \ast Q$, where $Q$ is an implicitly-defined orthonormal matrix.  Additionally, columns of $B$ that correspond to linear dependencies of $A$ are zeroed.

Whenever possible, this routine places $U$ in canonical form where diagonal elements are zero only if the entire corresponding column is zero.
\end{quote}

\newpage
{\bf \Huge rq}
\rule{2in}{1mm}
\vspace{0.25in}

{\bf Summary}

\begin{quote}
Orthogonal triangular factorization of $A$.
\end{quote}

{\bf Command line}

\begin{verse}
{\tt void rq(int *mp, int *np, int *lp, \\ \hspace{1in} double *A, double *U, double *B)} \\
This subroutine must be compiled with \verb|"../cores/ql_core.c"| and \verb|"../errors/e_hand.c"|
\end{verse}

{\bf Arguments}

\begin{quote}
\begin{tabbing}
{\tt mp} \qquad \= points to the number of rows of $A$. \\
{\tt np} \> points to the number of columns of $A$. \\
{\tt lp} \> points to the number of rows of $B$. \\
{\tt A} \> points to the address of the first element of $A$. \\
{\tt U} \> points to the address of the first element of $U$. \\
{\tt B} \> points to the address of the first element of $B$. \\
\end{tabbing}
\end{quote}

{\bf Description}

\begin{quote}
{\tt rq} performs the orthogonal triangular factorization of a matrix, using the Lawson and Hanson bound to detect linear dependencies.  Upon exit, $U$ contains an upper-triangular matrix of the same dimension as $A$, such that $U=A \ast Q$ and $B$ contains $B \ast Q$, where $Q$ is an implicitly-defined orthonormal matrix. 

Whenever possible, this routine places $U$ in canonical form where diagonal elements are zero only if the entire corresponding column is zero.
\end{quote}

\newpage
{\bf \Huge ql0}
\rule{2in}{1mm}
\vspace{0.25in}

{\bf Summary}

\begin{quote}
Orthogonal triangular factorization of $A$.
\end{quote}

{\bf Command line}

\begin{verse}
{\tt void ql0(int *mp, int *np, int *lp, \\ \hspace{1in} double *A, double *L, double *B)} \\
This subroutine must be compiled with \verb|"../cores/ql_core.c"| and \verb|"../errors/e_hand.c"|
\end{verse}

{\bf Arguments}

\begin{quote}
\begin{tabbing}
{\tt mp} \qquad \= points to the number of rows of $A$. \\
{\tt np} \> points to the number of columns of $A$. \\
{\tt lp} \> points to the number of columns of $B$. \\
{\tt A} \> points to the address of the first element of $A$. \\
{\tt L} \> points to the address of the first element of $L$. \\
{\tt B} \> points to the address of the first element of $B$. \\
\end{tabbing}
\end{quote}

{\bf Description}

\begin{quote}
{\tt ql0} performs the orthogonal triangular factorization of a matrix, using the Lawson and Hanson bound to detect linear dependencies.  Upon exit, $L$ contains a lower-triangular matrix of the same dimension as $A$, such that $L=Q \ast A$ and $B$ contains $Q \ast B$, where $Q$ is an implicitly-defined orthonormal matrix.  Additionally, columns of $B$ that correspond to linear dependencies of $A$ are zeroed.

Whenever possible, this routine places $L$ in canonical form where diagonal elements are zero only if the entire corresponding column is zero.
\end{quote}

\newpage
{\bf \Huge ql}
\rule{2in}{1mm}
\vspace{0.25in}

{\bf Summary}

\begin{quote}
Orthogonal triangular factorization of $A$.
\end{quote}

{\bf Command line}

\begin{verse}
{\tt void ql(int *mp, int *np, int *lp, \\ \hspace{1in} double *A, double *L, double *B)} \\
This subroutine must be compiled with \verb|"../cores/ql_core.c"| and \verb|"../errors/e_hand.c"|
\end{verse}

{\bf Arguments}

\begin{quote}
\begin{tabbing}
{\tt mp} \qquad \= points to the number of rows of $A$. \\
{\tt np} \> points to the number of columns of $A$. \\
{\tt lp} \> points to the number of columns of $B$. \\
{\tt A} \> points to the address of the first element of $A$. \\
{\tt L} \> points to the address of the first element of $L$. \\
{\tt B} \> points to the address of the first element of $B$. \\
\end{tabbing}
\end{quote}

{\bf Description}

\begin{quote}
{\tt ql} performs the orthogonal triangular factorization of a matrix, using the Lawson and Hanson bound to detect linear dependencies.  Upon exit, $L$ contains a lower-triangular matrix of the same dimension as $A$, such that $L=Q \ast A$ and $B$ contains $Q \ast B$, where $Q$ is an implicitly-defined orthonormal matrix.

Whenever possible, this routine places $L$ in canonical form where diagonal elements are zero only if the entire corresponding column is zero.
\end{quote}

\newpage
{\bf \Huge abrq}
\rule{2in}{1mm}
\vspace{0.25in}

{\bf Summary}

\begin{quote}
Orthogonal triangular factorization of $A$.
\end{quote}

{\bf Command line}

\begin{verse}
{\tt void abrq(int *mp, int *np, int *lp, \\ \hspace{1in} double *A, double *B, double *U)} \\
This subroutine must be compiled with \verb|"../cores/ql_core.c"| and \verb|"../errors/e_hand.c"|
\end{verse}

{\bf Arguments}

\begin{quote}
\begin{tabbing}
{\tt mp} \qquad \= points to the number of rows of $A$. \\
{\tt np} \> points to the number of columns of $A$. \\
{\tt lp} \> points to the number of columns of $B$. \\
{\tt A} \> points to the address of the first element of $A$. \\
{\tt B} \> points to the address of the first element of $B$. \\
{\tt U} \> points to the address of the first element of $U$. \\
\end{tabbing}
\end{quote}

{\bf Description}

\begin{quote}
{\tt abrq} performs the orthogonal triangular factorization of an augmented matrix, using the Lawson and Hanson bound to detect linear dependencies.  Upon exit, $U$ contains an upper-triangular matrix of the same dimension as $[A|B]$, such that $U=[A|B] \ast Q$, where $Q$ is an implicitly-defined orthonormal matrix.

Whenever possible, this routine places $U$ in canonical form where diagonal elements are zero only if the entire corresponding column is zero.
\end{quote}

\newpage
{\bf \Huge ablq}
\rule{2in}{1mm}
\vspace{0.25in}

{\bf Summary}

\begin{quote}
Orthogonal triangular factorization of $A$.
\end{quote}

{\bf Command line}

\begin{verse}
{\tt void ablq(int *mp, int *np, int *lp, \\ \hspace{1in} double *A, double *B, double *L)} \\
This subroutine must be compiled with \verb|"../cores/qr_core.c"| and \verb|"../errors/e_hand.c"|
\end{verse}

{\bf Arguments}

\begin{quote}
\begin{tabbing}
{\tt mp} \qquad \= points to the number of rows of $A$. \\
{\tt np} \> points to the number of columns of $A$. \\
{\tt lp} \> points to the number of columns of $B$. \\
{\tt A} \> points to the address of the first element of $A$. \\
{\tt B} \> points to the address of the first element of $B$. \\
{\tt L} \> points to the address of the first element of $L$. \\
\end{tabbing}
\end{quote}

{\bf Description}

\begin{quote}
{\tt ablq} performs the orthogonal triangular factorization of an augmented matrix, using the Lawson and Hanson bound to detect linear dependencies.  Upon exit, $L$ contains a lower-triangular matrix of the same dimension as $[A|B]$, such that $L=[A|B] \ast Q$, where $Q$ is an implicitly-defined orthonormal matrix.

Whenever possible, this routine places $L$ in canonical form where diagonal elements are zero only if the entire corresponding column is zero.
\end{quote}

\newpage