diff options
Diffstat (limited to 'eigen/doc/examples')
76 files changed, 0 insertions, 1602 deletions
diff --git a/eigen/doc/examples/.krazy b/eigen/doc/examples/.krazy deleted file mode 100644 index 00b9940..0000000 --- a/eigen/doc/examples/.krazy +++ /dev/null @@ -1,2 +0,0 @@ -EXCLUDE copyright -EXCLUDE license diff --git a/eigen/doc/examples/CMakeLists.txt b/eigen/doc/examples/CMakeLists.txt deleted file mode 100644 index f7a1905..0000000 --- a/eigen/doc/examples/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -file(GLOB examples_SRCS "*.cpp") - -foreach(example_src ${examples_SRCS}) - get_filename_component(example ${example_src} NAME_WE) - add_executable(${example} ${example_src}) - if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO) - target_link_libraries(${example} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO}) - endif() - add_custom_command( - TARGET ${example} - POST_BUILD - COMMAND ${example} - ARGS >${CMAKE_CURRENT_BINARY_DIR}/${example}.out - ) - add_dependencies(all_examples ${example}) -endforeach(example_src) - -check_cxx_compiler_flag("-std=c++11" EIGEN_COMPILER_SUPPORT_CPP11) -if(EIGEN_COMPILER_SUPPORT_CPP11) -ei_add_target_property(nullary_indexing COMPILE_FLAGS "-std=c++11") -endif()
\ No newline at end of file diff --git a/eigen/doc/examples/CustomizingEigen_Inheritance.cpp b/eigen/doc/examples/CustomizingEigen_Inheritance.cpp deleted file mode 100644 index 48df64e..0000000 --- a/eigen/doc/examples/CustomizingEigen_Inheritance.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include <Eigen/Core> -#include <iostream> - -class MyVectorType : public Eigen::VectorXd -{ -public: - MyVectorType(void):Eigen::VectorXd() {} - - // This constructor allows you to construct MyVectorType from Eigen expressions - template<typename OtherDerived> - MyVectorType(const Eigen::MatrixBase<OtherDerived>& other) - : Eigen::VectorXd(other) - { } - - // This method allows you to assign Eigen expressions to MyVectorType - template<typename OtherDerived> - MyVectorType& operator=(const Eigen::MatrixBase <OtherDerived>& other) - { - this->Eigen::VectorXd::operator=(other); - return *this; - } -}; - -int main() -{ - MyVectorType v = MyVectorType::Ones(4); - v(2) += 10; - v = 2 * v; - std::cout << v.transpose() << std::endl; -} diff --git a/eigen/doc/examples/Cwise_erf.cpp b/eigen/doc/examples/Cwise_erf.cpp deleted file mode 100644 index e7cd2c1..0000000 --- a/eigen/doc/examples/Cwise_erf.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include <Eigen/Core> -#include <unsupported/Eigen/SpecialFunctions> -#include <iostream> -using namespace Eigen; -int main() -{ - Array4d v(-0.5,2,0,-7); - std::cout << v.erf() << std::endl; -} diff --git a/eigen/doc/examples/Cwise_erfc.cpp b/eigen/doc/examples/Cwise_erfc.cpp deleted file mode 100644 index d8bb04c..0000000 --- a/eigen/doc/examples/Cwise_erfc.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include <Eigen/Core> -#include <unsupported/Eigen/SpecialFunctions> -#include <iostream> -using namespace Eigen; -int main() -{ - Array4d v(-0.5,2,0,-7); - std::cout << v.erfc() << std::endl; -} diff --git a/eigen/doc/examples/Cwise_lgamma.cpp b/eigen/doc/examples/Cwise_lgamma.cpp deleted file mode 100644 index 6bfaccb..0000000 --- a/eigen/doc/examples/Cwise_lgamma.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include <Eigen/Core> -#include <unsupported/Eigen/SpecialFunctions> -#include <iostream> -using namespace Eigen; -int main() -{ - Array4d v(0.5,10,0,-1); - std::cout << v.lgamma() << std::endl; -} diff --git a/eigen/doc/examples/DenseBase_middleCols_int.cpp b/eigen/doc/examples/DenseBase_middleCols_int.cpp deleted file mode 100644 index 0ebd955..0000000 --- a/eigen/doc/examples/DenseBase_middleCols_int.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <Eigen/Core> -#include <iostream> - -using namespace Eigen; -using namespace std; - -int main(void) -{ - int const N = 5; - MatrixXi A(N,N); - A.setRandom(); - cout << "A =\n" << A << '\n' << endl; - cout << "A(1..3,:) =\n" << A.middleCols(1,3) << endl; - return 0; -} diff --git a/eigen/doc/examples/DenseBase_middleRows_int.cpp b/eigen/doc/examples/DenseBase_middleRows_int.cpp deleted file mode 100644 index a6fe9e8..0000000 --- a/eigen/doc/examples/DenseBase_middleRows_int.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <Eigen/Core> -#include <iostream> - -using namespace Eigen; -using namespace std; - -int main(void) -{ - int const N = 5; - MatrixXi A(N,N); - A.setRandom(); - cout << "A =\n" << A << '\n' << endl; - cout << "A(2..3,:) =\n" << A.middleRows(2,2) << endl; - return 0; -} diff --git a/eigen/doc/examples/DenseBase_template_int_middleCols.cpp b/eigen/doc/examples/DenseBase_template_int_middleCols.cpp deleted file mode 100644 index 6191d79..0000000 --- a/eigen/doc/examples/DenseBase_template_int_middleCols.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <Eigen/Core> -#include <iostream> - -using namespace Eigen; -using namespace std; - -int main(void) -{ - int const N = 5; - MatrixXi A(N,N); - A.setRandom(); - cout << "A =\n" << A << '\n' << endl; - cout << "A(:,1..3) =\n" << A.middleCols<3>(1) << endl; - return 0; -} diff --git a/eigen/doc/examples/DenseBase_template_int_middleRows.cpp b/eigen/doc/examples/DenseBase_template_int_middleRows.cpp deleted file mode 100644 index 7e8b657..0000000 --- a/eigen/doc/examples/DenseBase_template_int_middleRows.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <Eigen/Core> -#include <iostream> - -using namespace Eigen; -using namespace std; - -int main(void) -{ - int const N = 5; - MatrixXi A(N,N); - A.setRandom(); - cout << "A =\n" << A << '\n' << endl; - cout << "A(1..3,:) =\n" << A.middleRows<3>(1) << endl; - return 0; -} diff --git a/eigen/doc/examples/QuickStart_example.cpp b/eigen/doc/examples/QuickStart_example.cpp deleted file mode 100644 index 7238c0c..0000000 --- a/eigen/doc/examples/QuickStart_example.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using Eigen::MatrixXd; - -int main() -{ - MatrixXd m(2,2); - m(0,0) = 3; - m(1,0) = 2.5; - m(0,1) = -1; - m(1,1) = m(1,0) + m(0,1); - std::cout << m << std::endl; -} diff --git a/eigen/doc/examples/QuickStart_example2_dynamic.cpp b/eigen/doc/examples/QuickStart_example2_dynamic.cpp deleted file mode 100644 index ff6746e..0000000 --- a/eigen/doc/examples/QuickStart_example2_dynamic.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace Eigen; -using namespace std; - -int main() -{ - MatrixXd m = MatrixXd::Random(3,3); - m = (m + MatrixXd::Constant(3,3,1.2)) * 50; - cout << "m =" << endl << m << endl; - VectorXd v(3); - v << 1, 2, 3; - cout << "m * v =" << endl << m * v << endl; -} diff --git a/eigen/doc/examples/QuickStart_example2_fixed.cpp b/eigen/doc/examples/QuickStart_example2_fixed.cpp deleted file mode 100644 index d911752..0000000 --- a/eigen/doc/examples/QuickStart_example2_fixed.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace Eigen; -using namespace std; - -int main() -{ - Matrix3d m = Matrix3d::Random(); - m = (m + Matrix3d::Constant(1.2)) * 50; - cout << "m =" << endl << m << endl; - Vector3d v(1,2,3); - - cout << "m * v =" << endl << m * v << endl; -} diff --git a/eigen/doc/examples/TemplateKeyword_flexible.cpp b/eigen/doc/examples/TemplateKeyword_flexible.cpp deleted file mode 100644 index 9d85292..0000000 --- a/eigen/doc/examples/TemplateKeyword_flexible.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace Eigen; - -template <typename Derived1, typename Derived2> -void copyUpperTriangularPart(MatrixBase<Derived1>& dst, const MatrixBase<Derived2>& src) -{ - /* Note the 'template' keywords in the following line! */ - dst.template triangularView<Upper>() = src.template triangularView<Upper>(); -} - -int main() -{ - MatrixXi m1 = MatrixXi::Ones(5,5); - MatrixXi m2 = MatrixXi::Random(4,4); - std::cout << "m2 before copy:" << std::endl; - std::cout << m2 << std::endl << std::endl; - copyUpperTriangularPart(m2, m1.topLeftCorner(4,4)); - std::cout << "m2 after copy:" << std::endl; - std::cout << m2 << std::endl << std::endl; -} diff --git a/eigen/doc/examples/TemplateKeyword_simple.cpp b/eigen/doc/examples/TemplateKeyword_simple.cpp deleted file mode 100644 index 6998c17..0000000 --- a/eigen/doc/examples/TemplateKeyword_simple.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace Eigen; - -void copyUpperTriangularPart(MatrixXf& dst, const MatrixXf& src) -{ - dst.triangularView<Upper>() = src.triangularView<Upper>(); -} - -int main() -{ - MatrixXf m1 = MatrixXf::Ones(4,4); - MatrixXf m2 = MatrixXf::Random(4,4); - std::cout << "m2 before copy:" << std::endl; - std::cout << m2 << std::endl << std::endl; - copyUpperTriangularPart(m2, m1); - std::cout << "m2 after copy:" << std::endl; - std::cout << m2 << std::endl << std::endl; -} diff --git a/eigen/doc/examples/TutorialInplaceLU.cpp b/eigen/doc/examples/TutorialInplaceLU.cpp deleted file mode 100644 index cb9c59b..0000000 --- a/eigen/doc/examples/TutorialInplaceLU.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include <iostream> -struct init { - init() { std::cout << "[" << "init" << "]" << std::endl; } -}; -init init_obj; -// [init] -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; - -int main() -{ - MatrixXd A(2,2); - A << 2, -1, 1, 3; - cout << "Here is the input matrix A before decomposition:\n" << A << endl; -cout << "[init]" << endl; - -cout << "[declaration]" << endl; - PartialPivLU<Ref<MatrixXd> > lu(A); - cout << "Here is the input matrix A after decomposition:\n" << A << endl; -cout << "[declaration]" << endl; - -cout << "[matrixLU]" << endl; - cout << "Here is the matrix storing the L and U factors:\n" << lu.matrixLU() << endl; -cout << "[matrixLU]" << endl; - -cout << "[solve]" << endl; - MatrixXd A0(2,2); A0 << 2, -1, 1, 3; - VectorXd b(2); b << 1, 2; - VectorXd x = lu.solve(b); - cout << "Residual: " << (A0 * x - b).norm() << endl; -cout << "[solve]" << endl; - -cout << "[modifyA]" << endl; - A << 3, 4, -2, 1; - x = lu.solve(b); - cout << "Residual: " << (A0 * x - b).norm() << endl; -cout << "[modifyA]" << endl; - -cout << "[recompute]" << endl; - A0 = A; // save A - lu.compute(A); - x = lu.solve(b); - cout << "Residual: " << (A0 * x - b).norm() << endl; -cout << "[recompute]" << endl; - -cout << "[recompute_bis0]" << endl; - MatrixXd A1(2,2); - A1 << 5,-2,3,4; - lu.compute(A1); - cout << "Here is the input matrix A1 after decomposition:\n" << A1 << endl; -cout << "[recompute_bis0]" << endl; - -cout << "[recompute_bis1]" << endl; - x = lu.solve(b); - cout << "Residual: " << (A1 * x - b).norm() << endl; -cout << "[recompute_bis1]" << endl; - -} diff --git a/eigen/doc/examples/TutorialLinAlgComputeTwice.cpp b/eigen/doc/examples/TutorialLinAlgComputeTwice.cpp deleted file mode 100644 index 06ba646..0000000 --- a/eigen/doc/examples/TutorialLinAlgComputeTwice.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; - -int main() -{ - Matrix2f A, b; - LLT<Matrix2f> llt; - A << 2, -1, -1, 3; - b << 1, 2, 3, 1; - cout << "Here is the matrix A:\n" << A << endl; - cout << "Here is the right hand side b:\n" << b << endl; - cout << "Computing LLT decomposition..." << endl; - llt.compute(A); - cout << "The solution is:\n" << llt.solve(b) << endl; - A(1,1)++; - cout << "The matrix A is now:\n" << A << endl; - cout << "Computing LLT decomposition..." << endl; - llt.compute(A); - cout << "The solution is now:\n" << llt.solve(b) << endl; -} diff --git a/eigen/doc/examples/TutorialLinAlgExComputeSolveError.cpp b/eigen/doc/examples/TutorialLinAlgExComputeSolveError.cpp deleted file mode 100644 index f362fb7..0000000 --- a/eigen/doc/examples/TutorialLinAlgExComputeSolveError.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; - -int main() -{ - MatrixXd A = MatrixXd::Random(100,100); - MatrixXd b = MatrixXd::Random(100,50); - MatrixXd x = A.fullPivLu().solve(b); - double relative_error = (A*x - b).norm() / b.norm(); // norm() is L2 norm - cout << "The relative error is:\n" << relative_error << endl; -} diff --git a/eigen/doc/examples/TutorialLinAlgExSolveColPivHouseholderQR.cpp b/eigen/doc/examples/TutorialLinAlgExSolveColPivHouseholderQR.cpp deleted file mode 100644 index 3a99a94..0000000 --- a/eigen/doc/examples/TutorialLinAlgExSolveColPivHouseholderQR.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; - -int main() -{ - Matrix3f A; - Vector3f b; - A << 1,2,3, 4,5,6, 7,8,10; - b << 3, 3, 4; - cout << "Here is the matrix A:\n" << A << endl; - cout << "Here is the vector b:\n" << b << endl; - Vector3f x = A.colPivHouseholderQr().solve(b); - cout << "The solution is:\n" << x << endl; -} diff --git a/eigen/doc/examples/TutorialLinAlgExSolveLDLT.cpp b/eigen/doc/examples/TutorialLinAlgExSolveLDLT.cpp deleted file mode 100644 index f8beacd..0000000 --- a/eigen/doc/examples/TutorialLinAlgExSolveLDLT.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; - -int main() -{ - Matrix2f A, b; - A << 2, -1, -1, 3; - b << 1, 2, 3, 1; - cout << "Here is the matrix A:\n" << A << endl; - cout << "Here is the right hand side b:\n" << b << endl; - Matrix2f x = A.ldlt().solve(b); - cout << "The solution is:\n" << x << endl; -} diff --git a/eigen/doc/examples/TutorialLinAlgInverseDeterminant.cpp b/eigen/doc/examples/TutorialLinAlgInverseDeterminant.cpp deleted file mode 100644 index 14dde5b..0000000 --- a/eigen/doc/examples/TutorialLinAlgInverseDeterminant.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; - -int main() -{ - Matrix3f A; - A << 1, 2, 1, - 2, 1, 0, - -1, 1, 2; - cout << "Here is the matrix A:\n" << A << endl; - cout << "The determinant of A is " << A.determinant() << endl; - cout << "The inverse of A is:\n" << A.inverse() << endl; -} diff --git a/eigen/doc/examples/TutorialLinAlgRankRevealing.cpp b/eigen/doc/examples/TutorialLinAlgRankRevealing.cpp deleted file mode 100644 index c516507..0000000 --- a/eigen/doc/examples/TutorialLinAlgRankRevealing.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; - -int main() -{ - Matrix3f A; - A << 1, 2, 5, - 2, 1, 4, - 3, 0, 3; - cout << "Here is the matrix A:\n" << A << endl; - FullPivLU<Matrix3f> lu_decomp(A); - cout << "The rank of A is " << lu_decomp.rank() << endl; - cout << "Here is a matrix whose columns form a basis of the null-space of A:\n" - << lu_decomp.kernel() << endl; - cout << "Here is a matrix whose columns form a basis of the column-space of A:\n" - << lu_decomp.image(A) << endl; // yes, have to pass the original A -} diff --git a/eigen/doc/examples/TutorialLinAlgSVDSolve.cpp b/eigen/doc/examples/TutorialLinAlgSVDSolve.cpp deleted file mode 100644 index f109f04..0000000 --- a/eigen/doc/examples/TutorialLinAlgSVDSolve.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; - -int main() -{ - MatrixXf A = MatrixXf::Random(3, 2); - cout << "Here is the matrix A:\n" << A << endl; - VectorXf b = VectorXf::Random(3); - cout << "Here is the right hand side b:\n" << b << endl; - cout << "The least-squares solution is:\n" - << A.bdcSvd(ComputeThinU | ComputeThinV).solve(b) << endl; -} diff --git a/eigen/doc/examples/TutorialLinAlgSelfAdjointEigenSolver.cpp b/eigen/doc/examples/TutorialLinAlgSelfAdjointEigenSolver.cpp deleted file mode 100644 index 8d1d1ed..0000000 --- a/eigen/doc/examples/TutorialLinAlgSelfAdjointEigenSolver.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; - -int main() -{ - Matrix2f A; - A << 1, 2, 2, 3; - cout << "Here is the matrix A:\n" << A << endl; - SelfAdjointEigenSolver<Matrix2f> eigensolver(A); - if (eigensolver.info() != Success) abort(); - cout << "The eigenvalues of A are:\n" << eigensolver.eigenvalues() << endl; - cout << "Here's a matrix whose columns are eigenvectors of A \n" - << "corresponding to these eigenvalues:\n" - << eigensolver.eigenvectors() << endl; -} diff --git a/eigen/doc/examples/TutorialLinAlgSetThreshold.cpp b/eigen/doc/examples/TutorialLinAlgSetThreshold.cpp deleted file mode 100644 index 3956b13..0000000 --- a/eigen/doc/examples/TutorialLinAlgSetThreshold.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; - -int main() -{ - Matrix2d A; - A << 2, 1, - 2, 0.9999999999; - FullPivLU<Matrix2d> lu(A); - cout << "By default, the rank of A is found to be " << lu.rank() << endl; - lu.setThreshold(1e-5); - cout << "With threshold 1e-5, the rank of A is found to be " << lu.rank() << endl; -} diff --git a/eigen/doc/examples/Tutorial_ArrayClass_accessors.cpp b/eigen/doc/examples/Tutorial_ArrayClass_accessors.cpp deleted file mode 100644 index dc720ff..0000000 --- a/eigen/doc/examples/Tutorial_ArrayClass_accessors.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace Eigen; -using namespace std; - -int main() -{ - ArrayXXf m(2,2); - - // assign some values coefficient by coefficient - m(0,0) = 1.0; m(0,1) = 2.0; - m(1,0) = 3.0; m(1,1) = m(0,1) + m(1,0); - - // print values to standard output - cout << m << endl << endl; - - // using the comma-initializer is also allowed - m << 1.0,2.0, - 3.0,4.0; - - // print values to standard output - cout << m << endl; -} diff --git a/eigen/doc/examples/Tutorial_ArrayClass_addition.cpp b/eigen/doc/examples/Tutorial_ArrayClass_addition.cpp deleted file mode 100644 index 480ffb0..0000000 --- a/eigen/doc/examples/Tutorial_ArrayClass_addition.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace Eigen; -using namespace std; - -int main() -{ - ArrayXXf a(3,3); - ArrayXXf b(3,3); - a << 1,2,3, - 4,5,6, - 7,8,9; - b << 1,2,3, - 1,2,3, - 1,2,3; - - // Adding two arrays - cout << "a + b = " << endl << a + b << endl << endl; - - // Subtracting a scalar from an array - cout << "a - 2 = " << endl << a - 2 << endl; -} diff --git a/eigen/doc/examples/Tutorial_ArrayClass_cwise_other.cpp b/eigen/doc/examples/Tutorial_ArrayClass_cwise_other.cpp deleted file mode 100644 index d9046c6..0000000 --- a/eigen/doc/examples/Tutorial_ArrayClass_cwise_other.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace Eigen; -using namespace std; - -int main() -{ - ArrayXf a = ArrayXf::Random(5); - a *= 2; - cout << "a =" << endl - << a << endl; - cout << "a.abs() =" << endl - << a.abs() << endl; - cout << "a.abs().sqrt() =" << endl - << a.abs().sqrt() << endl; - cout << "a.min(a.abs().sqrt()) =" << endl - << a.min(a.abs().sqrt()) << endl; -} diff --git a/eigen/doc/examples/Tutorial_ArrayClass_interop.cpp b/eigen/doc/examples/Tutorial_ArrayClass_interop.cpp deleted file mode 100644 index 371f070..0000000 --- a/eigen/doc/examples/Tutorial_ArrayClass_interop.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace Eigen; -using namespace std; - -int main() -{ - MatrixXf m(2,2); - MatrixXf n(2,2); - MatrixXf result(2,2); - - m << 1,2, - 3,4; - n << 5,6, - 7,8; - - result = (m.array() + 4).matrix() * m; - cout << "-- Combination 1: --" << endl << result << endl << endl; - result = (m.array() * n.array()).matrix() * m; - cout << "-- Combination 2: --" << endl << result << endl << endl; -} diff --git a/eigen/doc/examples/Tutorial_ArrayClass_interop_matrix.cpp b/eigen/doc/examples/Tutorial_ArrayClass_interop_matrix.cpp deleted file mode 100644 index 1014275..0000000 --- a/eigen/doc/examples/Tutorial_ArrayClass_interop_matrix.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace Eigen; -using namespace std; - -int main() -{ - MatrixXf m(2,2); - MatrixXf n(2,2); - MatrixXf result(2,2); - - m << 1,2, - 3,4; - n << 5,6, - 7,8; - - result = m * n; - cout << "-- Matrix m*n: --" << endl << result << endl << endl; - result = m.array() * n.array(); - cout << "-- Array m*n: --" << endl << result << endl << endl; - result = m.cwiseProduct(n); - cout << "-- With cwiseProduct: --" << endl << result << endl << endl; - result = m.array() + 4; - cout << "-- Array m + 4: --" << endl << result << endl << endl; -} diff --git a/eigen/doc/examples/Tutorial_ArrayClass_mult.cpp b/eigen/doc/examples/Tutorial_ArrayClass_mult.cpp deleted file mode 100644 index 6cb439f..0000000 --- a/eigen/doc/examples/Tutorial_ArrayClass_mult.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace Eigen; -using namespace std; - -int main() -{ - ArrayXXf a(2,2); - ArrayXXf b(2,2); - a << 1,2, - 3,4; - b << 5,6, - 7,8; - cout << "a * b = " << endl << a * b << endl; -} diff --git a/eigen/doc/examples/Tutorial_BlockOperations_block_assignment.cpp b/eigen/doc/examples/Tutorial_BlockOperations_block_assignment.cpp deleted file mode 100644 index 76f49f2..0000000 --- a/eigen/doc/examples/Tutorial_BlockOperations_block_assignment.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace std; -using namespace Eigen; - -int main() -{ - Array22f m; - m << 1,2, - 3,4; - Array44f a = Array44f::Constant(0.6); - cout << "Here is the array a:" << endl << a << endl << endl; - a.block<2,2>(1,1) = m; - cout << "Here is now a with m copied into its central 2x2 block:" << endl << a << endl << endl; - a.block(0,0,2,3) = a.block(2,1,2,3); - cout << "Here is now a with bottom-right 2x3 block copied into top-left 2x2 block:" << endl << a << endl << endl; -} diff --git a/eigen/doc/examples/Tutorial_BlockOperations_colrow.cpp b/eigen/doc/examples/Tutorial_BlockOperations_colrow.cpp deleted file mode 100644 index 2e7eb00..0000000 --- a/eigen/doc/examples/Tutorial_BlockOperations_colrow.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace std; - -int main() -{ - Eigen::MatrixXf m(3,3); - m << 1,2,3, - 4,5,6, - 7,8,9; - cout << "Here is the matrix m:" << endl << m << endl; - cout << "2nd Row: " << m.row(1) << endl; - m.col(2) += 3 * m.col(0); - cout << "After adding 3 times the first column into the third column, the matrix m is:\n"; - cout << m << endl; -} diff --git a/eigen/doc/examples/Tutorial_BlockOperations_corner.cpp b/eigen/doc/examples/Tutorial_BlockOperations_corner.cpp deleted file mode 100644 index 3a31507..0000000 --- a/eigen/doc/examples/Tutorial_BlockOperations_corner.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace std; - -int main() -{ - Eigen::Matrix4f m; - m << 1, 2, 3, 4, - 5, 6, 7, 8, - 9, 10,11,12, - 13,14,15,16; - cout << "m.leftCols(2) =" << endl << m.leftCols(2) << endl << endl; - cout << "m.bottomRows<2>() =" << endl << m.bottomRows<2>() << endl << endl; - m.topLeftCorner(1,3) = m.bottomRightCorner(3,1).transpose(); - cout << "After assignment, m = " << endl << m << endl; -} diff --git a/eigen/doc/examples/Tutorial_BlockOperations_print_block.cpp b/eigen/doc/examples/Tutorial_BlockOperations_print_block.cpp deleted file mode 100644 index edea4ae..0000000 --- a/eigen/doc/examples/Tutorial_BlockOperations_print_block.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace std; - -int main() -{ - Eigen::MatrixXf m(4,4); - m << 1, 2, 3, 4, - 5, 6, 7, 8, - 9,10,11,12, - 13,14,15,16; - cout << "Block in the middle" << endl; - cout << m.block<2,2>(1,1) << endl << endl; - for (int i = 1; i <= 3; ++i) - { - cout << "Block of size " << i << "x" << i << endl; - cout << m.block(0,0,i,i) << endl << endl; - } -} diff --git a/eigen/doc/examples/Tutorial_BlockOperations_vector.cpp b/eigen/doc/examples/Tutorial_BlockOperations_vector.cpp deleted file mode 100644 index 4a0b023..0000000 --- a/eigen/doc/examples/Tutorial_BlockOperations_vector.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace std; - -int main() -{ - Eigen::ArrayXf v(6); - v << 1, 2, 3, 4, 5, 6; - cout << "v.head(3) =" << endl << v.head(3) << endl << endl; - cout << "v.tail<3>() = " << endl << v.tail<3>() << endl << endl; - v.segment(1,4) *= 2; - cout << "after 'v.segment(1,4) *= 2', v =" << endl << v << endl; -} diff --git a/eigen/doc/examples/Tutorial_PartialLU_solve.cpp b/eigen/doc/examples/Tutorial_PartialLU_solve.cpp deleted file mode 100644 index a560879..0000000 --- a/eigen/doc/examples/Tutorial_PartialLU_solve.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <Eigen/Core> -#include <Eigen/LU> -#include <iostream> - -using namespace std; -using namespace Eigen; - -int main() -{ - Matrix3f A; - Vector3f b; - A << 1,2,3, 4,5,6, 7,8,10; - b << 3, 3, 4; - cout << "Here is the matrix A:" << endl << A << endl; - cout << "Here is the vector b:" << endl << b << endl; - Vector3f x = A.lu().solve(b); - cout << "The solution is:" << endl << x << endl; -} diff --git a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_1nn.cpp b/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_1nn.cpp deleted file mode 100644 index 334b4d8..0000000 --- a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_1nn.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; - -int main() -{ - Eigen::MatrixXf m(2,4); - Eigen::VectorXf v(2); - - m << 1, 23, 6, 9, - 3, 11, 7, 2; - - v << 2, - 3; - - MatrixXf::Index index; - // find nearest neighbour - (m.colwise() - v).colwise().squaredNorm().minCoeff(&index); - - cout << "Nearest neighbour is column " << index << ":" << endl; - cout << m.col(index) << endl; -} diff --git a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple.cpp b/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple.cpp deleted file mode 100644 index e6c87c6..0000000 --- a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -int main() -{ - Eigen::MatrixXf mat(2,4); - Eigen::VectorXf v(2); - - mat << 1, 2, 6, 9, - 3, 1, 7, 2; - - v << 0, - 1; - - //add v to each column of m - mat.colwise() += v; - - std::cout << "Broadcasting result: " << std::endl; - std::cout << mat << std::endl; -} diff --git a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple_rowwise.cpp b/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple_rowwise.cpp deleted file mode 100644 index d87c96a..0000000 --- a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple_rowwise.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -int main() -{ - Eigen::MatrixXf mat(2,4); - Eigen::VectorXf v(4); - - mat << 1, 2, 6, 9, - 3, 1, 7, 2; - - v << 0,1,2,3; - - //add v to each row of m - mat.rowwise() += v.transpose(); - - std::cout << "Broadcasting result: " << std::endl; - std::cout << mat << std::endl; -} diff --git a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_colwise.cpp b/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_colwise.cpp deleted file mode 100644 index df68256..0000000 --- a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_colwise.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -int main() -{ - Eigen::MatrixXf mat(2,4); - mat << 1, 2, 6, 9, - 3, 1, 7, 2; - - std::cout << "Column's maximum: " << std::endl - << mat.colwise().maxCoeff() << std::endl; -} diff --git a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_maxnorm.cpp b/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_maxnorm.cpp deleted file mode 100644 index 049c747..0000000 --- a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_maxnorm.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; -int main() -{ - MatrixXf mat(2,4); - mat << 1, 2, 6, 9, - 3, 1, 7, 2; - - MatrixXf::Index maxIndex; - float maxNorm = mat.colwise().sum().maxCoeff(&maxIndex); - - std::cout << "Maximum sum at position " << maxIndex << std::endl; - - std::cout << "The corresponding vector is: " << std::endl; - std::cout << mat.col( maxIndex ) << std::endl; - std::cout << "And its sum is is: " << maxNorm << std::endl; -} diff --git a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_reductions_bool.cpp b/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_reductions_bool.cpp deleted file mode 100644 index 0cca37f..0000000 --- a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_reductions_bool.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace std; -using namespace Eigen; - -int main() -{ - ArrayXXf a(2,2); - - a << 1,2, - 3,4; - - cout << "(a > 0).all() = " << (a > 0).all() << endl; - cout << "(a > 0).any() = " << (a > 0).any() << endl; - cout << "(a > 0).count() = " << (a > 0).count() << endl; - cout << endl; - cout << "(a > 2).all() = " << (a > 2).all() << endl; - cout << "(a > 2).any() = " << (a > 2).any() << endl; - cout << "(a > 2).count() = " << (a > 2).count() << endl; -} diff --git a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_reductions_norm.cpp b/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_reductions_norm.cpp deleted file mode 100644 index 740439f..0000000 --- a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_reductions_norm.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace std; -using namespace Eigen; - -int main() -{ - VectorXf v(2); - MatrixXf m(2,2), n(2,2); - - v << -1, - 2; - - m << 1,-2, - -3,4; - - cout << "v.squaredNorm() = " << v.squaredNorm() << endl; - cout << "v.norm() = " << v.norm() << endl; - cout << "v.lpNorm<1>() = " << v.lpNorm<1>() << endl; - cout << "v.lpNorm<Infinity>() = " << v.lpNorm<Infinity>() << endl; - - cout << endl; - cout << "m.squaredNorm() = " << m.squaredNorm() << endl; - cout << "m.norm() = " << m.norm() << endl; - cout << "m.lpNorm<1>() = " << m.lpNorm<1>() << endl; - cout << "m.lpNorm<Infinity>() = " << m.lpNorm<Infinity>() << endl; -} diff --git a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_reductions_operatornorm.cpp b/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_reductions_operatornorm.cpp deleted file mode 100644 index 62e28fc..0000000 --- a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_reductions_operatornorm.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <Eigen/Dense> -#include <iostream> - -using namespace Eigen; -using namespace std; - -int main() -{ - MatrixXf m(2,2); - m << 1,-2, - -3,4; - - cout << "1-norm(m) = " << m.cwiseAbs().colwise().sum().maxCoeff() - << " == " << m.colwise().lpNorm<1>().maxCoeff() << endl; - - cout << "infty-norm(m) = " << m.cwiseAbs().rowwise().sum().maxCoeff() - << " == " << m.rowwise().lpNorm<1>().maxCoeff() << endl; -} diff --git a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_rowwise.cpp b/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_rowwise.cpp deleted file mode 100644 index 80427c9..0000000 --- a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_rowwise.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -int main() -{ - Eigen::MatrixXf mat(2,4); - mat << 1, 2, 6, 9, - 3, 1, 7, 2; - - std::cout << "Row's maximum: " << std::endl - << mat.rowwise().maxCoeff() << std::endl; -} diff --git a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_visitors.cpp b/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_visitors.cpp deleted file mode 100644 index b54e9aa..0000000 --- a/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_visitors.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -using namespace Eigen; - -int main() -{ - Eigen::MatrixXf m(2,2); - - m << 1, 2, - 3, 4; - - //get location of maximum - MatrixXf::Index maxRow, maxCol; - float max = m.maxCoeff(&maxRow, &maxCol); - - //get location of minimum - MatrixXf::Index minRow, minCol; - float min = m.minCoeff(&minRow, &minCol); - - cout << "Max: " << max << ", at: " << - maxRow << "," << maxCol << endl; - cout << "Min: " << min << ", at: " << - minRow << "," << minCol << endl; -} diff --git a/eigen/doc/examples/Tutorial_simple_example_dynamic_size.cpp b/eigen/doc/examples/Tutorial_simple_example_dynamic_size.cpp deleted file mode 100644 index defcb1e..0000000 --- a/eigen/doc/examples/Tutorial_simple_example_dynamic_size.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <Eigen/Core> -#include <iostream> - -using namespace Eigen; - -int main() -{ - for (int size=1; size<=4; ++size) - { - MatrixXi m(size,size+1); // a (size)x(size+1)-matrix of int's - for (int j=0; j<m.cols(); ++j) // loop over columns - for (int i=0; i<m.rows(); ++i) // loop over rows - m(i,j) = i+j*size; // to access matrix coefficients, - // use operator()(int,int) - std::cout << m << "\n\n"; - } - - VectorXf v(4); // a vector of 4 float's - // to access vector coefficients, use either operator () or operator [] - v[0] = 1; v[1] = 2; v(2) = 3; v(3) = 4; - std::cout << "\nv:\n" << v << std::endl; -} diff --git a/eigen/doc/examples/Tutorial_simple_example_fixed_size.cpp b/eigen/doc/examples/Tutorial_simple_example_fixed_size.cpp deleted file mode 100644 index bc4f95d..0000000 --- a/eigen/doc/examples/Tutorial_simple_example_fixed_size.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <Eigen/Core> -#include <iostream> - -using namespace Eigen; - -int main() -{ - Matrix3f m3; - m3 << 1, 2, 3, 4, 5, 6, 7, 8, 9; - Matrix4f m4 = Matrix4f::Identity(); - Vector4i v4(1, 2, 3, 4); - - std::cout << "m3\n" << m3 << "\nm4:\n" - << m4 << "\nv4:\n" << v4 << std::endl; -} diff --git a/eigen/doc/examples/class_Block.cpp b/eigen/doc/examples/class_Block.cpp deleted file mode 100644 index ace719a..0000000 --- a/eigen/doc/examples/class_Block.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <Eigen/Core> -#include <iostream> -using namespace Eigen; -using namespace std; - -template<typename Derived> -Eigen::Block<Derived> -topLeftCorner(MatrixBase<Derived>& m, int rows, int cols) -{ - return Eigen::Block<Derived>(m.derived(), 0, 0, rows, cols); -} - -template<typename Derived> -const Eigen::Block<const Derived> -topLeftCorner(const MatrixBase<Derived>& m, int rows, int cols) -{ - return Eigen::Block<const Derived>(m.derived(), 0, 0, rows, cols); -} - -int main(int, char**) -{ - Matrix4d m = Matrix4d::Identity(); - cout << topLeftCorner(4*m, 2, 3) << endl; // calls the const version - topLeftCorner(m, 2, 3) *= 5; // calls the non-const version - cout << "Now the matrix m is:" << endl << m << endl; - return 0; -} diff --git a/eigen/doc/examples/class_CwiseBinaryOp.cpp b/eigen/doc/examples/class_CwiseBinaryOp.cpp deleted file mode 100644 index 682af46..0000000 --- a/eigen/doc/examples/class_CwiseBinaryOp.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <Eigen/Core> -#include <iostream> -using namespace Eigen; -using namespace std; - -// define a custom template binary functor -template<typename Scalar> struct MakeComplexOp { - EIGEN_EMPTY_STRUCT_CTOR(MakeComplexOp) - typedef complex<Scalar> result_type; - complex<Scalar> operator()(const Scalar& a, const Scalar& b) const { return complex<Scalar>(a,b); } -}; - -int main(int, char**) -{ - Matrix4d m1 = Matrix4d::Random(), m2 = Matrix4d::Random(); - cout << m1.binaryExpr(m2, MakeComplexOp<double>()) << endl; - return 0; -} diff --git a/eigen/doc/examples/class_CwiseUnaryOp.cpp b/eigen/doc/examples/class_CwiseUnaryOp.cpp deleted file mode 100644 index a5fcc15..0000000 --- a/eigen/doc/examples/class_CwiseUnaryOp.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <Eigen/Core> -#include <iostream> -using namespace Eigen; -using namespace std; - -// define a custom template unary functor -template<typename Scalar> -struct CwiseClampOp { - CwiseClampOp(const Scalar& inf, const Scalar& sup) : m_inf(inf), m_sup(sup) {} - const Scalar operator()(const Scalar& x) const { return x<m_inf ? m_inf : (x>m_sup ? m_sup : x); } - Scalar m_inf, m_sup; -}; - -int main(int, char**) -{ - Matrix4d m1 = Matrix4d::Random(); - cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(CwiseClampOp<double>(-0.5,0.5)) << endl; - return 0; -} diff --git a/eigen/doc/examples/class_CwiseUnaryOp_ptrfun.cpp b/eigen/doc/examples/class_CwiseUnaryOp_ptrfun.cpp deleted file mode 100644 index 36706d8..0000000 --- a/eigen/doc/examples/class_CwiseUnaryOp_ptrfun.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <Eigen/Core> -#include <iostream> -using namespace Eigen; -using namespace std; - -// define function to be applied coefficient-wise -double ramp(double x) -{ - if (x > 0) - return x; - else - return 0; -} - -int main(int, char**) -{ - Matrix4d m1 = Matrix4d::Random(); - cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(ptr_fun(ramp)) << endl; - return 0; -} diff --git a/eigen/doc/examples/class_FixedBlock.cpp b/eigen/doc/examples/class_FixedBlock.cpp deleted file mode 100644 index 9978b32..0000000 --- a/eigen/doc/examples/class_FixedBlock.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <Eigen/Core> -#include <iostream> -using namespace Eigen; -using namespace std; - -template<typename Derived> -Eigen::Block<Derived, 2, 2> -topLeft2x2Corner(MatrixBase<Derived>& m) -{ - return Eigen::Block<Derived, 2, 2>(m.derived(), 0, 0); -} - -template<typename Derived> -const Eigen::Block<const Derived, 2, 2> -topLeft2x2Corner(const MatrixBase<Derived>& m) -{ - return Eigen::Block<const Derived, 2, 2>(m.derived(), 0, 0); -} - -int main(int, char**) -{ - Matrix3d m = Matrix3d::Identity(); - cout << topLeft2x2Corner(4*m) << endl; // calls the const version - topLeft2x2Corner(m) *= 2; // calls the non-const version - cout << "Now the matrix m is:" << endl << m << endl; - return 0; -} diff --git a/eigen/doc/examples/class_FixedVectorBlock.cpp b/eigen/doc/examples/class_FixedVectorBlock.cpp deleted file mode 100644 index c88c9fb..0000000 --- a/eigen/doc/examples/class_FixedVectorBlock.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <Eigen/Core> -#include <iostream> -using namespace Eigen; -using namespace std; - -template<typename Derived> -Eigen::VectorBlock<Derived, 2> -firstTwo(MatrixBase<Derived>& v) -{ - return Eigen::VectorBlock<Derived, 2>(v.derived(), 0); -} - -template<typename Derived> -const Eigen::VectorBlock<const Derived, 2> -firstTwo(const MatrixBase<Derived>& v) -{ - return Eigen::VectorBlock<const Derived, 2>(v.derived(), 0); -} - -int main(int, char**) -{ - Matrix<int,1,6> v; v << 1,2,3,4,5,6; - cout << firstTwo(4*v) << endl; // calls the const version - firstTwo(v) *= 2; // calls the non-const version - cout << "Now the vector v is:" << endl << v << endl; - return 0; -} diff --git a/eigen/doc/examples/class_VectorBlock.cpp b/eigen/doc/examples/class_VectorBlock.cpp deleted file mode 100644 index dc213df..0000000 --- a/eigen/doc/examples/class_VectorBlock.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <Eigen/Core> -#include <iostream> -using namespace Eigen; -using namespace std; - -template<typename Derived> -Eigen::VectorBlock<Derived> -segmentFromRange(MatrixBase<Derived>& v, int start, int end) -{ - return Eigen::VectorBlock<Derived>(v.derived(), start, end-start); -} - -template<typename Derived> -const Eigen::VectorBlock<const Derived> -segmentFromRange(const MatrixBase<Derived>& v, int start, int end) -{ - return Eigen::VectorBlock<const Derived>(v.derived(), start, end-start); -} - -int main(int, char**) -{ - Matrix<int,1,6> v; v << 1,2,3,4,5,6; - cout << segmentFromRange(2*v, 2, 4) << endl; // calls the const version - segmentFromRange(v, 1, 3) *= 5; // calls the non-const version - cout << "Now the vector v is:" << endl << v << endl; - return 0; -} diff --git a/eigen/doc/examples/function_taking_eigenbase.cpp b/eigen/doc/examples/function_taking_eigenbase.cpp deleted file mode 100644 index 49d94b3..0000000 --- a/eigen/doc/examples/function_taking_eigenbase.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <iostream> -#include <Eigen/Core> -using namespace Eigen; - -template <typename Derived> -void print_size(const EigenBase<Derived>& b) -{ - std::cout << "size (rows, cols): " << b.size() << " (" << b.rows() - << ", " << b.cols() << ")" << std::endl; -} - -int main() -{ - Vector3f v; - print_size(v); - // v.asDiagonal() returns a 3x3 diagonal matrix pseudo-expression - print_size(v.asDiagonal()); -} diff --git a/eigen/doc/examples/function_taking_ref.cpp b/eigen/doc/examples/function_taking_ref.cpp deleted file mode 100644 index 162a202..0000000 --- a/eigen/doc/examples/function_taking_ref.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <iostream> -#include <Eigen/SVD> -using namespace Eigen; -using namespace std; - -float inv_cond(const Ref<const MatrixXf>& a) -{ - const VectorXf sing_vals = a.jacobiSvd().singularValues(); - return sing_vals(sing_vals.size()-1) / sing_vals(0); -} - -int main() -{ - Matrix4f m = Matrix4f::Random(); - cout << "matrix m:" << endl << m << endl << endl; - cout << "inv_cond(m): " << inv_cond(m) << endl; - cout << "inv_cond(m(1:3,1:3)): " << inv_cond(m.topLeftCorner(3,3)) << endl; - cout << "inv_cond(m+I): " << inv_cond(m+Matrix4f::Identity()) << endl; -} diff --git a/eigen/doc/examples/make_circulant.cpp b/eigen/doc/examples/make_circulant.cpp deleted file mode 100644 index 92e6aaa..0000000 --- a/eigen/doc/examples/make_circulant.cpp +++ /dev/null @@ -1,11 +0,0 @@ -/* -This program is presented in several fragments in the doc page. -Every fragment is in its own file; this file simply combines them. -*/ - -#include "make_circulant.cpp.preamble" -#include "make_circulant.cpp.traits" -#include "make_circulant.cpp.expression" -#include "make_circulant.cpp.evaluator" -#include "make_circulant.cpp.entry" -#include "make_circulant.cpp.main" diff --git a/eigen/doc/examples/make_circulant.cpp.entry b/eigen/doc/examples/make_circulant.cpp.entry deleted file mode 100644 index f9d2eb8..0000000 --- a/eigen/doc/examples/make_circulant.cpp.entry +++ /dev/null @@ -1,5 +0,0 @@ -template <class ArgType> -Circulant<ArgType> makeCirculant(const Eigen::MatrixBase<ArgType>& arg) -{ - return Circulant<ArgType>(arg.derived()); -} diff --git a/eigen/doc/examples/make_circulant.cpp.evaluator b/eigen/doc/examples/make_circulant.cpp.evaluator deleted file mode 100644 index 2ba79e7..0000000 --- a/eigen/doc/examples/make_circulant.cpp.evaluator +++ /dev/null @@ -1,32 +0,0 @@ -namespace Eigen { - namespace internal { - template<typename ArgType> - struct evaluator<Circulant<ArgType> > - : evaluator_base<Circulant<ArgType> > - { - typedef Circulant<ArgType> XprType; - typedef typename nested_eval<ArgType, XprType::ColsAtCompileTime>::type ArgTypeNested; - typedef typename remove_all<ArgTypeNested>::type ArgTypeNestedCleaned; - typedef typename XprType::CoeffReturnType CoeffReturnType; - - enum { - CoeffReadCost = evaluator<ArgTypeNestedCleaned>::CoeffReadCost, - Flags = Eigen::ColMajor - }; - - evaluator(const XprType& xpr) - : m_argImpl(xpr.m_arg), m_rows(xpr.rows()) - { } - - CoeffReturnType coeff(Index row, Index col) const - { - Index index = row - col; - if (index < 0) index += m_rows; - return m_argImpl.coeff(index); - } - - evaluator<ArgTypeNestedCleaned> m_argImpl; - const Index m_rows; - }; - } -} diff --git a/eigen/doc/examples/make_circulant.cpp.expression b/eigen/doc/examples/make_circulant.cpp.expression deleted file mode 100644 index 380cd44..0000000 --- a/eigen/doc/examples/make_circulant.cpp.expression +++ /dev/null @@ -1,20 +0,0 @@ -template <class ArgType> -class Circulant : public Eigen::MatrixBase<Circulant<ArgType> > -{ -public: - Circulant(const ArgType& arg) - : m_arg(arg) - { - EIGEN_STATIC_ASSERT(ArgType::ColsAtCompileTime == 1, - YOU_TRIED_CALLING_A_VECTOR_METHOD_ON_A_MATRIX); - } - - typedef typename Eigen::internal::ref_selector<Circulant>::type Nested; - - typedef Eigen::Index Index; - Index rows() const { return m_arg.rows(); } - Index cols() const { return m_arg.rows(); } - - typedef typename Eigen::internal::ref_selector<ArgType>::type ArgTypeNested; - ArgTypeNested m_arg; -}; diff --git a/eigen/doc/examples/make_circulant.cpp.main b/eigen/doc/examples/make_circulant.cpp.main deleted file mode 100644 index 877f97f..0000000 --- a/eigen/doc/examples/make_circulant.cpp.main +++ /dev/null @@ -1,8 +0,0 @@ -int main() -{ - Eigen::VectorXd vec(4); - vec << 1, 2, 4, 8; - Eigen::MatrixXd mat; - mat = makeCirculant(vec); - std::cout << mat << std::endl; -} diff --git a/eigen/doc/examples/make_circulant.cpp.preamble b/eigen/doc/examples/make_circulant.cpp.preamble deleted file mode 100644 index e575cce..0000000 --- a/eigen/doc/examples/make_circulant.cpp.preamble +++ /dev/null @@ -1,4 +0,0 @@ -#include <Eigen/Core> -#include <iostream> - -template <class ArgType> class Circulant; diff --git a/eigen/doc/examples/make_circulant.cpp.traits b/eigen/doc/examples/make_circulant.cpp.traits deleted file mode 100644 index 4e04535..0000000 --- a/eigen/doc/examples/make_circulant.cpp.traits +++ /dev/null @@ -1,19 +0,0 @@ -namespace Eigen { - namespace internal { - template <class ArgType> - struct traits<Circulant<ArgType> > - { - typedef Eigen::Dense StorageKind; - typedef Eigen::MatrixXpr XprKind; - typedef typename ArgType::StorageIndex StorageIndex; - typedef typename ArgType::Scalar Scalar; - enum { - Flags = Eigen::ColMajor, - RowsAtCompileTime = ArgType::RowsAtCompileTime, - ColsAtCompileTime = ArgType::RowsAtCompileTime, - MaxRowsAtCompileTime = ArgType::MaxRowsAtCompileTime, - MaxColsAtCompileTime = ArgType::MaxRowsAtCompileTime - }; - }; - } -} diff --git a/eigen/doc/examples/make_circulant2.cpp b/eigen/doc/examples/make_circulant2.cpp deleted file mode 100644 index 95d3dd3..0000000 --- a/eigen/doc/examples/make_circulant2.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include <Eigen/Core> -#include <iostream> - -using namespace Eigen; - -// [circulant_func] -template<class ArgType> -class circulant_functor { - const ArgType &m_vec; -public: - circulant_functor(const ArgType& arg) : m_vec(arg) {} - - const typename ArgType::Scalar& operator() (Index row, Index col) const { - Index index = row - col; - if (index < 0) index += m_vec.size(); - return m_vec(index); - } -}; -// [circulant_func] - -// [square] -template<class ArgType> -struct circulant_helper { - typedef Matrix<typename ArgType::Scalar, - ArgType::SizeAtCompileTime, - ArgType::SizeAtCompileTime, - ColMajor, - ArgType::MaxSizeAtCompileTime, - ArgType::MaxSizeAtCompileTime> MatrixType; -}; -// [square] - -// [makeCirculant] -template <class ArgType> -CwiseNullaryOp<circulant_functor<ArgType>, typename circulant_helper<ArgType>::MatrixType> -makeCirculant(const Eigen::MatrixBase<ArgType>& arg) -{ - typedef typename circulant_helper<ArgType>::MatrixType MatrixType; - return MatrixType::NullaryExpr(arg.size(), arg.size(), circulant_functor<ArgType>(arg.derived())); -} -// [makeCirculant] - -// [main] -int main() -{ - Eigen::VectorXd vec(4); - vec << 1, 2, 4, 8; - Eigen::MatrixXd mat; - mat = makeCirculant(vec); - std::cout << mat << std::endl; -} -// [main] diff --git a/eigen/doc/examples/matrixfree_cg.cpp b/eigen/doc/examples/matrixfree_cg.cpp deleted file mode 100644 index 7469938..0000000 --- a/eigen/doc/examples/matrixfree_cg.cpp +++ /dev/null @@ -1,129 +0,0 @@ -#include <iostream> -#include <Eigen/Core> -#include <Eigen/Dense> -#include <Eigen/IterativeLinearSolvers> -#include <unsupported/Eigen/IterativeSolvers> - -class MatrixReplacement; -using Eigen::SparseMatrix; - -namespace Eigen { -namespace internal { - // MatrixReplacement looks-like a SparseMatrix, so let's inherits its traits: - template<> - struct traits<MatrixReplacement> : public Eigen::internal::traits<Eigen::SparseMatrix<double> > - {}; -} -} - -// Example of a matrix-free wrapper from a user type to Eigen's compatible type -// For the sake of simplicity, this example simply wrap a Eigen::SparseMatrix. -class MatrixReplacement : public Eigen::EigenBase<MatrixReplacement> { -public: - // Required typedefs, constants, and method: - typedef double Scalar; - typedef double RealScalar; - typedef int StorageIndex; - enum { - ColsAtCompileTime = Eigen::Dynamic, - MaxColsAtCompileTime = Eigen::Dynamic, - IsRowMajor = false - }; - - Index rows() const { return mp_mat->rows(); } - Index cols() const { return mp_mat->cols(); } - - template<typename Rhs> - Eigen::Product<MatrixReplacement,Rhs,Eigen::AliasFreeProduct> operator*(const Eigen::MatrixBase<Rhs>& x) const { - return Eigen::Product<MatrixReplacement,Rhs,Eigen::AliasFreeProduct>(*this, x.derived()); - } - - // Custom API: - MatrixReplacement() : mp_mat(0) {} - - void attachMyMatrix(const SparseMatrix<double> &mat) { - mp_mat = &mat; - } - const SparseMatrix<double> my_matrix() const { return *mp_mat; } - -private: - const SparseMatrix<double> *mp_mat; -}; - - -// Implementation of MatrixReplacement * Eigen::DenseVector though a specialization of internal::generic_product_impl: -namespace Eigen { -namespace internal { - - template<typename Rhs> - struct generic_product_impl<MatrixReplacement, Rhs, SparseShape, DenseShape, GemvProduct> // GEMV stands for matrix-vector - : generic_product_impl_base<MatrixReplacement,Rhs,generic_product_impl<MatrixReplacement,Rhs> > - { - typedef typename Product<MatrixReplacement,Rhs>::Scalar Scalar; - - template<typename Dest> - static void scaleAndAddTo(Dest& dst, const MatrixReplacement& lhs, const Rhs& rhs, const Scalar& alpha) - { - // This method should implement "dst += alpha * lhs * rhs" inplace, - // however, for iterative solvers, alpha is always equal to 1, so let's not bother about it. - assert(alpha==Scalar(1) && "scaling is not implemented"); - EIGEN_ONLY_USED_FOR_DEBUG(alpha); - - // Here we could simply call dst.noalias() += lhs.my_matrix() * rhs, - // but let's do something fancier (and less efficient): - for(Index i=0; i<lhs.cols(); ++i) - dst += rhs(i) * lhs.my_matrix().col(i); - } - }; - -} -} - -int main() -{ - int n = 10; - Eigen::SparseMatrix<double> S = Eigen::MatrixXd::Random(n,n).sparseView(0.5,1); - S = S.transpose()*S; - - MatrixReplacement A; - A.attachMyMatrix(S); - - Eigen::VectorXd b(n), x; - b.setRandom(); - - // Solve Ax = b using various iterative solver with matrix-free version: - { - Eigen::ConjugateGradient<MatrixReplacement, Eigen::Lower|Eigen::Upper, Eigen::IdentityPreconditioner> cg; - cg.compute(A); - x = cg.solve(b); - std::cout << "CG: #iterations: " << cg.iterations() << ", estimated error: " << cg.error() << std::endl; - } - - { - Eigen::BiCGSTAB<MatrixReplacement, Eigen::IdentityPreconditioner> bicg; - bicg.compute(A); - x = bicg.solve(b); - std::cout << "BiCGSTAB: #iterations: " << bicg.iterations() << ", estimated error: " << bicg.error() << std::endl; - } - - { - Eigen::GMRES<MatrixReplacement, Eigen::IdentityPreconditioner> gmres; - gmres.compute(A); - x = gmres.solve(b); - std::cout << "GMRES: #iterations: " << gmres.iterations() << ", estimated error: " << gmres.error() << std::endl; - } - - { - Eigen::DGMRES<MatrixReplacement, Eigen::IdentityPreconditioner> gmres; - gmres.compute(A); - x = gmres.solve(b); - std::cout << "DGMRES: #iterations: " << gmres.iterations() << ", estimated error: " << gmres.error() << std::endl; - } - - { - Eigen::MINRES<MatrixReplacement, Eigen::Lower|Eigen::Upper, Eigen::IdentityPreconditioner> minres; - minres.compute(A); - x = minres.solve(b); - std::cout << "MINRES: #iterations: " << minres.iterations() << ", estimated error: " << minres.error() << std::endl; - } -} diff --git a/eigen/doc/examples/nullary_indexing.cpp b/eigen/doc/examples/nullary_indexing.cpp deleted file mode 100644 index e27c358..0000000 --- a/eigen/doc/examples/nullary_indexing.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include <Eigen/Core> -#include <iostream> - -using namespace Eigen; - -// [functor] -template<class ArgType, class RowIndexType, class ColIndexType> -class indexing_functor { - const ArgType &m_arg; - const RowIndexType &m_rowIndices; - const ColIndexType &m_colIndices; -public: - typedef Matrix<typename ArgType::Scalar, - RowIndexType::SizeAtCompileTime, - ColIndexType::SizeAtCompileTime, - ArgType::Flags&RowMajorBit?RowMajor:ColMajor, - RowIndexType::MaxSizeAtCompileTime, - ColIndexType::MaxSizeAtCompileTime> MatrixType; - - indexing_functor(const ArgType& arg, const RowIndexType& row_indices, const ColIndexType& col_indices) - : m_arg(arg), m_rowIndices(row_indices), m_colIndices(col_indices) - {} - - const typename ArgType::Scalar& operator() (Index row, Index col) const { - return m_arg(m_rowIndices[row], m_colIndices[col]); - } -}; -// [functor] - -// [function] -template <class ArgType, class RowIndexType, class ColIndexType> -CwiseNullaryOp<indexing_functor<ArgType,RowIndexType,ColIndexType>, typename indexing_functor<ArgType,RowIndexType,ColIndexType>::MatrixType> -indexing(const Eigen::MatrixBase<ArgType>& arg, const RowIndexType& row_indices, const ColIndexType& col_indices) -{ - typedef indexing_functor<ArgType,RowIndexType,ColIndexType> Func; - typedef typename Func::MatrixType MatrixType; - return MatrixType::NullaryExpr(row_indices.size(), col_indices.size(), Func(arg.derived(), row_indices, col_indices)); -} -// [function] - - -int main() -{ - std::cout << "[main1]\n"; - Eigen::MatrixXi A = Eigen::MatrixXi::Random(4,4); - Array3i ri(1,2,1); - ArrayXi ci(6); ci << 3,2,1,0,0,2; - Eigen::MatrixXi B = indexing(A, ri, ci); - std::cout << "A =" << std::endl; - std::cout << A << std::endl << std::endl; - std::cout << "A([" << ri.transpose() << "], [" << ci.transpose() << "]) =" << std::endl; - std::cout << B << std::endl; - std::cout << "[main1]\n"; - - std::cout << "[main2]\n"; - B = indexing(A, ri+1, ci); - std::cout << "A(ri+1,ci) =" << std::endl; - std::cout << B << std::endl << std::endl; -#if __cplusplus >= 201103L - B = indexing(A, ArrayXi::LinSpaced(13,0,12).unaryExpr([](int x){return x%4;}), ArrayXi::LinSpaced(4,0,3)); - std::cout << "A(ArrayXi::LinSpaced(13,0,12).unaryExpr([](int x){return x%4;}), ArrayXi::LinSpaced(4,0,3)) =" << std::endl; - std::cout << B << std::endl << std::endl; -#endif - std::cout << "[main2]\n"; -} - diff --git a/eigen/doc/examples/tut_arithmetic_add_sub.cpp b/eigen/doc/examples/tut_arithmetic_add_sub.cpp deleted file mode 100644 index e97477b..0000000 --- a/eigen/doc/examples/tut_arithmetic_add_sub.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace Eigen; - -int main() -{ - Matrix2d a; - a << 1, 2, - 3, 4; - MatrixXd b(2,2); - b << 2, 3, - 1, 4; - std::cout << "a + b =\n" << a + b << std::endl; - std::cout << "a - b =\n" << a - b << std::endl; - std::cout << "Doing a += b;" << std::endl; - a += b; - std::cout << "Now a =\n" << a << std::endl; - Vector3d v(1,2,3); - Vector3d w(1,0,0); - std::cout << "-v + w - v =\n" << -v + w - v << std::endl; -} diff --git a/eigen/doc/examples/tut_arithmetic_dot_cross.cpp b/eigen/doc/examples/tut_arithmetic_dot_cross.cpp deleted file mode 100644 index 631c9a5..0000000 --- a/eigen/doc/examples/tut_arithmetic_dot_cross.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace Eigen; -using namespace std; -int main() -{ - Vector3d v(1,2,3); - Vector3d w(0,1,2); - - cout << "Dot product: " << v.dot(w) << endl; - double dp = v.adjoint()*w; // automatic conversion of the inner product to a scalar - cout << "Dot product via a matrix product: " << dp << endl; - cout << "Cross product:\n" << v.cross(w) << endl; -} diff --git a/eigen/doc/examples/tut_arithmetic_matrix_mul.cpp b/eigen/doc/examples/tut_arithmetic_matrix_mul.cpp deleted file mode 100644 index f213902..0000000 --- a/eigen/doc/examples/tut_arithmetic_matrix_mul.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace Eigen; -int main() -{ - Matrix2d mat; - mat << 1, 2, - 3, 4; - Vector2d u(-1,1), v(2,0); - std::cout << "Here is mat*mat:\n" << mat*mat << std::endl; - std::cout << "Here is mat*u:\n" << mat*u << std::endl; - std::cout << "Here is u^T*mat:\n" << u.transpose()*mat << std::endl; - std::cout << "Here is u^T*v:\n" << u.transpose()*v << std::endl; - std::cout << "Here is u*v^T:\n" << u*v.transpose() << std::endl; - std::cout << "Let's multiply mat by itself" << std::endl; - mat = mat*mat; - std::cout << "Now mat is mat:\n" << mat << std::endl; -} diff --git a/eigen/doc/examples/tut_arithmetic_redux_basic.cpp b/eigen/doc/examples/tut_arithmetic_redux_basic.cpp deleted file mode 100644 index 5632fb5..0000000 --- a/eigen/doc/examples/tut_arithmetic_redux_basic.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace std; -int main() -{ - Eigen::Matrix2d mat; - mat << 1, 2, - 3, 4; - cout << "Here is mat.sum(): " << mat.sum() << endl; - cout << "Here is mat.prod(): " << mat.prod() << endl; - cout << "Here is mat.mean(): " << mat.mean() << endl; - cout << "Here is mat.minCoeff(): " << mat.minCoeff() << endl; - cout << "Here is mat.maxCoeff(): " << mat.maxCoeff() << endl; - cout << "Here is mat.trace(): " << mat.trace() << endl; -} diff --git a/eigen/doc/examples/tut_arithmetic_scalar_mul_div.cpp b/eigen/doc/examples/tut_arithmetic_scalar_mul_div.cpp deleted file mode 100644 index d5f65b5..0000000 --- a/eigen/doc/examples/tut_arithmetic_scalar_mul_div.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace Eigen; - -int main() -{ - Matrix2d a; - a << 1, 2, - 3, 4; - Vector3d v(1,2,3); - std::cout << "a * 2.5 =\n" << a * 2.5 << std::endl; - std::cout << "0.1 * v =\n" << 0.1 * v << std::endl; - std::cout << "Doing v *= 2;" << std::endl; - v *= 2; - std::cout << "Now v =\n" << v << std::endl; -} diff --git a/eigen/doc/examples/tut_matrix_coefficient_accessors.cpp b/eigen/doc/examples/tut_matrix_coefficient_accessors.cpp deleted file mode 100644 index c2da171..0000000 --- a/eigen/doc/examples/tut_matrix_coefficient_accessors.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace Eigen; - -int main() -{ - MatrixXd m(2,2); - m(0,0) = 3; - m(1,0) = 2.5; - m(0,1) = -1; - m(1,1) = m(1,0) + m(0,1); - std::cout << "Here is the matrix m:\n" << m << std::endl; - VectorXd v(2); - v(0) = 4; - v(1) = v(0) - 1; - std::cout << "Here is the vector v:\n" << v << std::endl; -} diff --git a/eigen/doc/examples/tut_matrix_resize.cpp b/eigen/doc/examples/tut_matrix_resize.cpp deleted file mode 100644 index 0392c3a..0000000 --- a/eigen/doc/examples/tut_matrix_resize.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace Eigen; - -int main() -{ - MatrixXd m(2,5); - m.resize(4,3); - std::cout << "The matrix m is of size " - << m.rows() << "x" << m.cols() << std::endl; - std::cout << "It has " << m.size() << " coefficients" << std::endl; - VectorXd v(2); - v.resize(5); - std::cout << "The vector v is of size " << v.size() << std::endl; - std::cout << "As a matrix, v is of size " - << v.rows() << "x" << v.cols() << std::endl; -} diff --git a/eigen/doc/examples/tut_matrix_resize_fixed_size.cpp b/eigen/doc/examples/tut_matrix_resize_fixed_size.cpp deleted file mode 100644 index dcbdfa7..0000000 --- a/eigen/doc/examples/tut_matrix_resize_fixed_size.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include <iostream> -#include <Eigen/Dense> - -using namespace Eigen; - -int main() -{ - Matrix4d m; - m.resize(4,4); // no operation - std::cout << "The matrix m is of size " - << m.rows() << "x" << m.cols() << std::endl; -} |