  Noncommutative rational functions, i.e., elements of the universal skew field
of fractions of a free algebra, can be defined through evaluations of
noncommutative rational expressions on tuples of matrices. This interpretation
extends their traditional important role in the theory of division rings and
gives rise to their applications in other areas, from free real algebraic
geometry to systems and control theory. If a noncommutative rational function
is analytic at the origin, it can be described by a linear object, called a
{\em realization}. In this article we present a realization theory that is
applicable to {\em arbitrary} noncommutative rationals function and is
well-adapted for studying matrix evaluations. Of special interest are the
minimal realizations, which compensate the absence of a canonical form for
noncommutative rational functions. The non-minimality of a realization is
assessed by obstruction modules associated with it, they enable us to devise an
efficient method for obtaining minimal realizations. With them we describe the
extended domain of a noncommutative rational function and define a numerical
invariant that measures its complexity. Using these results we determine
concrete size bounds for rational identity testing, construct minimal symmetric
realizations and prove an effective local-global principle of linear dependence
for noncommutative rational functions.
