<?xml version="1.0" encoding="ISO-8859-1"?>
<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" version="5.0-subset Scilab" xml:lang="en" xml:id="plq_infconv_lft">
  <info>
    <pubdate>19-May-2010</pubdate>
  </info>

  <refnamediv>
    <refname>plq_infconv_lft</refname>
    <refpurpose>Piecewise linear quadratic (plq), Inf-convolution (via LFT)</refpurpose>
  </refnamediv>

   <refsynopsisdiv>
     <title>Calling Sequence</title>
     <synopsis>plqic = plq_infconv_lft(plqf, plqg)</synopsis>
   </refsynopsisdiv>

   <refsection>
     <title>Parameters</title>
     <variablelist>

       <varlistentry>
         <term>plqf</term>
         <listitem>
           <para>matrix. A PLQ function.</para>
         </listitem>
       </varlistentry>

       <varlistentry>
         <term>plqg</term>
         <listitem>
           <para>matrix. A PLQ function.</para>
         </listitem>
       </varlistentry>

       <varlistentry>
         <term>plqic</term>
         <listitem>
           <para>matrix.  The PLQ function that is the inf-convolution of plqf and plqg.</para>
         </listitem>
       </varlistentry>

     </variablelist>
   </refsection>

   <refsection>
     <title>Description</title>

     <para>
       Computes the infimal convolution (or epi-addition) of two
       convex PLQ functions.  The inf-convolution is defined by the
       formula
       <!--<programlisting><![CDATA[
    (f ic g)(x) = inf [f(y) + g(x-y)].
                   y
]]></programlisting>-->
	   <para>
			<inlinemediaobject>
				<imageobject>
					<imagedata fileref="plq_ImagesOfEquationsByLatex/plq_infconv_lft/plq_infconv_lft_1.png"/>
				</imageobject>
			</inlinemediaobject>
		</para>
       <para>When f and g are convex (and proper, lower-semicontinuous), we
       rewrite the inf-convolution in terms of the Legendre-Frenchel
       conjugate (denoted by *),</para>
       <!--<programlisting><![CDATA[
    (f ic g) = (f* + g*)*.
]]></programlisting>-->
	   <para>
			<inlinemediaobject>
				<imageobject>
					<imagedata fileref="plq_ImagesOfEquationsByLatex/plq_infconv_lft/plq_infconv_lft_2.png"/>
				</imageobject>
			</inlinemediaobject>
		</para>
	   <para>
       This inf-convolution is also a PLQ function.  This algorithm
       runs in O(n + m) time, where n and m are the size of f and g,
       respectively.
	   </para>
     </para>
   </refsection>

   <refsection>
     <title>Examples</title>
     <programlisting role="example"><![CDATA[
plqf = [-1,0,-1,0; 1,0,0,1; %inf,0,1,0];
plqg = [%inf,1,2,1];
plqic = plq_infconv_lft(plqf, plqg),
plq_plotMultiple(-4, 3, plqf, plqg, plqic);
xtitle("PLQ Convex Inf-convolution");
legend(["f", "g", "f ic g"]);
]]></programlisting>
   </refsection>

   <refsection>
     <title>See Also</title>
     <simplelist type="inline">
       <member><link linkend="plq_deconv_lft">plq_deconv_lft</link></member>
       <member><link linkend="plq_function">plq_function</link></member>
   </simplelist></refsection>

   <refsection>
     <title>Authors</title>
     <para>
       <literal>Bryan Gardiner</literal>, University of British Columbia, BC, Canada
     </para>
   </refsection>

</refentry>
