\newpage \noindent {\bf \huge linear}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Constructor for the linear class

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt m=linear}\\ 
{\tt m=linear(name,n\_in,n\_out)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt m=linear} 
creates a new linear skeleton
\vspace{4mm}\\ 
\hspace{2mm}
{\tt m=linear(name,n\_in,n\_out)} 
creates a new linear  mapping with {\tt n\_in} inputs
and {\tt n\_out} outputs. The name {\tt name} is associated to it.
\end{description}

\begin{description}
 \item[Methods]\ \\ 
\begin{itemize}
\item {\tt check}   checks the consistency of all the field of a linear object
\item {\tt denormalise}   denormalises the model M
\item {\tt display}   Display an object of class linear

\item {\tt double}   Convert the object to double

\item {\tt eval}   computes the value of the linear for some input
\item {\tt get}   gets the value of the attribute of an object
\item {\tt identify}   Identify the mapping from data

\item {\tt jacob\_inputs}   computes the jacobian of the model
\item {\tt jacob\_params}   computes the jacobian of the model
\item {\tt normalise}   normalises the model M
\item {\tt set}   Set object properties
\end{itemize}
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
mapping

\end{description}
\newpage \noindent {\bf \huge check}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
checks the consistency of all the field of a linear object
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt check(m)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt check(m)} 
check the consistency of a linear object.
\end{description}

\begin{description}
 \item[Remarks]\ \newline \newline 
This function has been provided in order to make the linear class
more robust since it checks a linear object for consistency of
the data defined in its fields. If a inconsistency is found, an 
error message is displayed.

\end{description}
\newpage \noindent {\bf \huge denormalise}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
denormalises the model M
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt m=denormalise(m)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt m=denormalise(m)} 
denormalises the model {\tt m}
\end{description}

\begin{description}
 \item[Remarks]\ \newline \newline 
This function denormalises a linear in order to make fit its limits
to the original values before normalisation.

\end{description}
\newpage \noindent {\bf \huge display}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Display an object of class linear

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt display(m)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt display(m)} 
Display the object m of class linear
%
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 


\end{description}
\newpage \noindent {\bf \huge double}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Convert the object to double

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt out=double(m)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt out=double(m)} 
Do the conversion from a linear object to double
\end{description}
\newpage \noindent {\bf \huge eval}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
computes the value of the linear for some input
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt out=eval(m,regressor,j)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt out=eval(m,regressor,j)} 
returns the value {\tt out} of the output(s) {\tt j} of
linear {\tt m} given the input(s) {\tt x}.
\end{description}
\newpage \noindent {\bf \huge get}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
gets the value of the attribute of an object
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt d = get(m,label,opt)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt d = get(m,label,opt)} 
gets the value of the attribute {\tt label}
associated to the object {\tt m} and return it inside {\tt d}.
The following codes are recognised:
\\  
\begin{tabular}{lp{12cm}}
{\tt linears}: & returns the linear coefficients of the object \\ 
{\tt name}: & returns the name of the object \\ 
{\tt n\_in}: & returns the number of inputs of the linear mapping \\ 
{\tt n\_out}: & returns the number of outputs of the linear mapping \\ 
{\tt userData}: & returns the 'userData' field \\ 
{\tt opt}: & returns the 'opt' field \\ 
{\tt date}: & returns the date of creation of the object \\ 
{\tt limits}: & returns the limits of the linear mapping \\ 
{\tt optimparams}: & returns the indices of the parameters to be optimised \\ 
{\tt numparams}: & returns the number of parameters to be optimised \\ 
\end{tabular} \\ 

\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
set

\end{description}
\newpage \noindent {\bf \huge identify}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Identify the mapping from data

\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt m = identify(m,in,out,options)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt m = identify(m,in,out,options)} 
performs the identification of the model {\tt m} using
data inside {\tt in} and {\tt out}. Use {\tt options} in order
to specify the identification method and options.
\end{description}

\begin{description}
 \item[See also]\ \newline \newline 


\end{description}
\newpage \noindent {\bf \huge jacob\_inputs}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
computes the jacobian of the model
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt jacob\_inputs(m,x)}\\ 
{\tt jacob\_inputs(m,x,j)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt jacob\_inputs(m,x)} 
computes for each output the jacobian of
the model with respect to the x (the input of the
linear) at point {\tt x}.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt jacob\_inputs(m,x,j)} 
computes for output J the jacobian of
the model with respect to the x (the input of the
linear) at point {\tt x}.
\end{description}

\begin{description}
 \item[Remarks]\ \newline \newline 
The result {\tt out} is an array of size number of outputs * number of inputs
containing the derivatives of the outputs with respect to the inputs.

\end{description}
\newpage \noindent {\bf \huge jacob\_params}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
computes the jacobian of the model
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt jacob\_params(m,x)  }\\ 
{\tt jacob\_params(m,x,j)  }\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt jacob\_params(m,x)  } 
computes for each output the jacobian of
the model with respect to the parameters at input {\tt x}.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt jacob\_params(m,x,j)  } 
computes for output(s) {\tt j} the jacobian of
the model with respect to the parameters at input {\tt x}.
\end{description}
\newpage \noindent {\bf \huge normalise}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
normalises the model M
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt m=normalise(m)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt m=normalise(m)} 
normalises the model {\tt m}
\end{description}

\begin{description}
 \item[Remarks]\ \newline \newline 
This function normalizes a linear in order to make fit its limits
to the interval [0,1]

\end{description}
\newpage \noindent {\bf \huge set}\\  \rule[3pt]{\textwidth}{1pt}\\
\begin{description}
 \item[Purpose]\ \newline \newline 
Set object properties
\end{description}

\begin{description}
 \item[Synopsis]\ \newline \newline 
{\tt set(m,'AttrName1',AttrValue1,'AttrName2',AttrValue2,...)}\\ 
{\tt m\_out = set(m,'AttrName1',AttrValue1,'AttrName2',AttrValue2,...)}\\ 
\end{description}

\begin{description}
 \item[Description]\ \newline \newline 
{\tt set(m,'AttrName1',AttrValue1,'AttrName2',AttrValue2,...)} 
sets the value of the attribute {\tt AttrName1}, {\tt AttrName2}, ...
associated to the object {\tt m}.
\vspace{4mm}\\ 
\hspace{2mm}
{\tt m\_out = set(m,'AttrName1',AttrValue1,'AttrName2',AttrValue2,...)} 
sets the value of the attribute {\tt AttrName1}, {\tt AttrName2}, ...
associated to the object {\tt m} and return the modified model inside m\_out. The original
model is not modified.
The following {\tt AttrName} are recognised:
\\  
\begin{tabular}{lp{12cm}}
{\tt name}: & sets the name of the object \\ 
{\tt n\_in}: & sets the number of inputs of the model. This
sets the saturation level of the inputs to 
-Inf, Inf. \\ 
{\tt n\_out}: & sets the number of outputs of the model \\ 
{\tt userData}: & sets the 'userData' field \\ 
{\tt opt}: & sets the 'opt' field \\ 
{\tt date}: & sets the date of creation of the object \\ 
{\tt limits}: & sets the limits of the domain of definition
of the linear. The value must be a {\tt 2*n\_in} matrix where
the upper and lever saturation level are
defined. \\ 
{\tt linears}: & sets the linear parameters L of the mapping. The output
is computed doing y = L.x \\ 
\end{tabular} \\ 

\end{description}

\begin{description}
 \item[See also]\ \newline \newline 
get

\end{description}
