I took a quick glance. It looks to me like the example needs to be fixed.
+## [x, resids] = pgmres (A, b, m, rtol, maxit, P)
+##
+## Solve @code{A x = b} using the Preconditioned GMRES iterative method
+## with restart ak.a. PGMRES(m).
+##
+## @itemize @minus
+## @item @var{m} is the restart parameter, if not given or set to [] the default value @code{numel (b)} is used.
+## @item @var{rtol} is the relative tolerance, if not given or set to [] the default value 1e-6 is used.
+## @item @var{maxit} the maximum number of outer iterations, if not given or set to [] the default value @code{min (10, numel (b) / restart)} is used.
+## @item @var{P} is the preconditioner, @code{P = M1 * M2}.
+## @end itemize
Also, please include some additional deftypefnx's after the deftypefn.
+## @deftypefnx {Function File} @
+## address@hidden, @var{flag}, @var{relres}, @var{iter}, @var{resvec}] =} pgmres (@var{A}, @var{b})
+## @deftypefnx {Function File} @
+## address@hidden, @var{flag}, @var{relres}, @var{iter}, @var{resvec}] =} pgmres (@var{A}, @var{b}, @var{m})
+## @deftypefnx {Function File} @
+## address@hidden, @var{flag}, @var{relres}, @var{iter}, @var{resvec}] =} pgmres (@var{A}, @var{b}, @var{m}, @var{rtol})
+## @deftypefnx {Function File} @
+## address@hidden, @var{flag}, @var{relres}, @var{iter}, @var{resvec}] =} pgmres (@var{A}, @var{b}, @var{m}, @var{rtol}, @var{maxit})
+## @deftypefnx {Function File} @
+## address@hidden, @var{flag}, @var{relres}, @var{iter}, @var{resvec}] =} pgmres (@var{A}, @var{b}, @var{m}, @var{rtol}, @var{maxit}, @var{P})
+## @deftypefnx {Function File} @
+## address@hidden, @var{flag}, @var{relres}, @var{iter}, @var{resvec}] =} pgmres (@var{A}, @var{b}, @var{m}, @var{rtol}, @var{maxit}, @var{M1}, @var{M2})