/usr/include/InsightToolkit/Review/VNLSparseLUSolverTraits.h is in libinsighttoolkit3-dev 3.20.1+git20120521-6build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | /*=========================================================================
Program: Insight Segmentation & Registration Toolkit
Module: VNLSparseLUSolverTraits.h
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) Insight Software Consortium. All rights reserved.
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef __VNLSparseLUSolverTraits_h
#define __VNLSparseLUSolverTraits_h
#include <vnl/vnl_vector.h>
#include <vnl/vnl_sparse_matrix.h>
#include <vnl/vnl_sparse_matrix_linear_system.h>
#include <vnl/algo/vnl_sparse_lu.h>
class VNLSparseLUSolverTraits
{
public:
typedef double ValueType;
typedef vnl_sparse_matrix< ValueType > MatrixType;
typedef vnl_vector< ValueType > VectorType;
typedef vnl_sparse_lu SolverType;
VNLSparseLUSolverTraits();
MatrixType InitializeSparseMatrix( const unsigned int& iN )
{
return MatrixType( iN, iN );
}
VectorType InitializeVector( const unsigned int& iN )
{
return VectorType( iN );
}
void FillMatrix( MatrixType& iA, const unsigned int& iR, const unsigned int& iC, const ValueType& iV )
{
iA( iR, iC ) = iV;
}
bool Solve( const MatrixType& iA, const VectorType& iB, VectorType& oX )
{
vnl_sparse_lu lu_solver( iA );
return lu_solver.solve( iB );
}
private:
MatrixType m_Matrix;
};
|