<?xml version="1.0" encoding="UTF-8"?>
<refentry version="5.0-subset Scilab" xml:id="gf_cont_struct_get" xml:lang="en"
          xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          xmlns:svg="http://www.w3.org/2000/svg"
          xmlns:mml="http://www.w3.org/1998/Math/MathML"
          xmlns:html="http://www.w3.org/1999/xhtml"
          xmlns:db="http://docbook.org/ns/docbook">
  <refnamediv>
    <refname>gf_cont_struct_get</refname>
    <refpurpose>  General function for querying information about cont_struct objects and for
  applying them to numerical continuation.
</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <title>Calling Sequence</title>

    <synopsis>h = gf_cont_struct_get(cont_struct CS, 'init step size')</synopsis>
    <synopsis>t = gf_cont_struct_get(cont_struct CS, 'init test function', vec solution, scalar parameter, vec tangent_sol, scalar tangent_par)</synopsis>
    <synopsis>E = gf_cont_struct_get(cont_struct CS, 'init Moore-Penrose continuation', vec solution, scalar parameter, scalar init_dir)</synopsis>
    <synopsis>E = gf_cont_struct_get(cont_struct CS, 'Moore-Penrose continuation', vec solution, scalar parameter, vec tangent_sol, scalar tangent_par, scalar h)</synopsis>
    <synopsis>t = gf_cont_struct_get(cont_struct CS, 'test function')</synopsis>
    <synopsis>{X, gamma, T_X, T_gamma} = gf_cont_struct_get(cont_struct CS, 'sing_data')</synopsis>
    <synopsis>s = gf_cont_struct_get(cont_struct CS, 'char')</synopsis>
    <synopsis>gf_cont_struct_get(cont_struct CS, 'display')</synopsis>
  </refsynopsisdiv>

  <refsection>
    <title>Description</title>
    <para>  General function for querying information about cont_struct objects and for
  applying them to numerical continuation.
</para>
  </refsection>

  <refsection>
    <title>Command list</title>

    <itemizedlist>
    <listitem>
    <para><literal>h = gf_cont_struct_get(cont_struct CS, 'init step size')</literal></para>

    <para>         Return an initial step size for continuation.
    </para>
    </listitem>

    <listitem>
    <para><literal>t = gf_cont_struct_get(cont_struct CS, 'init test function', vec solution, scalar parameter, vec tangent_sol, scalar tangent_par)</literal></para>

    <para>         Initialise the border of the bordered system that serves for
      calculating the test function for bifurcations. Return the value of the
      test function for the point given by <literal>solution</literal> and <literal>parameter</literal> and the
      tangent given by <literal>tangent_sol</literal> and <literal>tangent_par</literal>.
    </para>
    </listitem>

    <listitem>
    <para><literal>E = gf_cont_struct_get(cont_struct CS, 'init Moore-Penrose continuation', vec solution, scalar parameter, scalar init_dir)</literal></para>

    <para>         Initialise the Moore-Penrose continuation: Return a unit tangent to
      the solution curve at the point given by <literal>solution</literal> and <literal>parameter</literal>,
      and an initial step size for the continuation. Orientation of the
      computed tangent with respect to the parameter is determined by the
      sign of <literal>init_dir</literal>.
    </para>
    </listitem>

    <listitem>
    <para><literal>E = gf_cont_struct_get(cont_struct CS, 'Moore-Penrose continuation', vec solution, scalar parameter, vec tangent_sol, scalar tangent_par, scalar h)</literal></para>

    <para>         Compute one step of the Moore-Penrose continuation: Take the point
      given by <literal>solution</literal> and <literal>parameter</literal>, the tangent given by <literal>tangent_sol</literal>
      and <literal>tangent_par</literal>, and the step size <literal>h</literal>. Return a new point on the
      solution curve, the corresponding tangent and a step size for the next
      step. If the returned step size equals zero, the continuation has
      failed. Optionally, return the type of any detected bifurcation point.
      NOTE: The new point need not to be saved in the model in the end!
    </para>
    </listitem>

    <listitem>
    <para><literal>t = gf_cont_struct_get(cont_struct CS, 'test function')</literal></para>

    <para>         Return the last value of the test function and eventaully the whole
      calculated graph when passing between subdomains of different smooth
      pieces.
    </para>
    </listitem>

    <listitem>
    <para><literal>{X, gamma, T_X, T_gamma} = gf_cont_struct_get(cont_struct CS, 'sing_data')</literal></para>

    <para>         Return a singular point (<literal>X</literal>, <literal>gamma</literal>) encountered in the last
      continuation step (if any) and a couple of arrays (<literal>T_X</literal>, <literal>T_gamma</literal>) of
      tangents to all located solution branches, which emanate from there.
    </para>
    </listitem>

    <listitem>
    <para><literal>s = gf_cont_struct_get(cont_struct CS, 'char')</literal></para>

    <para>         Output a (unique) string representation of the cont_struct.

      This can be used for performing comparisons between two
      different cont_struct objects.
      This function is to be completed.
      
    </para>
    </listitem>

    <listitem>
    <para><literal>gf_cont_struct_get(cont_struct CS, 'display')</literal></para>

    <para>         Display a short summary for a cont_struct object.
    </para>
    </listitem>

    </itemizedlist>
  </refsection>

  <refsection>
    <title>See Also</title>
    <simplelist type="inline">
      <member><link linkend="getfem_types">getfem types</link></member>
    </simplelist>
  </refsection>

  <refsection>
    <title>Authors</title>
    <para>Y. Collette</para>
  </refsection>

</refentry>
