diff --git a/.gitignore b/.gitignore
index fa89656d94..180323acaa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,5 +22,4 @@ applications/*/CMakeLists.txt
tools/build/cmake_files/MakeContainers.cmake
Files.cmake
.DS_Store
-modules/npctransport/
.#*
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000000..1906e7587b
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,6 @@
+[submodule "modules/npctransport"]
+ path = modules/npctransport
+ url = https://github.com/salilab/npctransport.git
+[submodule "components/pathway_mapping"]
+ path = components/pathway_mapping
+ url = https://github.com/salilab/pathway_mapping.git
diff --git a/.travis.yml b/.travis.yml
index d957f62ac8..12da131dc7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -48,7 +48,7 @@ git:
before_install:
- sudo apt-get update -qq
- - sudo apt-get install -qq libboost$BOOST-all-dev swig libhdf5-serial-dev
+ - sudo apt-get install -qq libboost$BOOST-all-dev swig libhdf5-serial-dev libeigen3-dev
- ./setup_git.py
script:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 561fbdf909..093a3740ca 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -64,9 +64,7 @@ cmake_policy(SET CMP0017 NEW)
endif(POLICY CMP0017)
# Don't set MACOSX_RPATH by default
-if(POLICY CMP0042)
-cmake_policy(SET CMP0042 OLD)
-endif(POLICY CMP0042)
+set(CMAKE_MACOSX_RPATH 0)
# Stop cmake warning about files in the build directory it didn't create
# (see issue #909)
@@ -277,6 +275,12 @@ if(NOT IMP_STATIC)
find_package(OpenMP3)
endif()
+find_package(Eigen3 3.0 REQUIRED)
+# Add Eigen3 to 'system' include path. Amongst other things, this will suppress
+# many compiler warnings about Eigen code which a) clutter the output and
+# b) we're not going to fix, since Eigen isn't our code.
+include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR})
+
add_custom_target("IMP-version"
COMMAND ${CMAKE_SOURCE_DIR}/tools/build/make_version.py --source=${CMAKE_SOURCE_DIR}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
diff --git a/ChangeLog.md b/ChangeLog.md
index 560b17c466..1ba0d42ac0 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,6 +1,47 @@
ChangeLog {#changelog}
=========
+# 2.9.0 - 2018-07-02 # {#changelog_2_9_0}
+- [Eigen](https://eigen.tuxfamily.org/) is now required to build IMP.
+- The Windows .exe IMP installer no longer supports Python 2.6. Python 2.7,
+ 3.4, 3.5, and 3.6 are supported by this installer.
+- A binary package is now provided for Ubuntu 18.04 LTS, Bionic Beaver.
+- The IMP::atom::setup_as_rigid_body() function has been removed.
+ Use IMP::atom::create_rigid_body() instead.
+- Constructors for IMP::container classes, IMP::core::BallMover,
+ IMP::core::RigidBodyMover, and IMP::core::IncrementalScoringFunction taking
+ a RigidBody or Particles have been removed. Use constructors taking
+ ParticleIndexes instead.
+- The IMP::core::ConnectivityRestraint::get_connected_pairs() method has been
+ removed. Use get_connected_index_pairs() instead.
+- The stats() profiling method has been removed from
+ IMP::isd::GaussianProcessInterpolationRestraint and
+ IMP::isd::MultivariateFNormalSufficient. Use a third party package (such as
+ gperftools) for profiling instead.
+- Scores in IMP.saxs (and FoXS) now use the chi-square value rather than chi.
+- New applications of IMP are now available:
+ - [Modeling of the entire yeast nuclear pore complex](https://salilab.org/npc2018), as well as
+ [modeling of the flexible FG regions](https://salilab.org/npc_fg_2018) and
+ modeling of the individual [Nup133](https://salilab.org/nup133),
+ [Nup82](https://salilab.org/nup82), and
+ [Pom152](https://salilab.org/pom152) subcomplexes.
+ - [Modeling of the Ecm29-proteasome complex](https://salilab.org/ecm29)
+- The new modules IMP::npc and IMP::npctransport provide specialized
+ restraints and other functionality for modeling static nuclear pore complex
+ structures and transport through these structures, respectively, although
+ may also be useful for other modeling applications.
+- IMP's mmCIF support for deposition of models in
+ [PDB-Dev](https://pdb-dev.wwpdb.org/), in the IMP::pmi and IMP::mmcif modules,
+ now utilizes the [python-ihm](https://github.com/ihmwg/python-ihm) library,
+ a copy of which is included with IMP.
+- RMF files now store additional metadata, such as the primary sequence of
+ each chain, software used, information on each restraint (such as fit values),
+ and provenance (classes derived from IMP::core::Provenance) that describes
+ transformations of the system, such as initial input from a PDB file,
+ sampling, clustering, and filtering.
+- The new experimental IMP::mmcif module allows generating basic mmCIF files
+ directly from an IMP::Model and/or RMF files.
+
# 2.8.0 - 2017-08-16 # {#changelog_2_8_0}
- New applications of IMP are now available:
- [Modeling of the yeast Spindle Pole Body core](https://salilab.org/spb/)
@@ -32,7 +73,7 @@ ChangeLog {#changelog}
- Memory and CPU performance improvements across the code, particularly
in IMP::pmi.
- Preview of mmCIF support for deposition of integrative models in
- [PDB-dev](https://pdb-dev.rcsb.rutgers.edu/). See the IMP::pmi::mmcif
+ [PDB-Dev](https://pdb-dev.wwpdb.org/). See the IMP::pmi::mmcif
module for more details.
- This will be the last release that includes packages for RedHat Enterprise
Linux 5 (and variants, such as CentOS 5), since RHEL 5 has reached end
@@ -50,7 +91,7 @@ ChangeLog {#changelog}
Use IMP::core::create_rigid_body() instead.
- IMP::test:TempDir and IMP::test::RunInTempDir are deprecated in favor
of similar functions that work as Python context managers
- (IMP::test::temporary_directory() and IMP::Test::temporary_working_directory()
+ (IMP::test::temporary_directory() and IMP::test::temporary_working_directory()
respectively).
# 2.6.2 - 2016-05-25 # {#changelog_2_6_2}
diff --git a/README.md b/README.md
index 612e5a57ee..c50c7387c8 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,7 @@ new shell.
Copyright and License information
=================================
-IMP is Copyright 2007-2017 IMP Inventors. The IMP Inventors are
+IMP is Copyright 2007-2018 IMP Inventors. The IMP Inventors are
Andrej Sali, Ben Webb, Daniel Russel, Keren Lasker, Dina Schneidman,
Javier Velázquez-Muriel, Friedrich Förster, Elina Tjioe, Hao Fan,
Seung Joong Kim, Yannick Spill, Riccardo Pellarin.
diff --git a/VERSION b/VERSION
index 834f262953..c8e38b6140 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.8.0
+2.9.0
diff --git a/components/README.md b/components/README.md
new file mode 100644
index 0000000000..5d1d561f25
--- /dev/null
+++ b/components/README.md
@@ -0,0 +1,2 @@
+This directory contains additional components for integrative modeling
+that are not IMP modules.
diff --git a/components/pathway_mapping b/components/pathway_mapping
new file mode 160000
index 0000000000..81911e5637
--- /dev/null
+++ b/components/pathway_mapping
@@ -0,0 +1 @@
+Subproject commit 81911e56376be53df97ff5d9f5de019388a1da91
diff --git a/doc/manual/biosystem.md b/doc/manual/biosystem.md
index 76c3048059..c428f2d3d3 100644
--- a/doc/manual/biosystem.md
+++ b/doc/manual/biosystem.md
@@ -23,13 +23,19 @@ We recommend the following contents for your repository (see the
for an example):
- subdirectories containing
- - your modeling protocol (generally one or more Python scripts)
+ - your modeling protocol (generally one or more Python scripts).
- input files (e.g. PDB files, EM density maps, lists of crosslinks),
- especially if these files aren't in a database somewhere already
+ especially if these files aren't in a database somewhere already.
+ If these inputs are derived in some fashion (e.g. you use a PDB file as
+ input that's a comparative model or docking result, or you use an EM map
+ that's been segmented) then this needs to be described somewhere, with
+ links to the original unmodified files (e.g. PDB IDs for templates of any
+ comparative models, alignment files, Modeller scripts).
- outputs (trajectories, clusters, analysis). Where this isn't possible
due to size, we can host the larger files, such as trajectories, elsewhere
(e.g. as a dataset in [Zenodo](https://zenodo.org)) and link to them
- from the repository.
+ from the repository. Aim to keep the repository below 1GB in size so that
+ it's manageable.
- a top-level `%README.md` file describing the system and explaining how to
run the protocol.
- a top-level `LICENSE` file with the license for the data files and scripts.
diff --git a/doc/manual/cnmultifit_groel.dox b/doc/manual/cnmultifit_groel.dox
index 0fad83131d..123a5ce98e 100644
--- a/doc/manual/cnmultifit_groel.dox
+++ b/doc/manual/cnmultifit_groel.dox
@@ -97,7 +97,7 @@ It also generates a file multifit.output that shows the
transformation needed to place the subunit in the density.
The optional --chimera parameter requests the same transformation
-output in a \external{http://www.cgl.ucsf.edu/chimera/,Chimera}-compatible
+output in a \external{https://www.cgl.ucsf.edu/chimera/,Chimera}-compatible
format. To generate PDB files from the Chimera output file, use:
\code{.sh}
diff --git a/doc/manual/design.md b/doc/manual/design.md
index 6ba543e2bc..001b4c72cb 100644
--- a/doc/manual/design.md
+++ b/doc/manual/design.md
@@ -17,7 +17,7 @@ The next parts of the manual will cover the use of the various parts of
- [Chimera tools/web services](@ref web_services):
we provide a number of web services that
use %IMP at [https://salilab.org/](https://salilab.org). Additionally,
- the [UCSF Chimera](http://www.cgl.ucsf.edu/chimera/) software includes
+ the [UCSF Chimera](https://www.cgl.ucsf.edu/chimera/) software includes
several tools that use %IMP. These are the simplest to use because they
do not require an %IMP installation.
diff --git a/doc/manual/eigen.md b/doc/manual/eigen.md
deleted file mode 100644
index b42cedf087..0000000000
--- a/doc/manual/eigen.md
+++ /dev/null
@@ -1,34 +0,0 @@
-Eigen {#eigen}
-=====
-
-We ship a copy of Eigen. To patch an updated version, first commit the unpatched version and then patch it by running all of these. More clever approaches are welcome.
-
- sed -i.old "s#namespace Eigen#namespace IMP_Eigen#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#,Eigen::#,IMP_Eigen::#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s# Eigen::# IMP_Eigen::#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#(Eigen::#(IMP_Eigen::#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#{Eigen::#{IMP_Eigen::#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#=Eigen::#=IMP_Eigen::#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#EIGEN#>IMP_EIGEN#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#\!Eigen#\!IMP_Eigen#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#\*Eigen#*IMP_Eigen#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#=EIGEN#=IMP_EIGEN#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#ei_declare_aligned_stack_constructed_variable#imp_ei_declare_aligned_stack_constructed_variable#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#\!Eigen::#\!IMP_Eigen::#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#eigen_assert#imp_eigen_assert#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#eigen_internal_assert#imp_eigen_internal_assert#g" `find modules/algebra/include/eigen3 -type f`
- sed -i.old "s#eigen_plain_assert#imp_eigen_plain_assert#g" `find modules/algebra/include/eigen3 -type f`
-
-in addition, the following commits introduced some modifications to the code
-- `26a1f70d5faef3f`
-- `5c0b9b7b57dbf97`
-
-Eigen headers can be found at `IMP/algebra/eigen3`.
diff --git a/doc/manual/installation.md b/doc/manual/installation.md
index cecbacf6c3..e82471bc6e 100644
--- a/doc/manual/installation.md
+++ b/doc/manual/installation.md
@@ -24,6 +24,7 @@ In order to build %IMP from source, you will need:
- [CMake](https://cmake.org) (2.8 or later)
- [Boost](http://www.boost.org) (1.41 or later)
+- [Eigen](https://eigen.tuxfamily.org/) (3.0 or later)
- [HDF5](https://support.hdfgroup.org/HDF5/) (1.8 or later; 1.10 should also
work)
- [Python](https://www.python.org) (2.6 or later, or any version of Python 3)
@@ -41,7 +42,7 @@ will not build, and some will not function optimally.
nonbonded lists.
- [Google perf tools](\ref perf): needed only for profiling %IMP code.
- [ANN](\ref ANN): certain data structures will be faster if it is available.
-- [GSL](\ref GSL): needed to use the IMP.gsl module.
+- [GSL](\ref GSL) (1.13 or later): needed to use the IMP.gsl module.
- [OpenCV](\ref OpenCV) (2.1 or later): needed to use the IMP.em2d module or the
[idock](@ref idock_pcsk9) and [emagefit](@ref emagefit_3sfd) command
line tools.
@@ -50,6 +51,8 @@ will not build, and some will not function optimally.
- [libTAU](https://integrativemodeling.org/libTAU.html): needed to use the
IMP.cnmultifit module or the [cnmultifit](@ref cnmultifit_groel) command
line tool.
+- [Protobuf](https://github.com/google/protobuf): needed to use the
+ IMP.npctransport module.
- An [MPI](@ref IMP::mpi) library is needed to use the IMP.mpi module.
- The [numpy, scipy](http://www.scipy.org/scipylib/download.html),
[scikit-learn](http://scikit-learn.org/stable/install.html),
@@ -80,7 +83,7 @@ such as
brew tap homebrew/science
brew tap salilab/salilab
- brew install boost gmp google-perftools cgal graphviz gsl cmake doxygen hdf5 swig fftw mpfr opencv libtau
+ brew install boost gmp google-perftools cgal graphviz gsl cmake doxygen hdf5 swig fftw mpfr opencv libtau eigen
to install everything %IMP finds useful (or that you will want for installing various useful Python libs that %IMP finds useful). On older Macs, you may also need to `brew install git` if you want to use git (newer Macs include git).
- [Macports](http://www.macports.org/) If you use MacPorts, you must add `/opt/local/bin` to your path (either by modifying your shell's
diff --git a/doc/manual/licenses.md b/doc/manual/licenses.md
index 3ddde55fa9..e57a67ed12 100644
--- a/doc/manual/licenses.md
+++ b/doc/manual/licenses.md
@@ -1,7 +1,7 @@
Copyright and licenses {#licenses}
======================
-%IMP is Copyright 2007-2017 %IMP Inventors. The %IMP Inventors are
+%IMP is Copyright 2007-2018 %IMP Inventors. The %IMP Inventors are
Andrej Sali, Ben Webb, Daniel Russel, Keren Lasker, Dina Schneidman,
Javier Velázquez-Muriel, Friedrich Förster, Elina Tjioe, Hao Fan,
Seung Joong Kim, Yannick Spill, Riccardo Pellarin.
diff --git a/doc/manual/mainpage.dox b/doc/manual/mainpage.dox
index 283af1fb4b..252c1056b2 100644
--- a/doc/manual/mainpage.dox
+++ b/doc/manual/mainpage.dox
@@ -93,7 +93,6 @@ complex might want to skip ahead to
- [Close pairs lists](@ref close_pairs)
- [RMF](@ref rmf)
- [Building](@ref building)
- - [Eigen](@ref eigen)
- [git submodules and subtrees](@ref subtree)
- [Copyright and licenses](@ref licenses)
diff --git a/doc/manual/multi_foxs.dox b/doc/manual/multi_foxs.dox
index 8c5da457fe..6f9f431021 100644
--- a/doc/manual/multi_foxs.dox
+++ b/doc/manual/multi_foxs.dox
@@ -33,10 +33,10 @@ print(IMP.multi_foxs.get_example_path('rpa'))'.
\section multi_foxs_calc Calculation
The structure of the RPA in complex with ssDNA is available in the
-\external{http://www.pdb.org,RCSB Protein Data Bank (PDB)} as code
-\external{http://www.pdb.org/pdb/explore/explore.do?structureId=1JMC,1jmc}
+\external{https://www.rcsb.org/,RCSB Protein Data Bank (PDB)} as code
+\external{https://www.rcsb.org/structure/1JMC,1jmc}
(file 1jmc.pdb), the unbound RPA structures are available as code
-\external{http://www.pdb.org/pdb/explore/explore.do?structureId=1FGU,1fgu}
+\external{https://www.rcsb.org/structure/1FGU,1fgu}
(file 1fguA.pdb, 1fguB.pdb), while the SAXS profile is given in the weighted.dat file. The SAXS profile was simulated from the 3 structures with the following weights:
\verbatim
diff --git a/doc/manual/multifit_3sfd.dox b/doc/manual/multifit_3sfd.dox
index ad5e94ee85..90c0d56a69 100644
--- a/doc/manual/multifit_3sfd.dox
+++ b/doc/manual/multifit_3sfd.dox
@@ -118,7 +118,7 @@ each Gaussian. For example, with 50 residues per Gaussian, a 170-residue
protein should use 3 Gaussians and a 260-residue protein should use
5 Gaussians.) The reduced representation is written out as a PDB file
containing fake CA atoms, where each CA corresponds to a single anchor point,
-and also as a \external{http://www.cgl.ucsf.edu/chimera/,Chimera} cmm file.
+and also as a \external{https://www.cgl.ucsf.edu/chimera/,Chimera} cmm file.
\section multifit_3sfd_fit_fft Fit each protein to the map
diff --git a/doc/manual/rnapolii_stalk.dox b/doc/manual/rnapolii_stalk.dox
index 1761963bb5..915a8db5ae 100644
--- a/doc/manual/rnapolii_stalk.dox
+++ b/doc/manual/rnapolii_stalk.dox
@@ -32,7 +32,7 @@ packages installed in addition to [IMP itself](@ref installation):
- [Chimera](https://www.cgl.ucsf.edu/chimera/download.html)
for visualization of results
-(If you are using [Anaconda Python](https://store.continuum.io/cshop/anaconda/),
+(If you are using [Anaconda Python](https://www.anaconda.com/download/),
you can get the Python packages above by simply running
`conda install numpy scipy scikit-learn matplotlib`.
On a Mac you can get them using the
diff --git a/doc/manual/web_services.md b/doc/manual/web_services.md
index d912766e59..83ae2fdaec 100644
--- a/doc/manual/web_services.md
+++ b/doc/manual/web_services.md
@@ -6,11 +6,11 @@ They are the simplest to use because they do not require an %IMP installation.
# Chimera tools
-The [UCSF Chimera](http://www.cgl.ucsf.edu/chimera/) software includes
+The [UCSF Chimera](https://www.cgl.ucsf.edu/chimera/) software includes
several tools that use %IMP:
- - [Small-Angle X-Ray Profile](http://www.cgl.ucsf.edu/chimera/current/docs/ContributedSoftware/saxs/saxs.html): calculate a theoretical small-angle X-ray scattering (SAXS) profile from a set of atoms
- - [MultiFit](http://www.cgl.ucsf.edu/chimera/current/docs/ContributedSoftware/multifit/multifit.html): perform simultaneous rigid fitting of multiple atomic-resolution structures into density maps at resolutions as low as 25 Å.
+ - [Small-Angle X-Ray Profile](https://www.cgl.ucsf.edu/chimera/current/docs/ContributedSoftware/saxs/saxs.html): calculate a theoretical small-angle X-ray scattering (SAXS) profile from a set of atoms
+ - [MultiFit](https://www.cgl.ucsf.edu/chimera/current/docs/ContributedSoftware/multifit/multifit.html): perform simultaneous rigid fitting of multiple atomic-resolution structures into density maps at resolutions as low as 25 Å.
In addition, UCSF Chimera is able to read [RMF files](https://integrativemodeling.org/rmf/)
generated by %IMP.
diff --git a/modules/algebra/README.md b/modules/algebra/README.md
index d96488fbed..db34b5dfa8 100644
--- a/modules/algebra/README.md
+++ b/modules/algebra/README.md
@@ -58,9 +58,6 @@ straightforward, it is not available as a package for common platforms.
In addition, ANN must be built as a shared library rather than a static
library.
-# Eigen # {#Eigen}
-We ship a copy of Eigen as part of IMP as Eigen support varies quite considerably across platforms and it is header-only and so easy to ship. Our version of Eigen has been patched to move everything to the `IMP_Eigen` namespace and preprocessor symbols to start with `IMP_EIGEN_` so that things do not conflict with system installs of Eigen.
-
# Info
_Author(s)_: Daniel Russel, Keren Lasker, Ben Webb, Javier Angel Velázquez-Muriel
diff --git a/modules/algebra/benchmark/benchmark_grid_traversal.cpp b/modules/algebra/benchmark/benchmark_grid_traversal.cpp
index 1edc69b13a..76e59dfd14 100644
--- a/modules/algebra/benchmark/benchmark_grid_traversal.cpp
+++ b/modules/algebra/benchmark/benchmark_grid_traversal.cpp
@@ -1,5 +1,5 @@
/**
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*/
#include
#include
diff --git a/modules/algebra/benchmark/benchmark_knn.cpp b/modules/algebra/benchmark/benchmark_knn.cpp
index e27df9707d..3a0a4f1f67 100644
--- a/modules/algebra/benchmark/benchmark_knn.cpp
+++ b/modules/algebra/benchmark/benchmark_knn.cpp
@@ -1,5 +1,5 @@
/**
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*/
#include
diff --git a/modules/algebra/benchmark/benchmark_rotate.cpp b/modules/algebra/benchmark/benchmark_rotate.cpp
index afa3471ff0..d8acf139af 100644
--- a/modules/algebra/benchmark/benchmark_rotate.cpp
+++ b/modules/algebra/benchmark/benchmark_rotate.cpp
@@ -1,5 +1,5 @@
/**
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*/
#include
#include
diff --git a/modules/algebra/benchmark/benchmark_surface.cpp b/modules/algebra/benchmark/benchmark_surface.cpp
index 2e8ea3a743..5d0c12777f 100644
--- a/modules/algebra/benchmark/benchmark_surface.cpp
+++ b/modules/algebra/benchmark/benchmark_surface.cpp
@@ -1,5 +1,5 @@
/**
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*/
#include
diff --git a/modules/algebra/examples/grid.cpp b/modules/algebra/examples/grid.cpp
index 95b074348d..446ad98f22 100644
--- a/modules/algebra/examples/grid.cpp
+++ b/modules/algebra/examples/grid.cpp
@@ -2,7 +2,7 @@
* \example grid.cpp
* \brief Show some of the basics of using a grid from C++.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
#include
diff --git a/modules/algebra/include/BoundingBoxD.h b/modules/algebra/include/BoundingBoxD.h
index 6b606e284d..ce778538ec 100644
--- a/modules/algebra/include/BoundingBoxD.h
+++ b/modules/algebra/include/BoundingBoxD.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/BoundingBoxD.h \brief A bounding box in D dimensions.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/Cone3D.h b/modules/algebra/include/Cone3D.h
index 33f50452a2..5c5714d306 100644
--- a/modules/algebra/include/Cone3D.h
+++ b/modules/algebra/include/Cone3D.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/Cone3D.h
* \brief Represent a cone in 3D.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*/
#ifndef IMPALGEBRA_CONE_3D_H
diff --git a/modules/algebra/include/Cylinder3D.h b/modules/algebra/include/Cylinder3D.h
index ea30659218..12685bc510 100644
--- a/modules/algebra/include/Cylinder3D.h
+++ b/modules/algebra/include/Cylinder3D.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/Cylinder3D.h
* \brief Represent a cylinder in 3D.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*/
#ifndef IMPALGEBRA_CYLINDER_3D_H
diff --git a/modules/algebra/include/Ellipsoid3D.h b/modules/algebra/include/Ellipsoid3D.h
index 5a1d23c531..89fd5d16ac 100644
--- a/modules/algebra/include/Ellipsoid3D.h
+++ b/modules/algebra/include/Ellipsoid3D.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/Ellipsoid3D.h \brief Simple 3D ellipsoid class.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/Gaussian3D.h b/modules/algebra/include/Gaussian3D.h
index 69dfef7a13..cda9e93b38 100644
--- a/modules/algebra/include/Gaussian3D.h
+++ b/modules/algebra/include/Gaussian3D.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/Gaussian3D.h
* \brief Gaussian shape
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
@@ -14,7 +14,7 @@
#include "ReferenceFrame3D.h"
#include
#include
-#include
+#include
IMPALGEBRA_BEGIN_NAMESPACE
@@ -44,11 +44,11 @@ IMP_VALUES(Gaussian3D, Gaussian3Ds);
/** Return the covariance matrix from a given set of standard deviations in
the passed reference frame. */
-IMPALGEBRAEXPORT IMP_Eigen::Matrix3d get_covariance(const Gaussian3D &g);
+IMPALGEBRAEXPORT Eigen::Matrix3d get_covariance(const Gaussian3D &g);
//! Return a Gaussian centered at the origin from a covariance matrix.
IMPALGEBRAEXPORT Gaussian3D
-get_gaussian_from_covariance(const IMP_Eigen::Matrix3d &covariance,
+get_gaussian_from_covariance(const Eigen::Matrix3d &covariance,
const Vector3D ¢er);
//! Rasterize the Gaussians to a grid.
diff --git a/modules/algebra/include/GeometricPrimitiveD.h b/modules/algebra/include/GeometricPrimitiveD.h
index 5e14b16d8c..7b37c70c5f 100644
--- a/modules/algebra/include/GeometricPrimitiveD.h
+++ b/modules/algebra/include/GeometricPrimitiveD.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/GeometricPrimitiveD.h
* \brief Base class for geometric types.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/GridD.h b/modules/algebra/include/GridD.h
index 9022cc2949..06f3ea88a5 100644
--- a/modules/algebra/include/GridD.h
+++ b/modules/algebra/include/GridD.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/GridD.h \brief A class to represent a voxel grid.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/Line3D.h b/modules/algebra/include/Line3D.h
index c4b7867013..ccd0e6c7a4 100644
--- a/modules/algebra/include/Line3D.h
+++ b/modules/algebra/include/Line3D.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/Line3D.h
* \brief Simple implementation of lines in 3D
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*/
#ifndef IMPALGEBRA_LINE_3D_H
diff --git a/modules/algebra/include/LinearFit.h b/modules/algebra/include/LinearFit.h
index c5254d65a5..e802205ea4 100644
--- a/modules/algebra/include/LinearFit.h
+++ b/modules/algebra/include/LinearFit.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/LinearFit.h
* \brief Linear fit of data points
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/ParabolicFit.h b/modules/algebra/include/ParabolicFit.h
index 1c4e041fdc..e6442f2f6d 100644
--- a/modules/algebra/include/ParabolicFit.h
+++ b/modules/algebra/include/ParabolicFit.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/ParabolicFit.h
* \brief Fit data with parabola
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/Plane3D.h b/modules/algebra/include/Plane3D.h
index 9c7b1707aa..15f55f9948 100644
--- a/modules/algebra/include/Plane3D.h
+++ b/modules/algebra/include/Plane3D.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/Plane3D.h \brief Simple 3D plane class.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/ReferenceFrame3D.h b/modules/algebra/include/ReferenceFrame3D.h
index 0fbc51a3cf..9ca5a3a3eb 100644
--- a/modules/algebra/include/ReferenceFrame3D.h
+++ b/modules/algebra/include/ReferenceFrame3D.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/ReferenceFrame3D.h
* \brief A reference frame in 3D.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/Reflection3D.h b/modules/algebra/include/Reflection3D.h
index 3b433d9731..b557158c88 100644
--- a/modules/algebra/include/Reflection3D.h
+++ b/modules/algebra/include/Reflection3D.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/Reflection3D.h \brief Reflect about a plane in 3D.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/Rotation2D.h b/modules/algebra/include/Rotation2D.h
index 1825c507ca..3b28dd90df 100644
--- a/modules/algebra/include/Rotation2D.h
+++ b/modules/algebra/include/Rotation2D.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/Rotation2D.h
* \brief Represent a rotation in 2D space.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*/
#ifndef IMPALGEBRA_ROTATION_2D_H
diff --git a/modules/algebra/include/Rotation3D.h b/modules/algebra/include/Rotation3D.h
index 03efcd6930..949214ee21 100644
--- a/modules/algebra/include/Rotation3D.h
+++ b/modules/algebra/include/Rotation3D.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/Rotation3D.h \brief Simple 3D rotation class.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
@@ -13,7 +13,7 @@
#include "utility.h"
#include "constants.h"
#include "GeometricPrimitiveD.h"
-#include
+#include
#include
#include
@@ -332,7 +332,7 @@ IMPALGEBRAEXPORT Rotation3D
/**
\see Rotation3D
*/
-IMPALGEBRAEXPORT Rotation3D get_rotation_from_matrix(IMP_Eigen::Matrix3d m);
+IMPALGEBRAEXPORT Rotation3D get_rotation_from_matrix(Eigen::Matrix3d m);
//! Pick a rotation at random from all possible rotations
/** \see Rotation3D */
diff --git a/modules/algebra/include/Segment3D.h b/modules/algebra/include/Segment3D.h
index 76109be1c8..a9ca6547d8 100644
--- a/modules/algebra/include/Segment3D.h
+++ b/modules/algebra/include/Segment3D.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/Segment3D.h
* \brief Simple implementation of segments in 3D
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*/
#ifndef IMPALGEBRA_SEGMENT_3D_H
diff --git a/modules/algebra/include/Sphere3D.h b/modules/algebra/include/Sphere3D.h
index 04f905a724..cc89b072e0 100644
--- a/modules/algebra/include/Sphere3D.h
+++ b/modules/algebra/include/Sphere3D.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/Sphere3D.h \brief Simple 3D sphere class.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/SphereD.h b/modules/algebra/include/SphereD.h
index 80c95baa41..d5baa2d686 100644
--- a/modules/algebra/include/SphereD.h
+++ b/modules/algebra/include/SphereD.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/SphereD.h \brief Simple 3D sphere class.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/SpherePatch3D.h b/modules/algebra/include/SpherePatch3D.h
index 5629a3b03a..8da5804fea 100644
--- a/modules/algebra/include/SpherePatch3D.h
+++ b/modules/algebra/include/SpherePatch3D.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/SpherePatch3D.h \brief Simple 3D sphere patch class.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/SphericalVector3D.h b/modules/algebra/include/SphericalVector3D.h
index 24215e4250..392c3ac890 100644
--- a/modules/algebra/include/SphericalVector3D.h
+++ b/modules/algebra/include/SphericalVector3D.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/SphericalVector3D.h
* \brief Stores and converts spherical coordinates
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*/
#ifndef IMPALGEBRA_SPHERICAL_VECTOR_3D_H
@@ -27,7 +27,7 @@ IMPALGEBRA_BEGIN_NAMESPACE
\geometry
*/
class IMPALGEBRAEXPORT SphericalVector3D : public GeometricPrimitiveD<3> {
- bool check(double r, double theta, double psi);
+ bool check(double r, double theta, double psi) const;
public:
SphericalVector3D() {};
@@ -65,7 +65,7 @@ class IMPALGEBRAEXPORT SphericalVector3D : public GeometricPrimitiveD<3> {
}
//! Returns a vector with the Cartesian coordinates
- Vector3D get_cartesian_coordinates();
+ Vector3D get_cartesian_coordinates() const;
IMP_SHOWABLE_INLINE(SphericalVector3D, out << v_[0] << " , " << v_[1] << " , "
<< v_[2]);
diff --git a/modules/algebra/include/Torus3D.h b/modules/algebra/include/Torus3D.h
index 9e63dc920b..eca416aca6 100644
--- a/modules/algebra/include/Torus3D.h
+++ b/modules/algebra/include/Torus3D.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/Torus3D.h
* \brief Represent a torus in 3D.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*/
#ifndef IMPALGEBRA_TORUS_3D_H
diff --git a/modules/algebra/include/Transformation2D.h b/modules/algebra/include/Transformation2D.h
index 6eb24cacde..1470c7c031 100644
--- a/modules/algebra/include/Transformation2D.h
+++ b/modules/algebra/include/Transformation2D.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/Transformation2D.h
* \brief 2D transformations.
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/Transformation3D.h b/modules/algebra/include/Transformation3D.h
index ea961afe4a..e021d691d8 100644
--- a/modules/algebra/include/Transformation3D.h
+++ b/modules/algebra/include/Transformation3D.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/Transformation3D.h
* \brief Simple 3D transformation class.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/Triangle3D.h b/modules/algebra/include/Triangle3D.h
index 3167ddb600..5de5cb4c6f 100644
--- a/modules/algebra/include/Triangle3D.h
+++ b/modules/algebra/include/Triangle3D.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/Triangle3D.h
* \brief Represent a triangle in 3D
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*/
#ifndef IMPALGEBRA_TRIANGLE_3D_H
diff --git a/modules/algebra/include/Vector2D.h b/modules/algebra/include/Vector2D.h
index f81f383d1d..291cf9d758 100644
--- a/modules/algebra/include/Vector2D.h
+++ b/modules/algebra/include/Vector2D.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/Vector2D.h \brief Simple 2D vector class.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/Vector3D.h b/modules/algebra/include/Vector3D.h
index 00a3e79e4a..43c073eef2 100644
--- a/modules/algebra/include/Vector3D.h
+++ b/modules/algebra/include/Vector3D.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/Vector3D.h \brief Simple 3D vector class.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/VectorBaseD.h b/modules/algebra/include/VectorBaseD.h
index 17956903df..1f744116c9 100644
--- a/modules/algebra/include/VectorBaseD.h
+++ b/modules/algebra/include/VectorBaseD.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/VectorBaseD.h \brief Simple D vector class.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
@@ -227,18 +227,22 @@ class VectorBaseD : public GeometricPrimitiveD {
*/
template
inline VT get_unit_vector(VT vt) {
- const double tiny_double = 1e-12;
+ static const double tiny_double =
+ 256.0 * std::numeric_limits::epsilon();
double mag = vt.get_magnitude();
if (mag > tiny_double) {
- return vt / mag;
+ VT ret_value= vt/mag;
+ IMP_USAGE_CHECK(std::abs(ret_value.get_magnitude() - 1.0) < 256.0 * tiny_double,
+ "returned vector is not unit vector");
+ return ret_value;
} else {
// avoid division by zero - return random unit v
// NOTE: (1) avoids vector_generators / SphereD to prevent recursiveness
// (2) D might be -1, so use get_dimension()
- boost::variate_generator >
- generator(IMP::random_number_generator,
- ::boost::normal_distribution<>(0, 1.0));
+ static boost::variate_generator >
+ generator(IMP::random_number_generator,
+ ::boost::normal_distribution<>(0, 1.0));
for (unsigned int i = 0; i < vt.get_dimension(); ++i) {
vt[i] = generator();
}
diff --git a/modules/algebra/include/VectorD.h b/modules/algebra/include/VectorD.h
index 83c59dc212..f50b6ba6ec 100644
--- a/modules/algebra/include/VectorD.h
+++ b/modules/algebra/include/VectorD.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/VectorD.h \brief Simple D vector class.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/algebra_macros.h b/modules/algebra/include/algebra_macros.h
index 0404049046..ba781744e6 100644
--- a/modules/algebra/include/algebra_macros.h
+++ b/modules/algebra/include/algebra_macros.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/algebra_macros.h
* \brief Various helper macros.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/connolly_surface.h b/modules/algebra/include/connolly_surface.h
index 6d5ada7e20..5803ad84b8 100644
--- a/modules/algebra/include/connolly_surface.h
+++ b/modules/algebra/include/connolly_surface.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/connolly_surface.h
* \brief Generate surface for a set of atoms.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/constants.h b/modules/algebra/include/constants.h
index 4c583072cb..1ba84713cf 100644
--- a/modules/algebra/include/constants.h
+++ b/modules/algebra/include/constants.h
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/constants.h \brief Various useful constants.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/distance.h b/modules/algebra/include/distance.h
index 836c02a01d..7916a1b149 100644
--- a/modules/algebra/include/distance.h
+++ b/modules/algebra/include/distance.h
@@ -2,7 +2,7 @@
* \file IMP/algebra/distance.h
* \brief Distance metrics.
*
- * Copyright 2007-2017 IMP Inventors. All rights reserved.
+ * Copyright 2007-2018 IMP Inventors. All rights reserved.
*
*/
diff --git a/modules/algebra/include/eigen3/Eigen/Array b/modules/algebra/include/eigen3/Eigen/Array
deleted file mode 100644
index 3c6ef277fc..0000000000
--- a/modules/algebra/include/eigen3/Eigen/Array
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef IMP_EIGEN_ARRAY_MODULE_H
-#define IMP_EIGEN_ARRAY_MODULE_H
-
-// include Core first to handle Eigen2 support macros
-#include "Core"
-
-#ifndef IMP_EIGEN2_SUPPORT
- #error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core.
-#endif
-
-#endif // IMP_EIGEN_ARRAY_MODULE_H
diff --git a/modules/algebra/include/eigen3/Eigen/Cholesky b/modules/algebra/include/eigen3/Eigen/Cholesky
deleted file mode 100644
index 858bf5128d..0000000000
--- a/modules/algebra/include/eigen3/Eigen/Cholesky
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef IMP_EIGEN_CHOLESKY_MODULE_H
-#define IMP_EIGEN_CHOLESKY_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \defgroup Cholesky_Module Cholesky module
- *
- *
- *
- * This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices.
- * Those decompositions are accessible via the following MatrixBase methods:
- * - MatrixBase::llt(),
- * - MatrixBase::ldlt()
- *
- * \code
- * #include
- * \endcode
- */
-
-#include "src/misc/Solve.h"
-#include "src/Cholesky/LLT.h"
-#include "src/Cholesky/LDLT.h"
-#ifdef IMP_EIGEN_USE_LAPACKE
-#include "src/Cholesky/LLT_MKL.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_CHOLESKY_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/modules/algebra/include/eigen3/Eigen/CholmodSupport b/modules/algebra/include/eigen3/Eigen/CholmodSupport
deleted file mode 100644
index cba956c3be..0000000000
--- a/modules/algebra/include/eigen3/Eigen/CholmodSupport
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef IMP_EIGEN_CHOLMODSUPPORT_MODULE_H
-#define IMP_EIGEN_CHOLMODSUPPORT_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-extern "C" {
- #include
-}
-
-/** \ingroup Support_modules
- * \defgroup CholmodSupport_Module CholmodSupport module
- *
- * This module provides an interface to the Cholmod library which is part of the suitesparse package.
- * It provides the two following main factorization classes:
- * - class CholmodSupernodalLLT: a supernodal LLT Cholesky factorization.
- * - class CholmodDecomposiiton: a general L(D)LT Cholesky factorization with automatic or explicit runtime selection of the underlying factorization method (supernodal or simplicial).
- *
- * For the sake of completeness, this module also propose the two following classes:
- * - class CholmodSimplicialLLT
- * - class CholmodSimplicialLDLT
- * Note that these classes does not bring any particular advantage compared to the built-in
- * SimplicialLLT and SimplicialLDLT factorization classes.
- *
- * \code
- * #include
- * \endcode
- *
- * In order to use this module, the cholmod headers must be accessible from the include paths, and your binary must be linked to the cholmod library and its dependencies.
- * The dependencies depend on how cholmod has been compiled.
- * For a cmake based project, you can use our FindCholmod.cmake module to help you in this task.
- *
- */
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-
-#include "src/CholmodSupport/CholmodSupport.h"
-
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_CHOLMODSUPPORT_MODULE_H
-
diff --git a/modules/algebra/include/eigen3/Eigen/Core b/modules/algebra/include/eigen3/Eigen/Core
deleted file mode 100644
index 2fe64f6c79..0000000000
--- a/modules/algebra/include/eigen3/Eigen/Core
+++ /dev/null
@@ -1,376 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008 Gael Guennebaud
-// Copyright (C) 2007-2011 Benoit Jacob
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef IMP_EIGEN_CORE_H
-#define IMP_EIGEN_CORE_H
-
-// first thing Eigen does: stop the compiler from committing suicide
-#include "src/Core/util/DisableStupidWarnings.h"
-
-// then include this file where all our macros are defined. It's really important to do it first because
-// it's where we do all the alignment settings (platform detection and honoring the user's will if he
-// defined e.g. IMP_EIGEN_DONT_ALIGN) so it needs to be done before we do anything with vectorization.
-#include "src/Core/util/Macros.h"
-
-// Disable the ipa-cp-clone optimization flag with MinGW 6.x or newer (enabled by default with -O3)
-// See http://eigen.tuxfamily.org/bz/show_bug.cgi?id=556 for details.
-#if defined(__MINGW32__) && IMP_EIGEN_GNUC_AT_LEAST(4,6)
- #pragma GCC optimize ("-fno-ipa-cp-clone")
-#endif
-
-#include
-
-// this include file manages BLAS and MKL related macros
-// and inclusion of their respective header files
-#include "src/Core/util/MKL_support.h"
-
-// if alignment is disabled, then disable vectorization. Note: IMP_EIGEN_ALIGN is the proper check, it takes into
-// account both the user's will (IMP_EIGEN_DONT_ALIGN) and our own platform checks
-#if !IMP_EIGEN_ALIGN
- #ifndef IMP_EIGEN_DONT_VECTORIZE
- #define IMP_EIGEN_DONT_VECTORIZE
- #endif
-#endif
-
-#ifdef _MSC_VER
- #include // for _aligned_malloc -- need it regardless of whether vectorization is enabled
- #if (_MSC_VER >= 1500) // 2008 or later
- // Remember that usage of defined() in a #define is undefined by the standard.
- // a user reported that in 64-bit mode, MSVC doesn't care to define _M_IX86_FP.
- #if (defined(_M_IX86_FP) && (_M_IX86_FP >= 2)) || defined(_M_X64)
- #define IMP_EIGEN_SSE2_ON_MSVC_2008_OR_LATER
- #endif
- #endif
-#else
- // Remember that usage of defined() in a #define is undefined by the standard
- #if (defined __SSE2__) && ( (!defined __GNUC__) || (defined __INTEL_COMPILER) || IMP_EIGEN_GNUC_AT_LEAST(4,2) )
- #define IMP_EIGEN_SSE2_ON_NON_MSVC_BUT_NOT_OLD_GCC
- #endif
-#endif
-
-#ifndef IMP_EIGEN_DONT_VECTORIZE
-
- #if defined (IMP_EIGEN_SSE2_ON_NON_MSVC_BUT_NOT_OLD_GCC) || defined(IMP_EIGEN_SSE2_ON_MSVC_2008_OR_LATER)
-
- // Defines symbols for compile-time detection of which instructions are
- // used.
- // IMP_EIGEN_VECTORIZE_YY is defined if and only if the instruction set YY is used
- #define IMP_EIGEN_VECTORIZE
- #define IMP_EIGEN_VECTORIZE_SSE
- #define IMP_EIGEN_VECTORIZE_SSE2
-
- // Detect sse3/ssse3/sse4:
- // gcc and icc defines __SSE3__, ...
- // there is no way to know about this on msvc. You can define IMP_EIGEN_VECTORIZE_SSE* if you
- // want to force the use of those instructions with msvc.
- #ifdef __SSE3__
- #define IMP_EIGEN_VECTORIZE_SSE3
- #endif
- #ifdef __SSSE3__
- #define IMP_EIGEN_VECTORIZE_SSSE3
- #endif
- #ifdef __SSE4_1__
- #define IMP_EIGEN_VECTORIZE_SSE4_1
- #endif
- #ifdef __SSE4_2__
- #define IMP_EIGEN_VECTORIZE_SSE4_2
- #endif
-
- // include files
-
- // This extern "C" works around a MINGW-w64 compilation issue
- // https://sourceforge.net/tracker/index.php?func=detail&aid=3018394&group_id=202880&atid=983354
- // In essence, intrin.h is included by windows.h and also declares intrinsics (just as emmintrin.h etc. below do).
- // However, intrin.h uses an extern "C" declaration, and g++ thus complains of duplicate declarations
- // with conflicting linkage. The linkage for intrinsics doesn't matter, but at that stage the compiler doesn't know;
- // so, to avoid compile errors when windows.h is included after Eigen/Core, ensure intrinsics are extern "C" here too.
- // notice that since these are C headers, the extern "C" is theoretically needed anyways.
- extern "C" {
- // In theory we should only include immintrin.h and not the other *mmintrin.h header files directly.
- // Doing so triggers some issues with ICC. However old gcc versions seems to not have this file, thus:
- #if defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1110
- #include
- #else
- #include
- #include
- #ifdef IMP_EIGEN_VECTORIZE_SSE3
- #include
- #endif
- #ifdef IMP_EIGEN_VECTORIZE_SSSE3
- #include
- #endif
- #ifdef IMP_EIGEN_VECTORIZE_SSE4_1
- #include
- #endif
- #ifdef IMP_EIGEN_VECTORIZE_SSE4_2
- #include
- #endif
- #endif
- } // end extern "C"
- #elif defined __ALTIVEC__
- #define IMP_EIGEN_VECTORIZE
- #define IMP_EIGEN_VECTORIZE_ALTIVEC
- #include
- // We need to #undef all these ugly tokens defined in
- // => use __vector instead of vector
- #undef bool
- #undef vector
- #undef pixel
- #elif defined __ARM_NEON
- #define IMP_EIGEN_VECTORIZE
- #define IMP_EIGEN_VECTORIZE_NEON
- #include
- #endif
-#endif
-
-#if (defined _OPENMP) && (!defined IMP_EIGEN_DONT_PARALLELIZE)
- #define IMP_EIGEN_HAS_OPENMP
-#endif
-
-#ifdef IMP_EIGEN_HAS_OPENMP
-#include
-#endif
-
-// MSVC for windows mobile does not have the errno.h file
-#if !(defined(_MSC_VER) && defined(_WIN32_WCE)) && !defined(__ARMCC_VERSION)
-#define IMP_EIGEN_HAS_ERRNO
-#endif
-
-#ifdef IMP_EIGEN_HAS_ERRNO
-#include
-#endif
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include // for CHAR_BIT
-// for min/max:
-#include
-
-// for outputting debug info
-#ifdef IMP_EIGEN_DEBUG_ASSIGN
-#include
-#endif
-
-// required for __cpuid, needs to be included after cmath
-#if defined(_MSC_VER) && (defined(_M_IX86)||defined(_M_X64)) && (!defined(_WIN32_WCE))
- #include
-#endif
-
-#if defined(_CPPUNWIND) || defined(__EXCEPTIONS)
- #define IMP_EIGEN_EXCEPTIONS
-#endif
-
-#ifdef IMP_EIGEN_EXCEPTIONS
- #include
-#endif
-
-/** \brief Namespace containing all symbols from the %Eigen library. */
-namespace IMP_Eigen {
-
-inline static const char *SimdInstructionSetsInUse(void) {
-#if defined(IMP_EIGEN_VECTORIZE_SSE4_2)
- return "SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2";
-#elif defined(IMP_EIGEN_VECTORIZE_SSE4_1)
- return "SSE, SSE2, SSE3, SSSE3, SSE4.1";
-#elif defined(IMP_EIGEN_VECTORIZE_SSSE3)
- return "SSE, SSE2, SSE3, SSSE3";
-#elif defined(IMP_EIGEN_VECTORIZE_SSE3)
- return "SSE, SSE2, SSE3";
-#elif defined(IMP_EIGEN_VECTORIZE_SSE2)
- return "SSE, SSE2";
-#elif defined(IMP_EIGEN_VECTORIZE_ALTIVEC)
- return "AltiVec";
-#elif defined(IMP_EIGEN_VECTORIZE_NEON)
- return "ARM NEON";
-#else
- return "None";
-#endif
-}
-
-} // end namespace IMP_Eigen
-
-#define STAGE10_FULL_EIGEN2_API 10
-#define STAGE20_RESOLVE_API_CONFLICTS 20
-#define STAGE30_FULL_EIGEN3_API 30
-#define STAGE40_FULL_EIGEN3_STRICTNESS 40
-#define STAGE99_NO_EIGEN2_SUPPORT 99
-
-#if defined IMP_EIGEN2_SUPPORT_STAGE40_FULL_EIGEN3_STRICTNESS
- #define IMP_EIGEN2_SUPPORT
- #define IMP_EIGEN2_SUPPORT_STAGE STAGE40_FULL_EIGEN3_STRICTNESS
-#elif defined IMP_EIGEN2_SUPPORT_STAGE30_FULL_EIGEN3_API
- #define IMP_EIGEN2_SUPPORT
- #define IMP_EIGEN2_SUPPORT_STAGE STAGE30_FULL_EIGEN3_API
-#elif defined IMP_EIGEN2_SUPPORT_STAGE20_RESOLVE_API_CONFLICTS
- #define IMP_EIGEN2_SUPPORT
- #define IMP_EIGEN2_SUPPORT_STAGE STAGE20_RESOLVE_API_CONFLICTS
-#elif defined IMP_EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API
- #define IMP_EIGEN2_SUPPORT
- #define IMP_EIGEN2_SUPPORT_STAGE STAGE10_FULL_EIGEN2_API
-#elif defined IMP_EIGEN2_SUPPORT
- // default to stage 3, that's what it's always meant
- #define IMP_EIGEN2_SUPPORT_STAGE30_FULL_EIGEN3_API
- #define IMP_EIGEN2_SUPPORT_STAGE STAGE30_FULL_EIGEN3_API
-#else
- #define IMP_EIGEN2_SUPPORT_STAGE STAGE99_NO_EIGEN2_SUPPORT
-#endif
-
-#ifdef IMP_EIGEN2_SUPPORT
-#undef minor
-#endif
-
-// we use size_t frequently and we'll never remember to prepend it with std:: everytime just to
-// ensure QNX/QCC support
-using std::size_t;
-// gcc 4.6.0 wants std:: for ptrdiff_t
-using std::ptrdiff_t;
-
-/** \defgroup Core_Module Core module
- * This is the main module of Eigen providing dense matrix and vector support
- * (both fixed and dynamic size) with all the features corresponding to a BLAS library
- * and much more...
- *
- * \code
- * #include
- * \endcode
- */
-
-#include "src/Core/util/Constants.h"
-#include "src/Core/util/ForwardDeclarations.h"
-#include "src/Core/util/Meta.h"
-#include "src/Core/util/StaticAssert.h"
-#include "src/Core/util/XprHelper.h"
-#include "src/Core/util/Memory.h"
-
-#include "src/Core/NumTraits.h"
-#include "src/Core/MathFunctions.h"
-#include "src/Core/GenericPacketMath.h"
-
-#if defined IMP_EIGEN_VECTORIZE_SSE
- #include "src/Core/arch/SSE/PacketMath.h"
- #include "src/Core/arch/SSE/MathFunctions.h"
- #include "src/Core/arch/SSE/Complex.h"
-#elif defined IMP_EIGEN_VECTORIZE_ALTIVEC
- #include "src/Core/arch/AltiVec/PacketMath.h"
- #include "src/Core/arch/AltiVec/Complex.h"
-#elif defined IMP_EIGEN_VECTORIZE_NEON
- #include "src/Core/arch/NEON/PacketMath.h"
- #include "src/Core/arch/NEON/Complex.h"
-#endif
-
-#include "src/Core/arch/Default/Settings.h"
-
-#include "src/Core/Functors.h"
-#include "src/Core/DenseCoeffsBase.h"
-#include "src/Core/DenseBase.h"
-#include "src/Core/MatrixBase.h"
-#include "src/Core/EigenBase.h"
-
-#ifndef IMP_EIGEN_PARSED_BY_DOXYGEN // work around Doxygen bug triggered by Assign.h r814874
- // at least confirmed with Doxygen 1.5.5 and 1.5.6
- #include "src/Core/Assign.h"
-#endif
-
-#include "src/Core/util/BlasUtil.h"
-#include "src/Core/DenseStorage.h"
-#include "src/Core/NestByValue.h"
-#include "src/Core/ForceAlignedAccess.h"
-#include "src/Core/ReturnByValue.h"
-#include "src/Core/NoAlias.h"
-#include "src/Core/PlainObjectBase.h"
-#include "src/Core/Matrix.h"
-#include "src/Core/Array.h"
-#include "src/Core/CwiseBinaryOp.h"
-#include "src/Core/CwiseUnaryOp.h"
-#include "src/Core/CwiseNullaryOp.h"
-#include "src/Core/CwiseUnaryView.h"
-#include "src/Core/SelfCwiseBinaryOp.h"
-#include "src/Core/Dot.h"
-#include "src/Core/StableNorm.h"
-#include "src/Core/MapBase.h"
-#include "src/Core/Stride.h"
-#include "src/Core/Map.h"
-#include "src/Core/Block.h"
-#include "src/Core/VectorBlock.h"
-#include "src/Core/Ref.h"
-#include "src/Core/Transpose.h"
-#include "src/Core/DiagonalMatrix.h"
-#include "src/Core/Diagonal.h"
-#include "src/Core/DiagonalProduct.h"
-#include "src/Core/PermutationMatrix.h"
-#include "src/Core/Transpositions.h"
-#include "src/Core/Redux.h"
-#include "src/Core/Visitor.h"
-#include "src/Core/Fuzzy.h"
-#include "src/Core/IO.h"
-#include "src/Core/Swap.h"
-#include "src/Core/CommaInitializer.h"
-#include "src/Core/Flagged.h"
-#include "src/Core/ProductBase.h"
-#include "src/Core/GeneralProduct.h"
-#include "src/Core/TriangularMatrix.h"
-#include "src/Core/SelfAdjointView.h"
-#include "src/Core/products/GeneralBlockPanelKernel.h"
-#include "src/Core/products/Parallelizer.h"
-#include "src/Core/products/CoeffBasedProduct.h"
-#include "src/Core/products/GeneralMatrixVector.h"
-#include "src/Core/products/GeneralMatrixMatrix.h"
-#include "src/Core/SolveTriangular.h"
-#include "src/Core/products/GeneralMatrixMatrixTriangular.h"
-#include "src/Core/products/SelfadjointMatrixVector.h"
-#include "src/Core/products/SelfadjointMatrixMatrix.h"
-#include "src/Core/products/SelfadjointProduct.h"
-#include "src/Core/products/SelfadjointRank2Update.h"
-#include "src/Core/products/TriangularMatrixVector.h"
-#include "src/Core/products/TriangularMatrixMatrix.h"
-#include "src/Core/products/TriangularSolverMatrix.h"
-#include "src/Core/products/TriangularSolverVector.h"
-#include "src/Core/BandMatrix.h"
-#include "src/Core/CoreIterators.h"
-
-#include "src/Core/BooleanRedux.h"
-#include "src/Core/Select.h"
-#include "src/Core/VectorwiseOp.h"
-#include "src/Core/Random.h"
-#include "src/Core/Replicate.h"
-#include "src/Core/Reverse.h"
-#include "src/Core/ArrayBase.h"
-#include "src/Core/ArrayWrapper.h"
-
-#ifdef IMP_EIGEN_USE_BLAS
-#include "src/Core/products/GeneralMatrixMatrix_MKL.h"
-#include "src/Core/products/GeneralMatrixVector_MKL.h"
-#include "src/Core/products/GeneralMatrixMatrixTriangular_MKL.h"
-#include "src/Core/products/SelfadjointMatrixMatrix_MKL.h"
-#include "src/Core/products/SelfadjointMatrixVector_MKL.h"
-#include "src/Core/products/TriangularMatrixMatrix_MKL.h"
-#include "src/Core/products/TriangularMatrixVector_MKL.h"
-#include "src/Core/products/TriangularSolverMatrix_MKL.h"
-#endif // IMP_EIGEN_USE_BLAS
-
-#ifdef IMP_EIGEN_USE_MKL_VML
-#include "src/Core/Assign_MKL.h"
-#endif
-
-#include "src/Core/GlobalFunctions.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#ifdef IMP_EIGEN2_SUPPORT
-#include "Eigen2Support"
-#endif
-
-#endif // IMP_EIGEN_CORE_H
diff --git a/modules/algebra/include/eigen3/Eigen/Dense b/modules/algebra/include/eigen3/Eigen/Dense
deleted file mode 100644
index 5768910bd8..0000000000
--- a/modules/algebra/include/eigen3/Eigen/Dense
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "Core"
-#include "LU"
-#include "Cholesky"
-#include "QR"
-#include "SVD"
-#include "Geometry"
-#include "Eigenvalues"
diff --git a/modules/algebra/include/eigen3/Eigen/Eigen b/modules/algebra/include/eigen3/Eigen/Eigen
deleted file mode 100644
index 19b40ea4e7..0000000000
--- a/modules/algebra/include/eigen3/Eigen/Eigen
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "Dense"
-//#include "Sparse"
diff --git a/modules/algebra/include/eigen3/Eigen/Eigen2Support b/modules/algebra/include/eigen3/Eigen/Eigen2Support
deleted file mode 100644
index dc606f3fac..0000000000
--- a/modules/algebra/include/eigen3/Eigen/Eigen2Support
+++ /dev/null
@@ -1,95 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2009 Gael Guennebaud
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef IMP_EIGEN2SUPPORT_H
-#define IMP_EIGEN2SUPPORT_H
-
-#if (!defined(IMP_EIGEN2_SUPPORT)) || (!defined(IMP_EIGEN_CORE_H))
-#error Eigen2 support must be enabled by defining IMP_EIGEN2_SUPPORT before including any Eigen header
-#endif
-
-#ifndef IMP_EIGEN_NO_EIGEN2_DEPRECATED_WARNING
-
-#if defined(__GNUC__) || defined(__INTEL_COMPILER) || defined(__clang__)
-#warning "Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3. (Define IMP_EIGEN_NO_EIGEN2_DEPRECATED_WARNING to disable this warning)"
-#else
-#pragma message ("Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3. (Define IMP_EIGEN_NO_EIGEN2_DEPRECATED_WARNING to disable this warning)")
-#endif
-
-#endif // IMP_EIGEN_NO_EIGEN2_DEPRECATED_WARNING
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \ingroup Support_modules
- * \defgroup Eigen2Support_Module Eigen2 support module
- *
- * \warning Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3.
- *
- * This module provides a couple of deprecated functions improving the compatibility with Eigen2.
- *
- * To use it, define IMP_EIGEN2_SUPPORT before including any Eigen header
- * \code
- * #define IMP_EIGEN2_SUPPORT
- * \endcode
- *
- */
-
-#include "src/Eigen2Support/Macros.h"
-#include "src/Eigen2Support/Memory.h"
-#include "src/Eigen2Support/Meta.h"
-#include "src/Eigen2Support/Lazy.h"
-#include "src/Eigen2Support/Cwise.h"
-#include "src/Eigen2Support/CwiseOperators.h"
-#include "src/Eigen2Support/TriangularSolver.h"
-#include "src/Eigen2Support/Block.h"
-#include "src/Eigen2Support/VectorBlock.h"
-#include "src/Eigen2Support/Minor.h"
-#include "src/Eigen2Support/MathFunctions.h"
-
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-// Eigen2 used to include iostream
-#include
-
-#define IMP_EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, SizeSuffix) \
-using IMP_Eigen::Matrix##SizeSuffix##TypeSuffix; \
-using IMP_Eigen::Vector##SizeSuffix##TypeSuffix; \
-using IMP_Eigen::RowVector##SizeSuffix##TypeSuffix;
-
-#define IMP_EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(TypeSuffix) \
-IMP_EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 2) \
-IMP_EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 3) \
-IMP_EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 4) \
-IMP_EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, X) \
-
-#define IMP_EIGEN_USING_MATRIX_TYPEDEFS \
-IMP_EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(i) \
-IMP_EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(f) \
-IMP_EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(d) \
-IMP_EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(cf) \
-IMP_EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(cd)
-
-#define USING_PART_OF_NAMESPACE_EIGEN \
-IMP_EIGEN_USING_MATRIX_TYPEDEFS \
-using IMP_Eigen::Matrix; \
-using IMP_Eigen::MatrixBase; \
-using IMP_Eigen::ei_random; \
-using IMP_Eigen::ei_real; \
-using IMP_Eigen::ei_imag; \
-using IMP_Eigen::ei_conj; \
-using IMP_Eigen::ei_abs; \
-using IMP_Eigen::ei_abs2; \
-using IMP_Eigen::ei_sqrt; \
-using IMP_Eigen::ei_exp; \
-using IMP_Eigen::ei_log; \
-using IMP_Eigen::ei_sin; \
-using IMP_Eigen::ei_cos;
-
-#endif // IMP_EIGEN2SUPPORT_H
diff --git a/modules/algebra/include/eigen3/Eigen/Eigenvalues b/modules/algebra/include/eigen3/Eigen/Eigenvalues
deleted file mode 100644
index 3ff0d27dba..0000000000
--- a/modules/algebra/include/eigen3/Eigen/Eigenvalues
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef IMP_EIGEN_EIGENVALUES_MODULE_H
-#define IMP_EIGEN_EIGENVALUES_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include "Cholesky"
-#include "Jacobi"
-#include "Householder"
-#include "LU"
-#include "Geometry"
-
-/** \defgroup Eigenvalues_Module Eigenvalues module
- *
- *
- *
- * This module mainly provides various eigenvalue solvers.
- * This module also provides some MatrixBase methods, including:
- * - MatrixBase::eigenvalues(),
- * - MatrixBase::operatorNorm()
- *
- * \code
- * #include
- * \endcode
- */
-
-#include "src/Eigenvalues/Tridiagonalization.h"
-#include "src/Eigenvalues/RealSchur.h"
-#include "src/Eigenvalues/EigenSolver.h"
-#include "src/Eigenvalues/SelfAdjointEigenSolver.h"
-#include "src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h"
-#include "src/Eigenvalues/HessenbergDecomposition.h"
-#include "src/Eigenvalues/ComplexSchur.h"
-#include "src/Eigenvalues/ComplexEigenSolver.h"
-#include "src/Eigenvalues/RealQZ.h"
-#include "src/Eigenvalues/GeneralizedEigenSolver.h"
-#include "src/Eigenvalues/MatrixBaseEigenvalues.h"
-#ifdef IMP_EIGEN_USE_LAPACKE
-#include "src/Eigenvalues/RealSchur_MKL.h"
-#include "src/Eigenvalues/ComplexSchur_MKL.h"
-#include "src/Eigenvalues/SelfAdjointEigenSolver_MKL.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_EIGENVALUES_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/modules/algebra/include/eigen3/Eigen/Geometry b/modules/algebra/include/eigen3/Eigen/Geometry
deleted file mode 100644
index 38e3479811..0000000000
--- a/modules/algebra/include/eigen3/Eigen/Geometry
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef IMP_EIGEN_GEOMETRY_MODULE_H
-#define IMP_EIGEN_GEOMETRY_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include "SVD"
-#include "LU"
-#include
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-/** \defgroup Geometry_Module Geometry module
- *
- *
- *
- * This module provides support for:
- * - fixed-size homogeneous transformations
- * - translation, scaling, 2D and 3D rotations
- * - quaternions
- * - \ref MatrixBase::cross() "cross product"
- * - \ref MatrixBase::unitOrthogonal() "orthognal vector generation"
- * - some linear components: parametrized-lines and hyperplanes
- *
- * \code
- * #include
- * \endcode
- */
-
-#include "src/Geometry/OrthoMethods.h"
-#include "src/Geometry/EulerAngles.h"
-
-#if IMP_EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS
- #include "src/Geometry/Homogeneous.h"
- #include "src/Geometry/RotationBase.h"
- #include "src/Geometry/Rotation2D.h"
- #include "src/Geometry/Quaternion.h"
- #include "src/Geometry/AngleAxis.h"
- #include "src/Geometry/Transform.h"
- #include "src/Geometry/Translation.h"
- #include "src/Geometry/Scaling.h"
- #include "src/Geometry/Hyperplane.h"
- #include "src/Geometry/ParametrizedLine.h"
- #include "src/Geometry/AlignedBox.h"
- #include "src/Geometry/Umeyama.h"
-
- #if defined IMP_EIGEN_VECTORIZE_SSE
- #include "src/Geometry/arch/Geometry_SSE.h"
- #endif
-#endif
-
-#ifdef IMP_EIGEN2_SUPPORT
-#include "src/Eigen2Support/Geometry/All.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_GEOMETRY_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
-
diff --git a/modules/algebra/include/eigen3/Eigen/Householder b/modules/algebra/include/eigen3/Eigen/Householder
deleted file mode 100644
index 775a037e6b..0000000000
--- a/modules/algebra/include/eigen3/Eigen/Householder
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef IMP_EIGEN_HOUSEHOLDER_MODULE_H
-#define IMP_EIGEN_HOUSEHOLDER_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \defgroup Householder_Module Householder module
- * This module provides Householder transformations.
- *
- * \code
- * #include
- * \endcode
- */
-
-#include "src/Householder/Householder.h"
-#include "src/Householder/HouseholderSequence.h"
-#include "src/Householder/BlockHouseholder.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_HOUSEHOLDER_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/modules/algebra/include/eigen3/Eigen/IterativeLinearSolvers b/modules/algebra/include/eigen3/Eigen/IterativeLinearSolvers
deleted file mode 100644
index 6ea17f3862..0000000000
--- a/modules/algebra/include/eigen3/Eigen/IterativeLinearSolvers
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef IMP_EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
-#define IMP_EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
-
-#include "SparseCore"
-#include "OrderingMethods"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/**
- * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module
- *
- * This module currently provides iterative methods to solve problems of the form \c A \c x = \c b, where \c A is a squared matrix, usually very large and sparse.
- * Those solvers are accessible via the following classes:
- * - ConjugateGradient for selfadjoint (hermitian) matrices,
- * - BiCGSTAB for general square matrices.
- *
- * These iterative solvers are associated with some preconditioners:
- * - IdentityPreconditioner - not really useful
- * - DiagonalPreconditioner - also called JAcobi preconditioner, work very well on diagonal dominant matrices.
- * - IncompleteILUT - incomplete LU factorization with dual thresholding
- *
- * Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport.
- *
- * \code
- * #include
- * \endcode
- */
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-
-#include "src/IterativeLinearSolvers/IterativeSolverBase.h"
-#include "src/IterativeLinearSolvers/BasicPreconditioners.h"
-#include "src/IterativeLinearSolvers/ConjugateGradient.h"
-#include "src/IterativeLinearSolvers/BiCGSTAB.h"
-#include "src/IterativeLinearSolvers/IncompleteLUT.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
diff --git a/modules/algebra/include/eigen3/Eigen/Jacobi b/modules/algebra/include/eigen3/Eigen/Jacobi
deleted file mode 100644
index 2ec621160a..0000000000
--- a/modules/algebra/include/eigen3/Eigen/Jacobi
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef IMP_EIGEN_JACOBI_MODULE_H
-#define IMP_EIGEN_JACOBI_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \defgroup Jacobi_Module Jacobi module
- * This module provides Jacobi and Givens rotations.
- *
- * \code
- * #include
- * \endcode
- *
- * In addition to listed classes, it defines the two following MatrixBase methods to apply a Jacobi or Givens rotation:
- * - MatrixBase::applyOnTheLeft()
- * - MatrixBase::applyOnTheRight().
- */
-
-#include "src/Jacobi/Jacobi.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_JACOBI_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
-
diff --git a/modules/algebra/include/eigen3/Eigen/LU b/modules/algebra/include/eigen3/Eigen/LU
deleted file mode 100644
index d2f3301998..0000000000
--- a/modules/algebra/include/eigen3/Eigen/LU
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef IMP_EIGEN_LU_MODULE_H
-#define IMP_EIGEN_LU_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \defgroup LU_Module LU module
- * This module includes %LU decomposition and related notions such as matrix inversion and determinant.
- * This module defines the following MatrixBase methods:
- * - MatrixBase::inverse()
- * - MatrixBase::determinant()
- *
- * \code
- * #include
- * \endcode
- */
-
-#include "src/misc/Solve.h"
-#include "src/misc/Kernel.h"
-#include "src/misc/Image.h"
-#include "src/LU/FullPivLU.h"
-#include "src/LU/PartialPivLU.h"
-#ifdef IMP_EIGEN_USE_LAPACKE
-#include "src/LU/PartialPivLU_MKL.h"
-#endif
-#include "src/LU/Determinant.h"
-#include "src/LU/Inverse.h"
-
-#if defined IMP_EIGEN_VECTORIZE_SSE
- #include "src/LU/arch/Inverse_SSE.h"
-#endif
-
-#ifdef IMP_EIGEN2_SUPPORT
- #include "src/Eigen2Support/LU.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_LU_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/modules/algebra/include/eigen3/Eigen/LeastSquares b/modules/algebra/include/eigen3/Eigen/LeastSquares
deleted file mode 100644
index 71ab5b4b44..0000000000
--- a/modules/algebra/include/eigen3/Eigen/LeastSquares
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef IMP_EIGEN_REGRESSION_MODULE_H
-#define IMP_EIGEN_REGRESSION_MODULE_H
-
-#ifndef IMP_EIGEN2_SUPPORT
-#error LeastSquares is only available in Eigen2 support mode (define IMP_EIGEN2_SUPPORT)
-#endif
-
-// exclude from normal eigen3-only documentation
-#ifdef IMP_EIGEN2_SUPPORT
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include "Eigenvalues"
-#include "Geometry"
-
-/** \defgroup LeastSquares_Module LeastSquares module
- * This module provides linear regression and related features.
- *
- * \code
- * #include
- * \endcode
- */
-
-#include "src/Eigen2Support/LeastSquares.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN2_SUPPORT
-
-#endif // IMP_EIGEN_REGRESSION_MODULE_H
diff --git a/modules/algebra/include/eigen3/Eigen/MetisSupport b/modules/algebra/include/eigen3/Eigen/MetisSupport
deleted file mode 100644
index 540f1c08a6..0000000000
--- a/modules/algebra/include/eigen3/Eigen/MetisSupport
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef IMP_EIGEN_METISSUPPORT_MODULE_H
-#define IMP_EIGEN_METISSUPPORT_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-extern "C" {
-#include
-}
-
-
-/** \ingroup Support_modules
- * \defgroup MetisSupport_Module MetisSupport module
- *
- * \code
- * #include
- * \endcode
- * This module defines an interface to the METIS reordering package (http://glaros.dtc.umn.edu/gkhome/views/metis).
- * It can be used just as any other built-in method as explained in \link OrderingMethods_Module here. \endlink
- */
-
-
-#include "src/MetisSupport/MetisSupport.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_METISSUPPORT_MODULE_H
diff --git a/modules/algebra/include/eigen3/Eigen/OrderingMethods b/modules/algebra/include/eigen3/Eigen/OrderingMethods
deleted file mode 100644
index 406e273cb5..0000000000
--- a/modules/algebra/include/eigen3/Eigen/OrderingMethods
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef IMP_EIGEN_ORDERINGMETHODS_MODULE_H
-#define IMP_EIGEN_ORDERINGMETHODS_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/**
- * \defgroup OrderingMethods_Module OrderingMethods module
- *
- * This module is currently for internal use only
- *
- * It defines various built-in and external ordering methods for sparse matrices.
- * They are typically used to reduce the number of elements during
- * the sparse matrix decomposition (LLT, LU, QR).
- * Precisely, in a preprocessing step, a permutation matrix P is computed using
- * those ordering methods and applied to the columns of the matrix.
- * Using for instance the sparse Cholesky decomposition, it is expected that
- * the nonzeros elements in LLT(A*P) will be much smaller than that in LLT(A).
- *
- *
- * Usage :
- * \code
- * #include
- * \endcode
- *
- * A simple usage is as a template parameter in the sparse decomposition classes :
- *
- * \code
- * SparseLU > solver;
- * \endcode
- *
- * \code
- * SparseQR > solver;
- * \endcode
- *
- * It is possible as well to call directly a particular ordering method for your own purpose,
- * \code
- * AMDOrdering ordering;
- * PermutationMatrix perm;
- * SparseMatrix A;
- * //Fill the matrix ...
- *
- * ordering(A, perm); // Call AMD
- * \endcode
- *
- * \note Some of these methods (like AMD or METIS), need the sparsity pattern
- * of the input matrix to be symmetric. When the matrix is structurally unsymmetric,
- * Eigen computes internally the pattern of \f$A^T*A\f$ before calling the method.
- * If your matrix is already symmetric (at leat in structure), you can avoid that
- * by calling the method with a SelfAdjointView type.
- *
- * \code
- * // Call the ordering on the pattern of the lower triangular matrix A
- * ordering(A.selfadjointView(), perm);
- * \endcode
- */
-
-#ifndef IMP_EIGEN_MPL2_ONLY
-#include "src/OrderingMethods/Amd.h"
-#endif
-
-#include "src/OrderingMethods/Ordering.h"
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_ORDERINGMETHODS_MODULE_H
diff --git a/modules/algebra/include/eigen3/Eigen/PaStiXSupport b/modules/algebra/include/eigen3/Eigen/PaStiXSupport
deleted file mode 100644
index fb3a1df521..0000000000
--- a/modules/algebra/include/eigen3/Eigen/PaStiXSupport
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef IMP_EIGEN_PASTIXSUPPORT_MODULE_H
-#define IMP_EIGEN_PASTIXSUPPORT_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include
-extern "C" {
-#include
-#include
-}
-
-#ifdef complex
-#undef complex
-#endif
-
-/** \ingroup Support_modules
- * \defgroup PaStiXSupport_Module PaStiXSupport module
- *
- * This module provides an interface to the PaSTiX library.
- * PaSTiX is a general \b supernodal, \b parallel and \b opensource sparse solver.
- * It provides the two following main factorization classes:
- * - class PastixLLT : a supernodal, parallel LLt Cholesky factorization.
- * - class PastixLDLT: a supernodal, parallel LDLt Cholesky factorization.
- * - class PastixLU : a supernodal, parallel LU factorization (optimized for a symmetric pattern).
- *
- * \code
- * #include
- * \endcode
- *
- * In order to use this module, the PaSTiX headers must be accessible from the include paths, and your binary must be linked to the PaSTiX library and its dependencies.
- * The dependencies depend on how PaSTiX has been compiled.
- * For a cmake based project, you can use our FindPaSTiX.cmake module to help you in this task.
- *
- */
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-
-#include "src/PaStiXSupport/PaStiXSupport.h"
-
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_PASTIXSUPPORT_MODULE_H
diff --git a/modules/algebra/include/eigen3/Eigen/PardisoSupport b/modules/algebra/include/eigen3/Eigen/PardisoSupport
deleted file mode 100644
index 3e5a48433c..0000000000
--- a/modules/algebra/include/eigen3/Eigen/PardisoSupport
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef IMP_EIGEN_PARDISOSUPPORT_MODULE_H
-#define IMP_EIGEN_PARDISOSUPPORT_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include
-
-#include
-
-/** \ingroup Support_modules
- * \defgroup PardisoSupport_Module PardisoSupport module
- *
- * This module brings support for the Intel(R) MKL PARDISO direct sparse solvers.
- *
- * \code
- * #include
- * \endcode
- *
- * In order to use this module, the MKL headers must be accessible from the include paths, and your binary must be linked to the MKL library and its dependencies.
- * See this \ref TopicUsingIntelMKL "page" for more information on MKL-Eigen integration.
- *
- */
-
-#include "src/PardisoSupport/PardisoSupport.h"
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_PARDISOSUPPORT_MODULE_H
diff --git a/modules/algebra/include/eigen3/Eigen/QR b/modules/algebra/include/eigen3/Eigen/QR
deleted file mode 100644
index c3849c74d3..0000000000
--- a/modules/algebra/include/eigen3/Eigen/QR
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef IMP_EIGEN_QR_MODULE_H
-#define IMP_EIGEN_QR_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include "Cholesky"
-#include "Jacobi"
-#include "Householder"
-
-/** \defgroup QR_Module QR module
- *
- *
- *
- * This module provides various QR decompositions
- * This module also provides some MatrixBase methods, including:
- * - MatrixBase::qr(),
- *
- * \code
- * #include
- * \endcode
- */
-
-#include "src/misc/Solve.h"
-#include "src/QR/HouseholderQR.h"
-#include "src/QR/FullPivHouseholderQR.h"
-#include "src/QR/ColPivHouseholderQR.h"
-#ifdef IMP_EIGEN_USE_LAPACKE
-#include "src/QR/HouseholderQR_MKL.h"
-#include "src/QR/ColPivHouseholderQR_MKL.h"
-#endif
-
-#ifdef IMP_EIGEN2_SUPPORT
-#include "src/Eigen2Support/QR.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#ifdef IMP_EIGEN2_SUPPORT
-#include "Eigenvalues"
-#endif
-
-#endif // IMP_EIGEN_QR_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/modules/algebra/include/eigen3/Eigen/QtAlignedMalloc b/modules/algebra/include/eigen3/Eigen/QtAlignedMalloc
deleted file mode 100644
index 6bcd1c4d68..0000000000
--- a/modules/algebra/include/eigen3/Eigen/QtAlignedMalloc
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef IMP_EIGEN_QTMALLOC_MODULE_H
-#define IMP_EIGEN_QTMALLOC_MODULE_H
-
-#include "Core"
-
-#if (!IMP_EIGEN_MALLOC_ALREADY_ALIGNED)
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-void *qMalloc(size_t size)
-{
- return IMP_Eigen::internal::aligned_malloc(size);
-}
-
-void qFree(void *ptr)
-{
- IMP_Eigen::internal::aligned_free(ptr);
-}
-
-void *qRealloc(void *ptr, size_t size)
-{
- void* newPtr = IMP_Eigen::internal::aligned_malloc(size);
- memcpy(newPtr, ptr, size);
- IMP_Eigen::internal::aligned_free(ptr);
- return newPtr;
-}
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif
-
-#endif // IMP_EIGEN_QTMALLOC_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/modules/algebra/include/eigen3/Eigen/SPQRSupport b/modules/algebra/include/eigen3/Eigen/SPQRSupport
deleted file mode 100644
index c7dec27f91..0000000000
--- a/modules/algebra/include/eigen3/Eigen/SPQRSupport
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef IMP_EIGEN_SPQRSUPPORT_MODULE_H
-#define IMP_EIGEN_SPQRSUPPORT_MODULE_H
-
-#include "SparseCore"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include "SuiteSparseQR.hpp"
-
-/** \ingroup Support_modules
- * \defgroup SPQRSupport_Module SuiteSparseQR module
- *
- * This module provides an interface to the SPQR library, which is part of the suitesparse package.
- *
- * \code
- * #include
- * \endcode
- *
- * In order to use this module, the SPQR headers must be accessible from the include paths, and your binary must be linked to the SPQR library and its dependencies (Cholmod, AMD, COLAMD,...).
- * For a cmake based project, you can use our FindSPQR.cmake and FindCholmod.Cmake modules
- *
- */
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-#include "src/CholmodSupport/CholmodSupport.h"
-#include "src/SPQRSupport/SuiteSparseQRSupport.h"
-
-#endif
diff --git a/modules/algebra/include/eigen3/Eigen/SVD b/modules/algebra/include/eigen3/Eigen/SVD
deleted file mode 100644
index b3141521d5..0000000000
--- a/modules/algebra/include/eigen3/Eigen/SVD
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef IMP_EIGEN_SVD_MODULE_H
-#define IMP_EIGEN_SVD_MODULE_H
-
-#include "QR"
-#include "Householder"
-#include "Jacobi"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/** \defgroup SVD_Module SVD module
- *
- *
- *
- * This module provides SVD decomposition for matrices (both real and complex).
- * This decomposition is accessible via the following MatrixBase method:
- * - MatrixBase::jacobiSvd()
- *
- * \code
- * #include
- * \endcode
- */
-
-#include "src/misc/Solve.h"
-#include "src/SVD/JacobiSVD.h"
-#if defined(IMP_EIGEN_USE_LAPACKE) && !defined(IMP_EIGEN_USE_LAPACKE_STRICT)
-#include "src/SVD/JacobiSVD_MKL.h"
-#endif
-#include "src/SVD/UpperBidiagonalization.h"
-
-#ifdef IMP_EIGEN2_SUPPORT
-#include "src/Eigen2Support/SVD.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_SVD_MODULE_H
-/* vim: set filetype=cpp et sw=2 ts=2 ai: */
diff --git a/modules/algebra/include/eigen3/Eigen/Sparse b/modules/algebra/include/eigen3/Eigen/Sparse
deleted file mode 100644
index 484ec8f1fe..0000000000
--- a/modules/algebra/include/eigen3/Eigen/Sparse
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef IMP_EIGEN_SPARSE_MODULE_H
-#define IMP_EIGEN_SPARSE_MODULE_H
-
-/** \defgroup Sparse_Module Sparse meta-module
- *
- * Meta-module including all related modules:
- * - \ref SparseCore_Module
- * - \ref OrderingMethods_Module
- * - \ref SparseCholesky_Module
- * - \ref SparseLU_Module
- * - \ref SparseQR_Module
- * - \ref IterativeLinearSolvers_Module
- *
- * \code
- * #include
- * \endcode
- */
-
-#include "SparseCore"
-#include "OrderingMethods"
-#include "SparseCholesky"
-#include "SparseLU"
-#include "SparseQR"
-#include "IterativeLinearSolvers"
-
-#endif // IMP_EIGEN_SPARSE_MODULE_H
-
diff --git a/modules/algebra/include/eigen3/Eigen/SparseCholesky b/modules/algebra/include/eigen3/Eigen/SparseCholesky
deleted file mode 100644
index e124da8a9d..0000000000
--- a/modules/algebra/include/eigen3/Eigen/SparseCholesky
+++ /dev/null
@@ -1,47 +0,0 @@
-// This file is part of Eigen, a lightweight C++ template library
-// for linear algebra.
-//
-// Copyright (C) 2008-2013 Gael Guennebaud
-//
-// This Source Code Form is subject to the terms of the Mozilla
-// Public License v. 2.0. If a copy of the MPL was not distributed
-// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#ifndef IMP_EIGEN_SPARSECHOLESKY_MODULE_H
-#define IMP_EIGEN_SPARSECHOLESKY_MODULE_H
-
-#include "SparseCore"
-#include "OrderingMethods"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-/**
- * \defgroup SparseCholesky_Module SparseCholesky module
- *
- * This module currently provides two variants of the direct sparse Cholesky decomposition for selfadjoint (hermitian) matrices.
- * Those decompositions are accessible via the following classes:
- * - SimplicialLLt,
- * - SimplicialLDLt
- *
- * Such problems can also be solved using the ConjugateGradient solver from the IterativeLinearSolvers module.
- *
- * \code
- * #include
- * \endcode
- */
-
-#ifdef IMP_EIGEN_MPL2_ONLY
-#error The SparseCholesky module has nothing to offer in MPL2 only mode
-#endif
-
-#include "src/misc/Solve.h"
-#include "src/misc/SparseSolve.h"
-#include "src/SparseCholesky/SimplicialCholesky.h"
-
-#ifndef IMP_EIGEN_MPL2_ONLY
-#include "src/SparseCholesky/SimplicialCholesky_impl.h"
-#endif
-
-#include "src/Core/util/ReenableStupidWarnings.h"
-
-#endif // IMP_EIGEN_SPARSECHOLESKY_MODULE_H
diff --git a/modules/algebra/include/eigen3/Eigen/SparseCore b/modules/algebra/include/eigen3/Eigen/SparseCore
deleted file mode 100644
index d7ff286de4..0000000000
--- a/modules/algebra/include/eigen3/Eigen/SparseCore
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef IMP_EIGEN_SPARSECORE_MODULE_H
-#define IMP_EIGEN_SPARSECORE_MODULE_H
-
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include
-#include