Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 7faa4cd12598db7d59564e3dc9a0913c > files > 381

vips-7.18.2-1mdv2010.0.i586.rpm

<!-- manual page source format generated by PolyglotMan v3.2, -->
<!-- available at http://polyglotman.sourceforge.net/ -->

<html>
<head>
<title>IM_MATINV(3) manual page</title>
</head>
<body bgcolor='white'>
<a href='#toc'>Table of Contents</a><p>

<h2><a name='sect0' href='#toc0'>Name</a></h2>
im_matinv, im_matmul, im_mattrn - matrix operations on DOUBLEMASKs 
<p>

<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
<b>#include &lt;vips/vips.h&gt;</b> 
<p> <b>DOUBLEMASK *im_matinv( const DOUBLEMASK *in,
const char *name );</b> 
<p> <b>int im_matinv_inplace( DOUBLEMASK *mat );</b> 
<p> <b>DOUBLEMASK
*im_matmul( in1, in2, name )</b> <br>
<b>DOUBLEMASK *in1, *in2;</b> <br>
<b>char *name;</b> 
<p> <b>DOUBLEMASK *im_matcat( in1, in2, name )</b> <br>
<b>DOUBLEMASK *in1, *in2;</b> <br>
<b>char *name;</b> 
<p> <b>DOUBLEMASK *im_mattrn( in, name )</b> <br>
<b>DOUBLEMASK *in;</b> <br>
<b>char *name;</b> 
<p> 
<h2><a name='sect2' href='#toc2'>Description</a></h2>
These functions treat DOUBLEMASKs as matricies,
performing some of the basics of matrix algebra on them. 
<p> There should be
more matrix functions: those implemeneted are just sufficient for the Gallery&rsquo;s
calibration routines. im_matadd, im_matidentity should really be added. 
<p>
None of these functions damage their arguments, except <a href='im_matinv_inplace.3.html'><b>im_matinv_inplace(3)</b></a>
.

<p> <a href='im_matinv.3.html'><b>im_matinv(3)</b></a>
 inverts DOUBLEMASK <i>in</i>, returning a new DOUBLEMASK, called
 <i>name</i>, which contains the inverse of in. If no inverse exists, NULL is returned
and <a href='im_error.3.html'><b>im_error(3)</b></a>
 is called with a diagnostic message. 
<p> <a href='im_matinv_inplace.3.html'><b>im_matinv_inplace(3)</b></a>

is as <a href='im_matinv.3.html'><b>im_matinv(3)</b></a>
 except that it overwrites its input. 
<p> <b>im_matmul()</b> multiples
the matrices held in in1 and in2, returning their product in a matrix called
name. 
<p> <b>im_matcat()</b> returns a new matrix formed by appending matrix in2 to
the end of matrix in1. The two matricies must be the same width. It is useful
for combining several im_measure()s into a single matrix. 
<p> <b>im_mattrn()</b> transposes
matrix in, returning the transpose in new matrix called name. 
<h2><a name='sect3' href='#toc3'>Notes</a></h2>
<b>DO NOT</b>
use matrix inversion to solve systems of linear equations (SLEs).  The 
routines <a href='im_lu_decomp.3.html'><b>im_lu_decomp(3)</b></a>
 and <a href='im_lu_solve.3.html'><b>im_lu_solve(3)</b></a>
 are more efficient, even for
a single SLE. 
<p> 
<h2><a name='sect4' href='#toc4'>Return Value</a></h2>
The functions returns a new DOUBLEMASK on sucess,
and NULL on failure. <p>
<a href='im_matinv_inplace.3.html'><b>im_matinv_inplace(3)</b></a>
 returns zero on success, and -1
on failure. 
<p> 
<h2><a name='sect5' href='#toc5'>See&nbsp;Also</a></h2>
<a href='im_create_dmask.3.html'>im_create_dmask(3)</a>
, <a href='im_measure.3.html'>im_measure(3)</a>
, etc.  <a href='im_lu_decomp.3.html'>im_lu_decomp(3)</a>
,
<a href='im_lu_solve.3.html'>im_lu_solve(3)</a>
 
<p> 
<h2><a name='sect6' href='#toc6'>Copyright</a></h2>
National Gallery, 1992.  Tom Vajzovic, 2006 
<h2><a name='sect7' href='#toc7'>Authors</a></h2>
J.
Cupitt <br>

<p>Tom Vajzovic 
<p> <p>

<hr><p>
<a name='toc'><b>Table of Contents</b></a><p>
<ul>
<li><a name='toc0' href='#sect0'>Name</a></li>
<li><a name='toc1' href='#sect1'>Synopsis</a></li>
<li><a name='toc2' href='#sect2'>Description</a></li>
<li><a name='toc3' href='#sect3'>Notes</a></li>
<li><a name='toc4' href='#sect4'>Return Value</a></li>
<li><a name='toc5' href='#sect5'>SeeAlso</a></li>
<li><a name='toc6' href='#sect6'>Copyright</a></li>
<li><a name='toc7' href='#sect7'>Authors</a></li>
</ul>
</body>
</html>