<?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_gpa">
  <info>
    <pubdate>19-May-2010</pubdate>
  </info>

  <refnamediv>
    <refname>plq_gpa</refname>
    <refpurpose>Piecewise linear quadratic (plq), generalized proximal average</refpurpose>
  </refnamediv>

   <refsynopsisdiv>
     <title>Calling Sequence</title>
     <synopsis>pa = plq_gpa(p0, p1, lambda, r)</synopsis>
   </refsynopsisdiv>

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

       <varlistentry>
         <term>p0, p1</term>
         <listitem>
           <para>matrices. PLQ functions.</para>
         </listitem>
       </varlistentry>

       <varlistentry>
         <term>lambda</term>
         <listitem>
           <para>constant in [0,1].  lambda1 = 1 - lambda.  lambda2 = lambda.</para>
         </listitem>
       </varlistentry>

       <varlistentry>
         <term>r</term>
         <listitem>
           <para>positive constant.  Parameter to the Moreau envelope.</para>
         </listitem>
       </varlistentry>

     </variablelist>
   </refsection>

   <refsection>
     <title>Description</title>

     <para>
       Computes the nonconvex proximal average of two (potentially
       nonconvex) PLQ functions p0 and p1, via the formula
       <!--<programlisting><![CDATA[
    PA[r,lambda1,lambda2](p0, p1) = -M[1/(r+lambda1*lambda2)] ( -lambda1 M[1/r](f) - lambda2 M[1/r](g) ),
]]></programlisting>-->
		<para>
				<inlinemediaobject>
					<imageobject>
						<imagedata fileref="plq_ImagesOfEquationsByLatex/plq_gpa/plq_gpa_1.png"/>
					</imageobject>
				</inlinemediaobject>
		</para>
        <para>where M[k] is the Moreau envelope with smoothing parameter k.</para>
     </para>

     <para>
       This algorithm runs in O(n + m) time, where n and m are the
       number of pieces in p0 and p1, respectively.
     </para>
   </refsection>

   <refsection>
     <title>Examples</title>
     <programlisting role="example"><![CDATA[
p0 = [0,0,0.5,-1; %inf,0,-0.5,-1];
p1 = [%inf,0.25,0,0];
pa = plq_gpa(p0,p1,0.5,1),
scf(); plq_plotMultiple(-5, 5, p0, p1, pa);
legend(["p0", "p1", "pa"]);
]]></programlisting>
   </refsection>

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

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

   <refsection>
     <title>Bibliography</title>
     <itemizedlist>
       <listitem>
         <!-- http://portal.acm.org/citation.cfm?id=1655289 -->
         W. L. Hare, 2009, The Proximal Average of Nonconvex Functions: A Proximal Stability Perspective, SIAM Journal on Optimization, 20(2), pp.650-666.
       </listitem>
     </itemizedlist>
   </refsection>

</refentry>
