summaryrefslogtreecommitdiffhomepage
path: root/eigen/doc/special_examples
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2019-03-03 21:09:10 +0100
committerStanislaw Halik <sthalik@misaki.pl>2019-03-03 21:10:13 +0100
commitf0238cfb6997c4acfc2bd200de7295f3fa36968f (patch)
treeb215183760e4f615b9c1dabc1f116383b72a1b55 /eigen/doc/special_examples
parent543edd372a5193d04b3de9f23c176ab439e51b31 (diff)
don't index Eigen
Diffstat (limited to 'eigen/doc/special_examples')
-rw-r--r--eigen/doc/special_examples/CMakeLists.txt34
-rw-r--r--eigen/doc/special_examples/Tutorial_sparse_example.cpp38
-rw-r--r--eigen/doc/special_examples/Tutorial_sparse_example_details.cpp44
-rw-r--r--eigen/doc/special_examples/random_cpp11.cpp14
4 files changed, 0 insertions, 130 deletions
diff --git a/eigen/doc/special_examples/CMakeLists.txt b/eigen/doc/special_examples/CMakeLists.txt
deleted file mode 100644
index 66ba4de..0000000
--- a/eigen/doc/special_examples/CMakeLists.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-if(NOT EIGEN_TEST_NOQT)
- find_package(Qt4)
- if(QT4_FOUND)
- include(${QT_USE_FILE})
- endif()
-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 ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/../html/
- COMMAND Tutorial_sparse_example ARGS ${CMAKE_CURRENT_BINARY_DIR}/../html/Tutorial_sparse_example.jpeg
- )
-
- add_dependencies(all_examples Tutorial_sparse_example)
-endif(QT4_FOUND)
-
-if(EIGEN_COMPILER_SUPPORT_CPP11)
- add_executable(random_cpp11 random_cpp11.cpp)
- target_link_libraries(random_cpp11 ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
- add_dependencies(all_examples random_cpp11)
- ei_add_target_property(random_cpp11 COMPILE_FLAGS "-std=c++11")
-
- add_custom_command(
- TARGET random_cpp11
- POST_BUILD
- COMMAND random_cpp11
- ARGS >${CMAKE_CURRENT_BINARY_DIR}/random_cpp11.out
- )
-endif()
diff --git a/eigen/doc/special_examples/Tutorial_sparse_example.cpp b/eigen/doc/special_examples/Tutorial_sparse_example.cpp
deleted file mode 100644
index c5767a8..0000000
--- a/eigen/doc/special_examples/Tutorial_sparse_example.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <Eigen/Sparse>
-#include <vector>
-#include <iostream>
-
-typedef Eigen::SparseMatrix<double> SpMat; // declares a column-major sparse matrix type of double
-typedef Eigen::Triplet<double> T;
-
-void buildProblem(std::vector<T>& coefficients, Eigen::VectorXd& b, int n);
-void saveAsBitmap(const Eigen::VectorXd& x, int n, const char* filename);
-
-int main(int argc, char** argv)
-{
- if(argc!=2) {
- std::cerr << "Error: expected one and only one argument.\n";
- return -1;
- }
-
- int n = 300; // size of the image
- int m = n*n; // number of unknows (=number of pixels)
-
- // Assembly:
- std::vector<T> coefficients; // list of non-zeros coefficients
- Eigen::VectorXd b(m); // the right hand side-vector resulting from the constraints
- buildProblem(coefficients, b, n);
-
- SpMat A(m,m);
- A.setFromTriplets(coefficients.begin(), coefficients.end());
-
- // Solving:
- Eigen::SimplicialCholesky<SpMat> chol(A); // performs a Cholesky factorization of A
- Eigen::VectorXd x = chol.solve(b); // use the factorization to solve for the given right hand side
-
- // Export the result to a file:
- saveAsBitmap(x, n, argv[1]);
-
- return 0;
-}
-
diff --git a/eigen/doc/special_examples/Tutorial_sparse_example_details.cpp b/eigen/doc/special_examples/Tutorial_sparse_example_details.cpp
deleted file mode 100644
index bc18b01..0000000
--- a/eigen/doc/special_examples/Tutorial_sparse_example_details.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <Eigen/Sparse>
-#include <vector>
-#include <QImage>
-
-typedef Eigen::SparseMatrix<double> SpMat; // declares a column-major sparse matrix type of double
-typedef Eigen::Triplet<double> T;
-
-void insertCoefficient(int id, int i, int j, double w, std::vector<T>& coeffs,
- Eigen::VectorXd& b, const Eigen::VectorXd& boundary)
-{
- int n = int(boundary.size());
- int id1 = i+j*n;
-
- 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
-}
-
-void buildProblem(std::vector<T>& coefficients, Eigen::VectorXd& b, int n)
-{
- b.setZero();
- Eigen::ArrayXd boundary = Eigen::ArrayXd::LinSpaced(n, 0,M_PI).sin().pow(2);
- for(int j=0; j<n; ++j)
- {
- for(int i=0; i<n; ++i)
- {
- int id = i+j*n;
- insertCoefficient(id, i-1,j, -1, coefficients, b, boundary);
- insertCoefficient(id, i+1,j, -1, coefficients, b, boundary);
- insertCoefficient(id, i,j-1, -1, coefficients, b, boundary);
- insertCoefficient(id, i,j+1, -1, coefficients, b, boundary);
- insertCoefficient(id, i,j, 4, coefficients, b, boundary);
- }
- }
-}
-
-void saveAsBitmap(const Eigen::VectorXd& x, int n, const char* filename)
-{
- Eigen::Array<unsigned char,Eigen::Dynamic,Eigen::Dynamic> bits = (x*255).cast<unsigned char>();
- QImage img(bits.data(), n,n,QImage::Format_Indexed8);
- img.setColorCount(256);
- for(int i=0;i<256;i++) img.setColor(i,qRgb(i,i,i));
- img.save(filename);
-}
diff --git a/eigen/doc/special_examples/random_cpp11.cpp b/eigen/doc/special_examples/random_cpp11.cpp
deleted file mode 100644
index 33744c0..0000000
--- a/eigen/doc/special_examples/random_cpp11.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <Eigen/Core>
-#include <iostream>
-#include <random>
-
-using namespace Eigen;
-
-int main() {
- std::default_random_engine generator;
- std::poisson_distribution<int> distribution(4.1);
- auto poisson = [&] () {return distribution(generator);};
-
- RowVectorXi v = RowVectorXi::NullaryExpr(10, poisson );
- std::cout << v << "\n";
-}