<?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="ja" xml:id="kroneck">
    <refnamediv>
        <refname>kroneck</refname>
        <refpurpose>行列ペンシルのクロネッカー形式</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>呼び出し手順</title>
        <synopsis>
            [Q, Z, Qd, Zd, numbeps, numbeta] = kroneck(F)
            [Q, Z, Qd, Zd, numbeps, numbeta] = kroneck(E,A)
        </synopsis>
    </refsynopsisdiv>
    <refsection role="parameters">
        <title>引数</title>
        <variablelist>
            <varlistentry>
                <term>F</term>
                <listitem>
                    <para>
                        実数行列ペンシル <literal>F=s*E-A</literal>
                    </para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>E,A</term>
                <listitem>
                    <para>同じ次元の実数行列</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>Q,Z</term>
                <listitem>
                    <para>正方直交行列</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>Qd,Zd</term>
                <listitem>
                    <para>整数ベクトル</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>numbeps,numeta</term>
                <listitem>
                    <para>整数ベクトル</para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection role="description">
        <title>説明</title>
        <para>
            行列ペンシルのクロネッカー形式: <literal>kroneck</literal> は,
            ペンシル<literal>F=s*E -A</literal>を以下のような上三角形式に変換する
            2つの直交行列<literal>Q, Z</literal>を計算します:
        </para>
        <screen><![CDATA[
           | sE(eps)-A(eps) |        X       |      X     |      X        |
           |----------------|----------------|------------|---------------|
           |        O       | sE(inf)-A(inf) |      X     |      X        |
Q(sE-A)Z = |---------------------------------|----------------------------|
           |                |                |            |               |
           |        0       |       0        | sE(f)-A(f) |      X        |
           |--------------------------------------------------------------|
           |                |                |            |               |
           |        0       |       0        |      0     | sE(eta)-A(eta)|
 ]]></screen>
        <para>
            4個のブロックの次元は以下のように指定されます:
        </para>
        <para>
            <literal>eps=Qd(1) x Zd(1)</literal>, <literal>inf=Qd(2) x Zd(2)</literal>,
            <literal>f = Qd(3) x Zd(3)</literal>, <literal>eta=Qd(4)xZd(4)</literal>
        </para>
        <para>
            <literal>inf</literal>ブロックにはペンシルの無限大モードが含まれます.
        </para>
        <para>
            <literal>f</literal> ブロックにはペンシルの有限モードが含まれます.
        </para>
        <para>
            イプシロンとetaブロックの構造は以下のように指定されます:
        </para>
        <para>
            <literal>numbeps(1)</literal> = 大きさ 0 x 1のepsブロックの番号
        </para>
        <para>
            <literal>numbeps(2)</literal> = 大きさ 1 x 2のepsブロックの番号
        </para>
        <para>
            <literal>numbeps(3)</literal> = 大きさ 2 x 3のepsブロックの番号     etc...
        </para>
        <para>
            <literal>numbeta(1)</literal> = 大きさ 1 x 0のetaブロックの番号
        </para>
        <para>
            <literal>numbeta(2)</literal> = 大きさ 2 x 1のetaブロックの番号
        </para>
        <para>
            <literal>numbeta(3)</literal> = 大きさ 3 x 2のetaブロックの番号     etc...
        </para>
        <para>
            このコードはT. Beelen (Slicot-WGS group)によるものです.
        </para>
    </refsection>
    <refsection role="examples">
        <title>例</title>
        <programlisting role="example"><![CDATA[
F = randpencil([1,1,2],[2,3],[-1,3,1],[0,3]);
Q = rand(17,17);
Z = rand(18,18);
F = Q*F*Z;
//random pencil with eps1=1,eps2=1,eps3=1; 2 J-blocks @ infty
//with dimensions 2 and 3
//3 finite eigenvalues at -1,3,1 and eta1=0,eta2=3
[Q, Z, Qd, Zd, numbeps, numbeta] = kroneck(F);
[Qd(1),Zd(1)]    //eps. part is sum(epsi) x (sum(epsi) + number of epsi)
[Qd(2),Zd(2)]    //infinity part
[Qd(3),Zd(3)]    //finite part
[Qd(4),Zd(4)]    //eta part is (sum(etai) + number(eta1)) x sum(etai)
numbeps
numbeta
 ]]></programlisting>
    </refsection>
    <refsection role="see also">
        <title>参照</title>
        <simplelist type="inline">
            <member>
                <link linkend="schur">schur</link>
            </member>
            <member>
                <link linkend="spec">spec</link>
            </member>
            <member>
                <link linkend="systmat">systmat</link>
            </member>
            <member>
                <link linkend="pencan">pencan</link>
            </member>
            <member>
                <link linkend="randpencil">randpencil</link>
            </member>
            <member>
                <link linkend="trzeros">trzeros</link>
            </member>
        </simplelist>
    </refsection>
</refentry>
