<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
<MAN>
  <LANGUAGE>eng</LANGUAGE>
  <TITLE>linfn</TITLE>
  <TYPE>Scilab Function</TYPE>
  <DATE>April 1993</DATE>
  <SHORT_DESCRIPTION name="linfn"> infinity norm</SHORT_DESCRIPTION>
  <CALLING_SEQUENCE>
    <CALLING_SEQUENCE_ITEM>[x,freq]=linfn(G,PREC,RELTOL,options);  </CALLING_SEQUENCE_ITEM>
  </CALLING_SEQUENCE>
  <PARAM>
    <PARAM_INDENT>
      <PARAM_ITEM>
        <PARAM_NAME>G</PARAM_NAME>
        <PARAM_DESCRIPTION>
          <SP>: is a <VERB>syslin</VERB> list</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>
      <PARAM_ITEM>
        <PARAM_NAME>PREC</PARAM_NAME>
        <PARAM_DESCRIPTION>
          <SP>: desired relative accuracy on the norm</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>
      <PARAM_ITEM>
        <PARAM_NAME>RELTOL</PARAM_NAME>
        <PARAM_DESCRIPTION>
          <SP>: relative threshold to decide when an eigenvalue can be  considered on the imaginary axis.</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>
      <PARAM_ITEM>
        <PARAM_NAME>options</PARAM_NAME>
        <PARAM_DESCRIPTION>
          <SP>: available options are <VERB>'trace'</VERB> or <VERB>'cond'</VERB></SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>
      <PARAM_ITEM>
        <PARAM_NAME>x</PARAM_NAME>
        <PARAM_DESCRIPTION>
          <SP>is the computed norm.</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>
      <PARAM_ITEM>
        <PARAM_NAME>freq</PARAM_NAME>
        <PARAM_DESCRIPTION>
          <SP>: vector</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>
    </PARAM_INDENT>
  </PARAM>
  <DESCRIPTION>
    <P>
    Computes the Linf (or Hinf) norm of <VERB>G</VERB>
    This norm is well-defined as soon as the realization
    <VERB>G=(A,B,C,D)</VERB> has no imaginary eigenvalue which is both 
    controllable and observable.</P>
    <P><VERB>freq</VERB> is a list of the frequencies for which <VERB>||G||</VERB> is 
    attained,i.e., such that <VERB>||G (j om)|| = ||G||</VERB>.</P>
    <P>
    If -1 is in the list, the norm is attained at infinity.</P>
    <P>
    If -2 is in the list, <VERB>G</VERB> is all-pass in some direction so that 
    <VERB>||G (j omega)|| = ||G||</VERB> for all frequencies omega.</P>
    <P>
    The algorithm follows the paper by G. Robel 
    (AC-34 pp. 882-884, 1989).
    The case <VERB>D=0</VERB> is not treated separately due to superior 
    accuracy of the general method when <VERB>(A,B,C)</VERB> is nearly 
    non minimal.</P>
    <P>
    The <VERB>'trace'</VERB> option traces each bisection step, i.e., displays 
    the lower and upper bounds and the current test point.</P>
    <P>
    The <VERB>'cond'</VERB> option estimates a confidence index on the computed 
    value and issues a warning if computations are 
    ill-conditioned</P>
    <P>
    In the general case (<VERB>A</VERB> neither stable nor anti-stable), 
    no upper bound is  prespecified.</P>
    <P>
    If by contrast <VERB>A</VERB> is stable or anti stable, lower
    and upper bounds are computed using the associated 
    Lyapunov solutions.</P>
  </DESCRIPTION>
  <SEE_ALSO>
    <SEE_ALSO_ITEM>
      <LINK>h_norm</LINK>
    </SEE_ALSO_ITEM>
  </SEE_ALSO>
  <AUTHOR>P. Gahinet</AUTHOR>
</MAN>
