  The Schur class, denoted by $\mathcal{S}(\mathbb{D})$, is the set of all
functions analytic and bounded by one in modulus in the open unit disc
$\mathbb{D}$ in the complex plane $\mathbb{C}$, that is \[
\mathcal{S}(\mathbb{D}) = \{\varphi \in H^\infty(\mathbb{D}):
\|\varphi\|_{\infty} := \sup_{z \in \mathbb{D}} |\varphi(z)| \leq 1\}. \] The
elements of $\mathcal{S}(\mathbb{D})$ are called Schur functions. A classical
result going back to I. Schur states: A function $\varphi: \mathbb{D}
\rightarrow \mathbb{C}$ is in $\mathcal{S}(\mathbb{D})$ if and only if there
exist a Hilbert space $\mathcal{H}$ and an isometry (known as colligation
operator matrix or scattering operator matrix) \[ V = \begin{bmatrix} a & B \\
C & D \end{bmatrix} : \mathbb{C} \oplus \mathcal{H} \rightarrow \mathbb{C}
\oplus \mathcal{H}, \] such that $\varphi$ admits a transfer function
realization corresponding to $V$, that is \[ \varphi(z) = a + z B
(I_{\mathcal{H}} - z D)^{-1} C \quad \quad (z \in \mathbb{D}). \] An analogous
statement holds true for Schur functions on the bidisc. On the other hand,
Schur-Agler class functions on the unit polydisc in $\mathbb{C}^n$ is a
well-known "analogue" of Schur functions on $\mathbb{D}$. In this paper, we
present algorithms to factorize Schur functions and Schur-Agler class functions
in terms of colligation matrices. More precisely, we isolate checkable
conditions on colligation matrices that ensure the existence of Schur
(Schur-Agler class) factors of a Schur (Schur-Agler class) function and vice
versa.
