mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-01-12 14:25:16 +08:00
parent
fa81676d64
commit
76d05e8236
@ -83,7 +83,7 @@ There is no notion of compressed/uncompressed mode for a SparseVector.
|
||||
|
||||
\section TutorialSparseExample First example
|
||||
|
||||
Before describing each individual class, let's start with the following typical example: solving the Lapace equation \f$ \nabla u = 0 \f$ on a regular 2D grid using a finite difference scheme and Dirichlet boundary conditions.
|
||||
Before describing each individual class, let's start with the following typical example: solving the Laplace equation \f$ \nabla u = 0 \f$ on a regular 2D grid using a finite difference scheme and Dirichlet boundary conditions.
|
||||
Such problem can be mathematically expressed as a linear problem of the form \f$ Ax=b \f$ where \f$ x \f$ is the vector of \c m unknowns (in our case, the values of the pixels), \f$ b \f$ is the right hand side vector resulting from the boundary conditions, and \f$ A \f$ is an \f$ m \times m \f$ matrix containing only a few non-zero elements resulting from the discretization of the Laplacian operator.
|
||||
|
||||
<table class="manual">
|
||||
|
@ -10,12 +10,12 @@ endif(NOT EIGEN_TEST_NOQT)
|
||||
if(QT4_FOUND)
|
||||
add_executable(Tutorial_sparse_example Tutorial_sparse_example.cpp Tutorial_sparse_example_details.cpp)
|
||||
target_link_libraries(Tutorial_sparse_example ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})
|
||||
|
||||
|
||||
add_custom_command(
|
||||
TARGET Tutorial_sparse_example
|
||||
POST_BUILD
|
||||
COMMAND Tutorial_sparse_example
|
||||
ARGS ${CMAKE_CURRENT_BINARY_DIR}/../html/Tutorial_sparse_example.jpeg
|
||||
COMMAND Tutorial_sparse_example ARGS ${CMAKE_CURRENT_BINARY_DIR}/../html/Tutorial_sparse_example.jpeg
|
||||
)
|
||||
|
||||
add_dependencies(all_examples Tutorial_sparse_example)
|
||||
endif(QT4_FOUND)
|
||||
|
@ -11,8 +11,8 @@ void insertCoefficient(int id, int i, int j, double w, std::vector<T>& coeffs,
|
||||
int n = boundary.size();
|
||||
int id1 = i+j*n;
|
||||
|
||||
if(i==-1 || i==n) b(id) -= w * boundary(j); // constrained coeffcieint
|
||||
else if(j==-1 || j==n) b(id) -= w * boundary(i); // constrained coeffcieint
|
||||
if(i==-1 || i==n) b(id) -= w * boundary(j); // constrained coefficient
|
||||
else if(j==-1 || j==n) b(id) -= w * boundary(i); // constrained coefficient
|
||||
else coeffs.push_back(T(id,id1,w)); // unknown coefficient
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user