<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Scilab ( https://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2008 - INRIA
 *
 * Copyright (C) 2012 - 2016 - Scilab Enterprises
 *
 * This file is hereby licensed under the terms of the GNU GPL v2.0,
 * pursuant to article 5.3.4 of the CeCILL v.2.1.
 * This file was originally licensed under the terms of the CeCILL v2.1,
 * and continues to be available under such terms.
 * For more information, see the COPYING file which you should have received
 * along with this program.
 *
 -->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="fstair">
    <refnamediv>
        <refname>fstair</refname>
        <refpurpose>computes  pencil  column echelon form by qz transformations</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>Syntax</title>
        <synopsis>[AE,EE,QE,ZE,blcks,muk,nuk,muk0,nuk0,mnei]=fstair(A,E,Q,Z,stair,rk,tol)</synopsis>
    </refsynopsisdiv>
    <refsection>
        <title>Arguments</title>
        <variablelist>
            <varlistentry>
                <term>A</term>
                <listitem>
                    <para>m x n matrix with real  entries.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>tol</term>
                <listitem>
                    <para>real positive scalar.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>E</term>
                <listitem>
                    <para>column echelon form matrix</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>Q</term>
                <listitem>
                    <para>m x m unitary matrix</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>Z</term>
                <listitem>
                    <para>n x n unitary matrix</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>stair</term>
                <listitem>
                    <para>vector of indexes (see ereduc)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>rk</term>
                <listitem>
                    <para>integer, estimated rank of the matrix</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>AE</term>
                <listitem>
                    <para>m x n matrix with real  entries.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>EE</term>
                <listitem>
                    <para>column echelon form matrix</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>QE</term>
                <listitem>
                    <para>m x m unitary matrix</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>ZE</term>
                <listitem>
                    <para>n x n unitary matrix</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>nblcks</term>
                <listitem>
                    <para>
                        is the number of submatrices having full row rank &gt;= 0  detected in matrix  <literal>A</literal>.
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>muk:  </term>
                <listitem>
                    <para>integer array of dimension (n). Contains the column dimensions mu(k)  (k=1,...,nblcks) of the submatrices having full column  rank in the pencil sE(eps)-A(eps)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>nuk:  </term>
                <listitem>
                    <para>integer array of dimension (m+1). Contains the row dimensions nu(k)  (k=1,...,nblcks) of the submatrices having full row  rank in the pencil sE(eps)-A(eps)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>muk0:  </term>
                <listitem>
                    <para>integer array of dimension (n). Contains the column dimensions mu(k)  (k=1,...,nblcks) of the submatrices having full column  rank in the pencil sE(eps,inf)-A(eps,inf)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>nuk:  </term>
                <listitem>
                    <para>integer array of dimension (m+1). Contains the row dimensions nu(k)  (k=1,...,nblcks) of the submatrices having full row  rank in the pencil sE(eps,inf)-A(eps,inf)</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>mnei:  </term>
                <listitem>
                    <para>integer array of dimension (4). mnei(1) = row dimension of sE(eps)-A(eps)</para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Description</title>
        <para>
            Given a pencil <literal>sE-A</literal> where matrix <literal>E</literal> is in column echelon form the
            function  <literal>fstair</literal> computes according to the wishes of the user a
            unitary transformed pencil <literal>QE(sEE-AE)ZE</literal> which is more or less similar
            to the generalized Schur form of the pencil <literal>sE-A</literal>.
            The function  yields also part of the Kronecker structure of
            the given pencil.
        </para>
        <para>
            <literal>Q,Z</literal> are the unitary matrices used to compute the pencil where E
            is in column echelon form (see ereduc)
        </para>
    </refsection>
    <refsection role="see also">
        <title>See also</title>
        <simplelist type="inline">
            <member>
                <link linkend="quaskro">quaskro</link>
            </member>
            <member>
                <link linkend="ereduc">ereduc</link>
            </member>
        </simplelist>
    </refsection>
</refentry>
