Poster of Linux kernelThe best gift for a Linux geek
IM_LU_DECOMP

IM_LU_DECOMP

Section: C Library Functions (3) Updated: 18 September 2006
Local index Up
 

NAME


 im_lu_decomp, im_lu_solve - Solve SLEs by LU decomposition  

SYNOPSIS

#include <vips/vips.h>

DOUBLEMASK *im_lu_decomp( const DOUBLEMASK *mat, const char *name );

int im_lu_solve( const DOUBLEMASK *lu, double *vec );
 

DESCRIPTION

im_lu_decomp(3) allocates a DOUBLEMASK representing the LU decomposition of the matrix in DOUBLEMASK *mat, and gives it the filename member name.

im_lu_solve(3) solves the system of linear equations (SLE) Ax=b, where matrix A has already been decomposed into LU form in DOUBLEMASK *lu. Input vector b is in *vec and is overwritten with output vector x.

DOUBLEMASK *lu is unaltered by im_matinv(3), and can be used again to solve a different SLE containing matrix A.  

NOTES

The scale and offset members of *mat are ignored. If they are not set to 1.0 and zero respectively, you must first call im_norm_dmask(3).

To understand the decomposition A=LU, see Press et al. (1992). For the exact format used to represent the matrices L and U in *lu, see the acompanying source code.  

ERRORS

If matrix *mat is singular (non-invertible), or close to singular then im_lu_decomp(3) will fail, calling im_error(3).  

RETURN VALUE

im_lu_decomp(3) returns a pointer to the new DOUBLEMASK, or NULL on error.

im_lu_solve(3) always returns zero, unless lu was not returned by im_lu_decomp(3), when it returns -1.  

SEE ALSO

im_create_dmask(3), im_free_dmask(3), im_norm_dmask(3), im_matinv(3)  

REFERENCES

PRESS, W. et al, 1992. Numerical Recipies in C; The Art of Scientific Computing, 2nd ed. Cambridge: Cambridge University Press, pp. 43-50.

[Available online: http://www.library.cornell.edu/nr/bookcpdf.html accessed 2006-09-19]  

COPYRIGHT


Copyright 2006, Tom Vajzovic.  

AUTHOR

Tom Vajzovic


 

Index

NAME
SYNOPSIS
DESCRIPTION
NOTES
ERRORS
RETURN VALUE
SEE ALSO
REFERENCES
COPYRIGHT
AUTHOR

This document was created by man2html, using the manual pages.
Time: 21:48:22 GMT, April 16, 2011