<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Scilab ( https://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 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="hat">
    <refnamediv>
        <refname>hat</refname>
        <refpurpose>(^) exponentiation</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>Syntax</title>
        <synopsis>A^b</synopsis>
    </refsynopsisdiv>
    <refsection>
        <title>Description</title>
        <para>
            Exponentiation of matrices or vectors by a constant vector.
        </para>
        <para>
            If <literal>A</literal> is a vector, the exponentiation is done
            element-wise, with the usual meaning.
        </para>
        <para>
            For a square <literal>A</literal> matrix, the exponentiation is done in the matrix sense.
        </para>
        <para>
            For boolean, polynomial and rational matrices, the exponent must be an
            integer.
        </para>
        <refsection>
            <title>Remarks </title>
            <para>
                <literal>123.^b</literal> is interpreted as <literal>(123).^b</literal>. In such
                cases dot is part of the operator, not of the number.
            </para>
            <para>
                For two real or complex numbers <literal>x1</literal> and
                <literal>x2</literal> the value of  <literal>x1^x2</literal> is the "principal value"
                determined by <literal>x1^x2 = exp(x2*log(x1))</literal>.
            </para>
            <para>
                <warning>
                    Exponentiation is right-associative in Scilab contrarily to Matlab® and Octave.
                   For example 2^3^4 is equal to 2^(3^4) in Scilab but is equal to (2^3)^4 in Matlab®
                   and Octave.
                </warning>
            </para>
        </refsection>
    </refsection>
    <refsection>
        <title>Examples</title>
        <programlisting role="example"><![CDATA[
2^4
(-0.5)^(1/3)
[1 2;2 4]^(1+%i)
s=poly(0,"s");
[1 2 s]^4
[s 1;1  s]^(-1)
 ]]></programlisting>
    </refsection>
    <refsection role="see also">
        <title>See also</title>
        <simplelist type="inline">
            <member>
                <link linkend="power">power</link>
            </member>
            <member>
                <link linkend="exp">exp</link>
            </member>
            <member>
                <link linkend="log">log</link>
            </member>
            <member>
                <link linkend="log2">log2</link>
            </member>
            <member>
                <link linkend="inv">inv</link>
            </member>
        </simplelist>
    </refsection>
</refentry>
