<?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:ns4="http://www.w3.org/1999/xhtml"
          xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
          xmlns:scilab="http://www.scilab.org" xml:id="range" xml:lang="pt">
    <refnamediv>
        <refname>range</refname>
        <refpurpose>Imagem (gerado) de A^k</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title> Seqüência de Chamamento</title>
        <synopsis>[X,dim]=range(A,k)</synopsis>
    </refsynopsisdiv>
    <refsection>
        <title>Parâmetros</title>
        <variablelist>
            <varlistentry>
                <term>A</term>
                <listitem>
                    <para>matriz de reais ou complexos que se assume quadrada se k&gt;1
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>k</term>
                <listitem>
                    <para>inteiro</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>X</term>
                <listitem>
                    <para>matriz ortonormal </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>dim</term>
                <listitem>
                    <para>inteiro (dimensão de subespaço)</para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Descrição</title>
        <para>
            Computação da imagem de <literal>A^k</literal> ; as primeiras dim
            linhas de <literal>X</literal> geram a imagem de <literal>A^k</literal>.
            As últimas linhas de <literal>X</literal> geram o complemento ortogonal da
            imagem. <literal>X*X'</literal> é a matriz identidade.
        </para>
    </refsection>
    <refsection>
        <title>Exemplos</title>
        <programlisting role="example"><![CDATA[
A=rand(4,2)*rand(2,4);   // 4 vetores colunas, 2 independentes.
[X,dim]=range(A,1);dim   // computando a imagem

y1=A*rand(4,1);          //um vetor que está na imagem de A
y2=rand(4,1);            //um vetor que não está na imagem de A
norm(X(dim+1:$,:)*y1)    //as últimas entradas são zeros, y1 está na imagem de A
norm(X(dim+1:$,:)*y2)    //as últimas entradas não são zeros

I=X(1:dim,:)'            //I é uma base para a imagem
coeffs=X(1:dim,:)*y1     //componentes de y1 relativos à base I

norm(I*coeffs-y1)        //verificando
 ]]></programlisting>
    </refsection>
    <refsection>
        <title> Ver Também </title>
        <simplelist type="inline">
            <member>
                <link linkend="fullrfk">fullrfk</link>
            </member>
            <member>
                <link linkend="rowcomp">rowcomp</link>
            </member>
        </simplelist>
    </refsection>
    <refsection>
        <title> Função Usada</title>
        <para>
            A função <literal>range</literal> é baseada na função <link linkend="rowcomp">rowcomp</link> que usa decomposição <link linkend="svd">svd</link> (decomposição em valores singulares).
        </para>
    </refsection>
</refentry>
