ADD: added other eigen lib
This commit is contained in:
@@ -6,31 +6,26 @@ foreach(snippet_src ${snippets_SRCS})
|
||||
get_filename_component(snippet ${snippet_src} NAME_WE)
|
||||
set(compile_snippet_target compile_${snippet})
|
||||
set(compile_snippet_src ${compile_snippet_target}.cpp)
|
||||
if((NOT ${snippet_src} MATCHES "cxx11") OR EIGEN_COMPILER_SUPPORT_CPP11)
|
||||
file(READ ${snippet_src} snippet_source_code)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/compile_snippet.cpp.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
||||
add_executable(${compile_snippet_target}
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
||||
if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO)
|
||||
target_link_libraries(${compile_snippet_target} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
|
||||
endif()
|
||||
if(${snippet_src} MATCHES "cxx11")
|
||||
set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-std=c++11")
|
||||
endif()
|
||||
if(${snippet_src} MATCHES "deprecated")
|
||||
set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-DEIGEN_NO_DEPRECATED_WARNING")
|
||||
endif()
|
||||
add_custom_command(
|
||||
TARGET ${compile_snippet_target}
|
||||
POST_BUILD
|
||||
COMMAND ${compile_snippet_target}
|
||||
ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
|
||||
)
|
||||
add_dependencies(all_snippets ${compile_snippet_target})
|
||||
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
|
||||
PROPERTIES OBJECT_DEPENDS ${snippet_src})
|
||||
else()
|
||||
message("skip snippet ${snippet_src} because compiler does not support C++11")
|
||||
|
||||
file(READ ${snippet_src} snippet_source_code)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/compile_snippet.cpp.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
||||
add_executable(${compile_snippet_target}
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
||||
if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO)
|
||||
target_link_libraries(${compile_snippet_target} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
|
||||
endif()
|
||||
|
||||
if(${snippet_src} MATCHES "deprecated")
|
||||
set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-DEIGEN_NO_DEPRECATED_WARNING")
|
||||
endif()
|
||||
add_custom_command(
|
||||
TARGET ${compile_snippet_target}
|
||||
POST_BUILD
|
||||
COMMAND ${compile_snippet_target}
|
||||
ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
|
||||
)
|
||||
add_dependencies(all_snippets ${compile_snippet_target})
|
||||
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
|
||||
PROPERTIES OBJECT_DEPENDS ${snippet_src})
|
||||
endforeach()
|
||||
|
||||
4
libs/eigen/doc/snippets/Cwise_array_atan2_array.cpp
Normal file
4
libs/eigen/doc/snippets/Cwise_array_atan2_array.cpp
Normal file
@@ -0,0 +1,4 @@
|
||||
Array<double,1,3> x(8,-25,3),
|
||||
y(1./3.,0.5,-2.);
|
||||
cout << "atan2([" << x << "], [" << y << "]) = " << x.atan2(y) << endl; // using ArrayBase::pow
|
||||
cout << "atan2([" << x << "], [" << y << "] = " << atan2(x,y) << endl; // using Eigen::pow
|
||||
@@ -1,6 +1,6 @@
|
||||
MatrixXf m = MatrixXf::Random(3,2);
|
||||
cout << "Here is the matrix m:" << endl << m << endl;
|
||||
JacobiSVD<MatrixXf> svd(m, ComputeThinU | ComputeThinV);
|
||||
JacobiSVD<MatrixXf, ComputeThinU | ComputeThinV> svd(m);
|
||||
cout << "Its singular values are:" << endl << svd.singularValues() << endl;
|
||||
cout << "Its left singular vectors are the columns of the thin U matrix:" << endl << svd.matrixU() << endl;
|
||||
cout << "Its right singular vectors are the columns of the thin V matrix:" << endl << svd.matrixV() << endl;
|
||||
|
||||
@@ -3,7 +3,7 @@ MatrixXd A = X + X.transpose();
|
||||
cout << "Here is a random symmetric matrix, A:" << endl << A << endl;
|
||||
X = MatrixXd::Random(5,5);
|
||||
MatrixXd B = X * X.transpose();
|
||||
cout << "and a random postive-definite matrix, B:" << endl << B << endl << endl;
|
||||
cout << "and a random positive-definite matrix, B:" << endl << B << endl << endl;
|
||||
|
||||
GeneralizedSelfAdjointEigenSolver<MatrixXd> es(A,B);
|
||||
cout << "The eigenvalues of the pencil (A,B) are:" << endl << es.eigenvalues() << endl;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
ArrayXi ind(5); ind<<4,2,5,5,3;
|
||||
MatrixXi A = MatrixXi::Random(4,6);
|
||||
cout << "Initial matrix A:\n" << A << "\n\n";
|
||||
cout << "A(all,ind-1):\n" << A(all,ind-1) << "\n\n";
|
||||
cout << "A(all,ind-1):\n" << A(Eigen::placeholders::all,ind-1) << "\n\n";
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#if EIGEN_HAS_STATIC_ARRAY_TEMPLATE
|
||||
MatrixXi A = MatrixXi::Random(4,6);
|
||||
cout << "Initial matrix A:\n" << A << "\n\n";
|
||||
cout << "A(all,{4,2,5,5,3}):\n" << A(all,{4,2,5,5,3}) << "\n\n";
|
||||
#endif
|
||||
cout << "A(all,{4,2,5,5,3}):\n" << A(Eigen::placeholders::all,{4,2,5,5,3}) << "\n\n";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
std::vector<int> ind{4,2,5,5,3};
|
||||
MatrixXi A = MatrixXi::Random(4,6);
|
||||
cout << "Initial matrix A:\n" << A << "\n\n";
|
||||
cout << "A(all,ind):\n" << A(all,ind) << "\n\n";
|
||||
cout << "A(all,ind):\n" << A(Eigen::placeholders::all,ind) << "\n\n";
|
||||
|
||||
Reference in New Issue
Block a user