[Rcpp-commits] r3491 - in pkg/RcppEigen: . R inst inst/include inst/include/Eigen inst/include/Eigen/src inst/include/Eigen/src/Cholesky inst/include/Eigen/src/CholmodSupport inst/include/Eigen/src/Core inst/include/Eigen/src/Core/arch/AltiVec inst/include/Eigen/src/Core/arch/NEON inst/include/Eigen/src/Core/arch/SSE inst/include/Eigen/src/Core/products inst/include/Eigen/src/Core/util inst/include/Eigen/src/Eigen2Support inst/include/Eigen/src/Eigen2Support/Geometry inst/include/Eigen/src/Eigenvalues inst/include/Eigen/src/Geometry inst/include/Eigen/src/Geometry/arch inst/include/Eigen/src/Householder inst/include/Eigen/src/IterativeLinearSolvers inst/include/Eigen/src/Jacobi inst/include/Eigen/src/LU inst/include/Eigen/src/LU/arch inst/include/Eigen/src/OrderingMethods inst/include/Eigen/src/PardisoSupport inst/include/Eigen/src/QR inst/include/Eigen/src/SVD inst/include/Eigen/src/Sparse inst/include/Eigen/src/SparseCholesky inst/include/Eigen/src/SparseCore inst/include/Eigen/src/SuperLUSupport inst/include/Eigen/src/UmfPackSupport inst/include/Eigen/src/misc inst/include/Eigen/src/plugins inst/include/unsupported/Eigen inst/include/unsupported/Eigen/src inst/include/unsupported/Eigen/src/AutoDiff inst/include/unsupported/Eigen/src/BVH inst/include/unsupported/Eigen/src/IterativeSolvers inst/include/unsupported/Eigen/src/KroneckerProduct inst/include/unsupported/Eigen/src/MatrixFunctions inst/include/unsupported/Eigen/src/MoreVectorization inst/include/unsupported/Eigen/src/NonLinearOptimization inst/include/unsupported/Eigen/src/NumericalDiff inst/include/unsupported/Eigen/src/Polynomials inst/include/unsupported/Eigen/src/Skyline inst/include/unsupported/Eigen/src/SparseExtra inst/include/unsupported/Eigen/src/Splines src

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Thu Mar 8 19:17:44 CET 2012


Author: dmbates
Date: 2012-03-08 19:17:43 +0100 (Thu, 08 Mar 2012)
New Revision: 3491

Added:
   pkg/RcppEigen/inst/include/Eigen/CholmodSupport
   pkg/RcppEigen/inst/include/Eigen/IterativeLinearSolvers
   pkg/RcppEigen/inst/include/Eigen/OrderingMethods
   pkg/RcppEigen/inst/include/Eigen/PardisoSupport
   pkg/RcppEigen/inst/include/Eigen/SparseCholesky
   pkg/RcppEigen/inst/include/Eigen/SparseCore
   pkg/RcppEigen/inst/include/Eigen/SuperLUSupport
   pkg/RcppEigen/inst/include/Eigen/UmfPackSupport
   pkg/RcppEigen/inst/include/Eigen/src/Cholesky/LLT_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/CholmodSupport/
   pkg/RcppEigen/inst/include/Eigen/src/CholmodSupport/CholmodSupport.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Assign_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/GeneralProduct.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/GeneralMatrixVector_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/TriangularMatrixVector_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/util/MKL_support.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigenvalues/ComplexSchur_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigenvalues/RealSchur_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/IterativeLinearSolvers/
   pkg/RcppEigen/inst/include/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h
   pkg/RcppEigen/inst/include/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h
   pkg/RcppEigen/inst/include/Eigen/src/IterativeLinearSolvers/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h
   pkg/RcppEigen/inst/include/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h
   pkg/RcppEigen/inst/include/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
   pkg/RcppEigen/inst/include/Eigen/src/LU/PartialPivLU_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/OrderingMethods/
   pkg/RcppEigen/inst/include/Eigen/src/OrderingMethods/Amd.h
   pkg/RcppEigen/inst/include/Eigen/src/OrderingMethods/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/PardisoSupport/
   pkg/RcppEigen/inst/include/Eigen/src/PardisoSupport/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/PardisoSupport/PardisoSupport.h
   pkg/RcppEigen/inst/include/Eigen/src/QR/ColPivHouseholderQR_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/QR/HouseholderQR_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/SVD/JacobiSVD_MKL.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCholesky/
   pkg/RcppEigen/inst/include/Eigen/src/SparseCholesky/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/SparseCholesky/SimplicialCholesky.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/AmbiVector.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/CompressedStorage.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/CoreIterators.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/MappedSparseMatrix.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseAssign.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseBlock.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseCwiseBinaryOp.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseCwiseUnaryOp.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseDenseProduct.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseDiagonalProduct.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseDot.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseFuzzy.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseMatrix.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseMatrixBase.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseProduct.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseRedux.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseSelfAdjointView.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseSparseProductWithPruning.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseTranspose.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseTriangularView.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseUtil.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseVector.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/SparseView.h
   pkg/RcppEigen/inst/include/Eigen/src/SparseCore/TriangularSolver.h
   pkg/RcppEigen/inst/include/Eigen/src/SuperLUSupport/
   pkg/RcppEigen/inst/include/Eigen/src/SuperLUSupport/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/SuperLUSupport/SuperLUSupport.h
   pkg/RcppEigen/inst/include/Eigen/src/UmfPackSupport/
   pkg/RcppEigen/inst/include/Eigen/src/UmfPackSupport/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/UmfPackSupport/UmfPackSupport.h
   pkg/RcppEigen/inst/include/Eigen/src/misc/SparseSolve.h
   pkg/RcppEigen/inst/include/Eigen/src/misc/blas.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/AutoDiff
   pkg/RcppEigen/inst/include/unsupported/Eigen/IterativeSolvers
   pkg/RcppEigen/inst/include/unsupported/Eigen/KroneckerProduct
   pkg/RcppEigen/inst/include/unsupported/Eigen/MatrixFunctions
   pkg/RcppEigen/inst/include/unsupported/Eigen/MoreVectorization
   pkg/RcppEigen/inst/include/unsupported/Eigen/NonLinearOptimization
   pkg/RcppEigen/inst/include/unsupported/Eigen/NumericalDiff
   pkg/RcppEigen/inst/include/unsupported/Eigen/Polynomials
   pkg/RcppEigen/inst/include/unsupported/Eigen/Skyline
   pkg/RcppEigen/inst/include/unsupported/Eigen/Splines
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/AutoDiff/
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/AutoDiff/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/BVH/
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/BVH/BVAlgorithms.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/BVH/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/BVH/KdBVH.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/IterativeSolvers/
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/IterativeSolvers/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/IterativeSolvers/IterationController.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/KroneckerProduct/
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/KroneckerProduct/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/MatrixFunctions/
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/MatrixFunctions/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/MatrixFunctions/MatrixFunctionAtomic.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/MatrixFunctions/StemFunction.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/MoreVectorization/
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/MoreVectorization/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/MoreVectorization/MathFunctions.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/chkder.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/covar.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/dogleg.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/lmpar.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/r1updt.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NumericalDiff/
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NumericalDiff/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Polynomials/
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Polynomials/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Polynomials/Companion.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Polynomials/PolynomialSolver.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Polynomials/PolynomialUtils.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Skyline/
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Skyline/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Skyline/SkylineMatrix.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Skyline/SkylineProduct.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Skyline/SkylineStorage.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Skyline/SkylineUtil.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/MarketIO.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Splines/
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Splines/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Splines/Spline.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Splines/SplineFitting.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/Splines/SplineFwd.h
   pkg/RcppEigen/inst/tests/
Removed:
   pkg/RcppEigen/inst/include/Eigen/src/Core/util/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/Eigenvalues/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/Jacobi/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/LU/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/LU/arch/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/QR/CMakeLists.txt
   pkg/RcppEigen/inst/include/Eigen/src/Sparse/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/Amd.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/CMakeLists.txt
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/CholmodSupport.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/CholmodSupportLegacy.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/SimplicialCholesky.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/Solve.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/SparseLDLTLegacy.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/SparseLLT.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/SparseLU.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/SuperLUSupport.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/UmfPackSupport.h
Modified:
   pkg/RcppEigen/DESCRIPTION
   pkg/RcppEigen/R/unit.test.R
   pkg/RcppEigen/inst/include/Eigen/Cholesky
   pkg/RcppEigen/inst/include/Eigen/Core
   pkg/RcppEigen/inst/include/Eigen/Eigen2Support
   pkg/RcppEigen/inst/include/Eigen/Eigenvalues
   pkg/RcppEigen/inst/include/Eigen/LU
   pkg/RcppEigen/inst/include/Eigen/QR
   pkg/RcppEigen/inst/include/Eigen/SVD
   pkg/RcppEigen/inst/include/Eigen/Sparse
   pkg/RcppEigen/inst/include/Eigen/src/Cholesky/LDLT.h
   pkg/RcppEigen/inst/include/Eigen/src/Cholesky/LLT.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Array.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/ArrayBase.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/ArrayWrapper.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Assign.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Block.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/BooleanRedux.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/CwiseBinaryOp.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/CwiseNullaryOp.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/CwiseUnaryOp.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/CwiseUnaryView.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/DenseBase.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/DenseCoeffsBase.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/DenseStorage.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Diagonal.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/DiagonalMatrix.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/DiagonalProduct.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Dot.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Functors.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Fuzzy.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/GenericPacketMath.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/GlobalFunctions.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/IO.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Map.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/MapBase.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/MathFunctions.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Matrix.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/MatrixBase.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/NumTraits.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/PermutationMatrix.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/PlainObjectBase.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Product.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/ProductBase.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Redux.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Replicate.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Reverse.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Select.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/SelfAdjointView.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/SelfCwiseBinaryOp.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/SolveTriangular.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/StableNorm.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Swap.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Transpose.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Transpositions.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/TriangularMatrix.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/VectorwiseOp.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/Visitor.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/arch/AltiVec/Complex.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/arch/AltiVec/PacketMath.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/arch/NEON/Complex.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/arch/NEON/PacketMath.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/arch/SSE/Complex.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/arch/SSE/PacketMath.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/CoeffBasedProduct.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/GeneralBlockPanelKernel.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/GeneralMatrixMatrix.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/GeneralMatrixVector.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/Parallelizer.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/SelfadjointMatrixMatrix.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/SelfadjointMatrixVector.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/SelfadjointProduct.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/SelfadjointRank2Update.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/TriangularMatrixMatrix.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/TriangularMatrixVector.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/products/TriangularSolverMatrix.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/util/BlasUtil.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/util/Constants.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/util/DisableStupidWarnings.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/util/ForwardDeclarations.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/util/Macros.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/util/Memory.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/util/Meta.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/util/StaticAssert.h
   pkg/RcppEigen/inst/include/Eigen/src/Core/util/XprHelper.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigen2Support/Geometry/AlignedBox.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigen2Support/Geometry/All.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigen2Support/Geometry/Quaternion.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigen2Support/Geometry/RotationBase.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigen2Support/LU.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigen2Support/SVD.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigenvalues/ComplexSchur.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigenvalues/EigenSolver.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigenvalues/RealSchur.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
   pkg/RcppEigen/inst/include/Eigen/src/Eigenvalues/Tridiagonalization.h
   pkg/RcppEigen/inst/include/Eigen/src/Geometry/AlignedBox.h
   pkg/RcppEigen/inst/include/Eigen/src/Geometry/AngleAxis.h
   pkg/RcppEigen/inst/include/Eigen/src/Geometry/Homogeneous.h
   pkg/RcppEigen/inst/include/Eigen/src/Geometry/Hyperplane.h
   pkg/RcppEigen/inst/include/Eigen/src/Geometry/OrthoMethods.h
   pkg/RcppEigen/inst/include/Eigen/src/Geometry/ParametrizedLine.h
   pkg/RcppEigen/inst/include/Eigen/src/Geometry/Quaternion.h
   pkg/RcppEigen/inst/include/Eigen/src/Geometry/Rotation2D.h
   pkg/RcppEigen/inst/include/Eigen/src/Geometry/RotationBase.h
   pkg/RcppEigen/inst/include/Eigen/src/Geometry/Transform.h
   pkg/RcppEigen/inst/include/Eigen/src/Geometry/Translation.h
   pkg/RcppEigen/inst/include/Eigen/src/Geometry/arch/Geometry_SSE.h
   pkg/RcppEigen/inst/include/Eigen/src/Householder/BlockHouseholder.h
   pkg/RcppEigen/inst/include/Eigen/src/Householder/HouseholderSequence.h
   pkg/RcppEigen/inst/include/Eigen/src/Jacobi/Jacobi.h
   pkg/RcppEigen/inst/include/Eigen/src/LU/FullPivLU.h
   pkg/RcppEigen/inst/include/Eigen/src/LU/Inverse.h
   pkg/RcppEigen/inst/include/Eigen/src/LU/arch/Inverse_SSE.h
   pkg/RcppEigen/inst/include/Eigen/src/QR/FullPivHouseholderQR.h
   pkg/RcppEigen/inst/include/Eigen/src/SVD/JacobiSVD.h
   pkg/RcppEigen/inst/include/Eigen/src/misc/Solve.h
   pkg/RcppEigen/inst/include/Eigen/src/plugins/ArrayCwiseBinaryOps.h
   pkg/RcppEigen/inst/include/Eigen/src/plugins/MatrixCwiseBinaryOps.h
   pkg/RcppEigen/inst/include/RcppEigenCholmod.h
   pkg/RcppEigen/inst/include/RcppEigenConfig.h
   pkg/RcppEigen/inst/include/RcppEigenForward.h
   pkg/RcppEigen/inst/include/RcppEigenStubs.h
   pkg/RcppEigen/inst/include/RcppEigenWrap.h
   pkg/RcppEigen/inst/include/unsupported/Eigen/SparseExtra
   pkg/RcppEigen/inst/include/unsupported/Eigen/src/SparseExtra/RandomSetter.h
   pkg/RcppEigen/src/Makevars
Log:
Massive changes in upgrade to Eigen-3.1.0-alpha2


Modified: pkg/RcppEigen/DESCRIPTION
===================================================================
--- pkg/RcppEigen/DESCRIPTION	2012-03-06 16:18:19 UTC (rev 3490)
+++ pkg/RcppEigen/DESCRIPTION	2012-03-08 18:17:43 UTC (rev 3491)
@@ -1,8 +1,8 @@
 Package: RcppEigen
 Type: Package
 Title: Rcpp integration for the Eigen templated linear algebra library.
-Version: 0.1.4
-Date: 2011-11-14
+Version: 0.2.0
+Date: 2012-03-08
 Author: Douglas Bates, Romain Francois and Dirk Eddelbuettel
 Maintainer: Douglas Bates, Romain Francois and Dirk Eddelbuettel <RcppArmadillo-authors at r-enthusiasts.com>
 Description: R and Eigen integration using Rcpp.
@@ -27,5 +27,5 @@
 LazyLoad: yes
 LinkingTo: Rcpp
 Imports: Matrix
-Suggests: inline, RUnit
+Suggests: inline, RUnit, testthat
 URL: http://eigen.tuxfamily.org

Modified: pkg/RcppEigen/R/unit.test.R
===================================================================
--- pkg/RcppEigen/R/unit.test.R	2012-03-06 16:18:19 UTC (rev 3490)
+++ pkg/RcppEigen/R/unit.test.R	2012-03-08 18:17:43 UTC (rev 3491)
@@ -15,15 +15,13 @@
 # You should have received a copy of the GNU General Public License
 # along with RcppEigen.  If not, see <http://www.gnu.org/licenses/>.
 
-test <- function( output = if( file.exists( "/tmp" ) ) "/tmp" else getwd() ){
-	if( !file.exists( output ) ){ stop( "output directory does not exist" ) }
-	
-	Rscript <- file.path( R.home( component = "bin" ), "Rscript" )
-	if( .Platform$OS.type == "windows" ){
-		Rscript <- sprintf( "%s.exe", Rscript )
-	}
-	test.script <- system.file( "unitTests", "runTests.R", package = "RcppEigen" )
-	cmd <- sprintf( '"%s" "%s" --output=%s', Rscript, test.script, output )
-	system( cmd )
+compile_unit_tests <- function( definitions, includes = "", cxxargs = "" ){
+    signatures <- lapply(definitions, "[[", 1L)
+    bodies <- lapply(definitions, "[[", 2L)
+    cxxfunction <- get( "cxxfunction", asNamespace("inline" ) )
+    fun <- cxxfunction( signatures, bodies, plugin = "RcppEigen", 
+        includes = sprintf( "using namespace std;\n%s", paste( includes, collapse = "\n") ), 
+        cxxargs = cxxargs
+    )
+    fun
 }
-

Modified: pkg/RcppEigen/inst/include/Eigen/Cholesky
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/Cholesky	2012-03-06 16:18:19 UTC (rev 3490)
+++ pkg/RcppEigen/inst/include/Eigen/Cholesky	2012-03-08 18:17:43 UTC (rev 3491)
@@ -24,6 +24,9 @@
 #include "src/misc/Solve.h"
 #include "src/Cholesky/LLT.h"
 #include "src/Cholesky/LDLT.h"
+#ifdef EIGEN_USE_LAPACKE
+#include "src/Cholesky/LLT_MKL.h"
+#endif
 
 } // namespace Eigen
 

Added: pkg/RcppEigen/inst/include/Eigen/CholmodSupport
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/CholmodSupport	                        (rev 0)
+++ pkg/RcppEigen/inst/include/Eigen/CholmodSupport	2012-03-08 18:17:43 UTC (rev 3491)
@@ -0,0 +1,34 @@
+#ifndef EIGEN_CHOLMODSUPPORT_MODULE_H
+#define EIGEN_CHOLMODSUPPORT_MODULE_H
+
+#include "SparseCore"
+
+#include "src/Core/util/DisableStupidWarnings.h"
+
+extern "C" {
+  #include <RcppEigenCholmod.h>
+}
+
+namespace Eigen {
+
+/** \ingroup Support_modules
+  * \defgroup CholmodSupport_Module CholmodSupport module
+  *
+  *
+  * \code
+  * #include <Eigen/CholmodSupport>
+  * \endcode
+  */
+
+#include "src/misc/Solve.h"
+#include "src/misc/SparseSolve.h"
+
+#include "src/CholmodSupport/CholmodSupport.h"
+
+
+} // namespace Eigen
+
+#include "src/Core/util/ReenableStupidWarnings.h"
+
+#endif // EIGEN_CHOLMODSUPPORT_MODULE_H
+

Modified: pkg/RcppEigen/inst/include/Eigen/Core
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/Core	2012-03-06 16:18:19 UTC (rev 3490)
+++ pkg/RcppEigen/inst/include/Eigen/Core	2012-03-08 18:17:43 UTC (rev 3491)
@@ -34,6 +34,12 @@
 // defined e.g. EIGEN_DONT_ALIGN) so it needs to be done before we do anything with vectorization.
 #include "src/Core/util/Macros.h"
 
+#include <complex>
+
+// 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: EIGEN_ALIGN is the proper check, it takes into
 // account both the user's will (EIGEN_DONT_ALIGN) and our own platform checks
 #if !EIGEN_ALIGN
@@ -146,7 +152,6 @@
 #include <cstddef>
 #include <cstdlib>
 #include <cmath>
-#include <complex>
 #include <cassert>
 #include <functional>
 #include <iosfwd>
@@ -175,9 +180,6 @@
   #include <new>
 #endif
 
-// defined in bits/termios.h
-#undef B0
-
 /** \brief Namespace containing all symbols from the %Eigen library. */
 namespace Eigen {
 
@@ -247,6 +249,10 @@
   * \endcode
   */
 
+/** \defgroup Support_modules Support modules [category]
+  * Category of modules which add support for external libraries.
+  */
+
 #include "src/Core/util/Constants.h"
 #include "src/Core/util/ForwardDeclarations.h"
 #include "src/Core/util/Meta.h"
@@ -318,7 +324,7 @@
 #include "src/Core/CommaInitializer.h"
 #include "src/Core/Flagged.h"
 #include "src/Core/ProductBase.h"
-#include "src/Core/Product.h"
+#include "src/Core/GeneralProduct.h"
 #include "src/Core/TriangularMatrix.h"
 #include "src/Core/SelfAdjointView.h"
 #include "src/Core/SolveTriangular.h"
@@ -347,6 +353,21 @@
 #include "src/Core/ArrayBase.h"
 #include "src/Core/ArrayWrapper.h"
 
+#ifdef 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 // EIGEN_USE_BLAS
+
+#ifdef EIGEN_USE_MKL_VML
+#include "src/Core/Assign_MKL.h"
+#endif
+
 } // namespace Eigen
 
 #include "src/Core/GlobalFunctions.h"

Modified: pkg/RcppEigen/inst/include/Eigen/Eigen2Support
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/Eigen2Support	2012-03-06 16:18:19 UTC (rev 3490)
+++ pkg/RcppEigen/inst/include/Eigen/Eigen2Support	2012-03-08 18:17:43 UTC (rev 3491)
@@ -33,7 +33,8 @@
 
 namespace Eigen {
 
-/** \defgroup Eigen2Support_Module Eigen2 support module
+/** \ingroup Support_modules
+  * \defgroup Eigen2Support_Module Eigen2 support module
   * This module provides a couple of deprecated functions improving the compatibility with Eigen2.
   *
   * To use it, define EIGEN2_SUPPORT before including any Eigen header
@@ -63,6 +64,24 @@
 // Eigen2 used to include iostream
 #include<iostream>
 
+#define EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, SizeSuffix) \
+using Eigen::Matrix##SizeSuffix##TypeSuffix; \
+using Eigen::Vector##SizeSuffix##TypeSuffix; \
+using Eigen::RowVector##SizeSuffix##TypeSuffix;
+
+#define EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(TypeSuffix) \
+EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 2) \
+EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 3) \
+EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, 4) \
+EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE_AND_SIZE(TypeSuffix, X) \
+
+#define EIGEN_USING_MATRIX_TYPEDEFS \
+EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(i) \
+EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(f) \
+EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(d) \
+EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(cf) \
+EIGEN_USING_MATRIX_TYPEDEFS_FOR_TYPE(cd)
+
 #define USING_PART_OF_NAMESPACE_EIGEN \
 EIGEN_USING_MATRIX_TYPEDEFS \
 using Eigen::Matrix; \

Modified: pkg/RcppEigen/inst/include/Eigen/Eigenvalues
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/Eigenvalues	2012-03-06 16:18:19 UTC (rev 3490)
+++ pkg/RcppEigen/inst/include/Eigen/Eigenvalues	2012-03-08 18:17:43 UTC (rev 3491)
@@ -9,6 +9,7 @@
 #include "Jacobi"
 #include "Householder"
 #include "LU"
+#include "Geometry"
 
 namespace Eigen {
 
@@ -35,6 +36,11 @@
 #include "src/Eigenvalues/ComplexSchur.h"
 #include "src/Eigenvalues/ComplexEigenSolver.h"
 #include "src/Eigenvalues/MatrixBaseEigenvalues.h"
+#ifdef EIGEN_USE_LAPACKE
+#include "src/Eigenvalues/RealSchur_MKL.h"
+#include "src/Eigenvalues/ComplexSchur_MKL.h"
+#include "src/Eigenvalues/SelfAdjointEigenSolver_MKL.h"
+#endif
 
 } // namespace Eigen
 

Added: pkg/RcppEigen/inst/include/Eigen/IterativeLinearSolvers
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/IterativeLinearSolvers	                        (rev 0)
+++ pkg/RcppEigen/inst/include/Eigen/IterativeLinearSolvers	2012-03-08 18:17:43 UTC (rev 3491)
@@ -0,0 +1,44 @@
+#ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
+#define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H
+
+#include "SparseCore"
+#include "OrderingMethods"
+
+#include "src/Core/util/DisableStupidWarnings.h"
+
+namespace Eigen {
+
+/** \ingroup Sparse_modules
+  * \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 <Eigen/IterativeLinearSolvers>
+  * \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"
+
+} // namespace Eigen
+
+#include "src/Core/util/ReenableStupidWarnings.h"
+
+#endif // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H

Modified: pkg/RcppEigen/inst/include/Eigen/LU
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/LU	2012-03-06 16:18:19 UTC (rev 3490)
+++ pkg/RcppEigen/inst/include/Eigen/LU	2012-03-08 18:17:43 UTC (rev 3491)
@@ -23,6 +23,9 @@
 #include "src/misc/Image.h"
 #include "src/LU/FullPivLU.h"
 #include "src/LU/PartialPivLU.h"
+#ifdef EIGEN_USE_LAPACKE
+#include "src/LU/PartialPivLU_MKL.h"
+#endif
 #include "src/LU/Determinant.h"
 #include "src/LU/Inverse.h"
 

Added: pkg/RcppEigen/inst/include/Eigen/OrderingMethods
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/OrderingMethods	                        (rev 0)
+++ pkg/RcppEigen/inst/include/Eigen/OrderingMethods	2012-03-08 18:17:43 UTC (rev 3491)
@@ -0,0 +1,27 @@
+#ifndef EIGEN_ORDERINGMETHODS_MODULE_H
+#define EIGEN_ORDERINGMETHODS_MODULE_H
+
+#include "SparseCore"
+
+#include "src/Core/util/DisableStupidWarnings.h"
+
+namespace Eigen {
+
+/** \ingroup Sparse_modules
+  * \defgroup OrderingMethods_Module OrderingMethods module
+  *
+  * This module is currently for internal use only.
+  *
+  *
+  * \code
+  * #include <Eigen/OrderingMethods>
+  * \endcode
+  */
+
+#include "src/OrderingMethods/Amd.h"
+
+} // namespace Eigen
+
+#include "src/Core/util/ReenableStupidWarnings.h"
+
+#endif // EIGEN_ORDERINGMETHODS_MODULE_H

Added: pkg/RcppEigen/inst/include/Eigen/PardisoSupport
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/PardisoSupport	                        (rev 0)
+++ pkg/RcppEigen/inst/include/Eigen/PardisoSupport	2012-03-08 18:17:43 UTC (rev 3491)
@@ -0,0 +1,30 @@
+#ifndef EIGEN_PARDISOSUPPORT_MODULE_H
+#define EIGEN_PARDISOSUPPORT_MODULE_H
+
+#include "SparseCore"
+
+#include "src/Core/util/DisableStupidWarnings.h"
+
+#include <mkl_pardiso.h>
+
+#include <unsupported/Eigen/SparseExtra>
+
+namespace Eigen {
+
+/** \ingroup Support_modules
+  * \defgroup PardisoSupport_Module PardisoSupport module
+  *
+  * This module brings support for the Intel(R) MKL PARDISO direct sparse solvers
+  *
+  * \code
+  * #include <Eigen/PardisoSupport>
+  * \endcode
+  */
+
+#include "src/PardisoSupport/PardisoSupport.h"
+
+} // namespace Eigen
+
+#include "src/Core/util/ReenableStupidWarnings.h"
+
+#endif // EIGEN_PARDISOSUPPORT_MODULE_H

Modified: pkg/RcppEigen/inst/include/Eigen/QR
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/QR	2012-03-06 16:18:19 UTC (rev 3490)
+++ pkg/RcppEigen/inst/include/Eigen/QR	2012-03-08 18:17:43 UTC (rev 3491)
@@ -28,6 +28,10 @@
 #include "src/QR/HouseholderQR.h"
 #include "src/QR/FullPivHouseholderQR.h"
 #include "src/QR/ColPivHouseholderQR.h"
+#ifdef EIGEN_USE_LAPACKE
+#include "src/QR/HouseholderQR_MKL.h"
+#include "src/QR/ColPivHouseholderQR_MKL.h"
+#endif
 
 #ifdef EIGEN2_SUPPORT
 #include "src/Eigen2Support/QR.h"

Modified: pkg/RcppEigen/inst/include/Eigen/SVD
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/SVD	2012-03-06 16:18:19 UTC (rev 3490)
+++ pkg/RcppEigen/inst/include/Eigen/SVD	2012-03-08 18:17:43 UTC (rev 3491)
@@ -13,9 +13,9 @@
   *
   *
   *
-  * This module provides SVD decomposition for (currently) real matrices.
+  * This module provides SVD decomposition for matrices (both real and complex).
   * This decomposition is accessible via the following MatrixBase method:
-  *  - MatrixBase::svd()
+  *  - MatrixBase::jacobiSvd()
   *
   * \code
   * #include <Eigen/SVD>
@@ -24,6 +24,9 @@
 
 #include "src/misc/Solve.h"
 #include "src/SVD/JacobiSVD.h"
+#if defined(EIGEN_USE_LAPACKE) && !defined(EIGEN_USE_LAPACKE_STRICT)
+#include "src/SVD/JacobiSVD_MKL.h"
+#endif
 #include "src/SVD/UpperBidiagonalization.h"
 
 #ifdef EIGEN2_SUPPORT

Modified: pkg/RcppEigen/inst/include/Eigen/Sparse
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/Sparse	2012-03-06 16:18:19 UTC (rev 3490)
+++ pkg/RcppEigen/inst/include/Eigen/Sparse	2012-03-08 18:17:43 UTC (rev 3491)
@@ -1,69 +1,27 @@
 #ifndef EIGEN_SPARSE_MODULE_H
 #define EIGEN_SPARSE_MODULE_H
 
-#include "Core"
-
-#include "src/Core/util/DisableStupidWarnings.h"
-
-#include <vector>
-#include <map>
-#include <cstdlib>
-#include <cstring>
-#include <algorithm>
-
-#ifdef EIGEN2_SUPPORT
-#define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
-#endif
-
-#ifndef EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
-#error The sparse module API is not stable yet. To use it anyway, please define the EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET preprocessor token.
-#endif
-
 namespace Eigen {
 
-/** \defgroup Sparse_Module Sparse module
+/** \defgroup Sparse_modules Sparse modules
   *
+  * Meta-module including all related modules:
+  * - SparseCore
+  * - OrderingMethods
+  * - SparseCholesky
+  * - IterativeLinearSolvers
   *
-  *
-  * See the \ref TutorialSparse "Sparse tutorial"
-  *
   * \code
   * #include <Eigen/Sparse>
   * \endcode
   */
 
-/** The type used to identify a general sparse storage. */
-struct Sparse {};
-
-#include "src/Sparse/SparseUtil.h"
-#include "src/Sparse/SparseMatrixBase.h"
-#include "src/Sparse/CompressedStorage.h"
-#include "src/Sparse/AmbiVector.h"
-#include "src/Sparse/SparseMatrix.h"
-#include "src/Sparse/DynamicSparseMatrix.h"
-#include "src/Sparse/MappedSparseMatrix.h"
-#include "src/Sparse/SparseVector.h"
-#include "src/Sparse/CoreIterators.h"
-#include "src/Sparse/SparseBlock.h"
-#include "src/Sparse/SparseTranspose.h"
-#include "src/Sparse/SparseCwiseUnaryOp.h"
-#include "src/Sparse/SparseCwiseBinaryOp.h"
-#include "src/Sparse/SparseDot.h"
-#include "src/Sparse/SparseAssign.h"
-#include "src/Sparse/SparseRedux.h"
-#include "src/Sparse/SparseFuzzy.h"
-#include "src/Sparse/SparseProduct.h"
-#include "src/Sparse/SparseSparseProduct.h"
-#include "src/Sparse/SparseDenseProduct.h"
-#include "src/Sparse/SparseDiagonalProduct.h"
-#include "src/Sparse/SparseTriangularView.h"
-#include "src/Sparse/SparseSelfAdjointView.h"
-#include "src/Sparse/TriangularSolver.h"
-#include "src/Sparse/SparseView.h"
-
 } // namespace Eigen
 
-#include "src/Core/util/ReenableStupidWarnings.h"
+#include "SparseCore"
+#include "OrderingMethods"
+#include "SparseCholesky"
+#include "IterativeLinearSolvers"
 
 #endif // EIGEN_SPARSE_MODULE_H
 

Added: pkg/RcppEigen/inst/include/Eigen/SparseCholesky
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/SparseCholesky	                        (rev 0)
+++ pkg/RcppEigen/inst/include/Eigen/SparseCholesky	2012-03-08 18:17:43 UTC (rev 3491)
@@ -0,0 +1,34 @@
+#ifndef EIGEN_SPARSECHOLESKY_MODULE_H
+#define EIGEN_SPARSECHOLESKY_MODULE_H
+
+#include "SparseCore"
+
+#include "src/Core/util/DisableStupidWarnings.h"
+
+namespace Eigen {
+
+/** \ingroup Sparse_modules
+  * \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 <Eigen/SparseCholesky>
+  * \endcode
+  */
+
+#include "src/misc/Solve.h"
+#include "src/misc/SparseSolve.h"
+
+#include "src/SparseCholesky/SimplicialCholesky.h"
+
+} // namespace Eigen
+
+#include "src/Core/util/ReenableStupidWarnings.h"
+
+#endif // EIGEN_SPARSECHOLESKY_MODULE_H

Added: pkg/RcppEigen/inst/include/Eigen/SparseCore
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/SparseCore	                        (rev 0)
+++ pkg/RcppEigen/inst/include/Eigen/SparseCore	2012-03-08 18:17:43 UTC (rev 3491)
@@ -0,0 +1,65 @@
+#ifndef EIGEN_SPARSECORE_MODULE_H
+#define EIGEN_SPARSECORE_MODULE_H
+
+#include "Core"
+
+#include "src/Core/util/DisableStupidWarnings.h"
+
+#include <vector>
+#include <map>
+#include <cstdlib>
+#include <cstring>
+#include <algorithm>
+
+namespace Eigen {
+
+/** \ingroup Sparse_modules
+  * \defgroup SparseCore_Module SparseCore module
+  *
+  * This module provides a sparse matrix representation, and basic associatd matrix manipulations
+  * and operations.
+  *
+  * See the \ref TutorialSparse "Sparse tutorial"
+  *
+  * \code
+  * #include <Eigen/SparseCore>
+  * \endcode
+  *
+  * This module depends on: Core.
+  */
+
+/** The type used to identify a general sparse storage. */
+struct Sparse {};
+
+#include "src/SparseCore/SparseUtil.h"
+#include "src/SparseCore/SparseMatrixBase.h"
+#include "src/SparseCore/CompressedStorage.h"
+#include "src/SparseCore/AmbiVector.h"
+#include "src/SparseCore/SparseMatrix.h"
+#include "src/SparseCore/MappedSparseMatrix.h"
+#include "src/SparseCore/SparseVector.h"
+#include "src/SparseCore/CoreIterators.h"
+#include "src/SparseCore/SparseBlock.h"
+#include "src/SparseCore/SparseTranspose.h"
+#include "src/SparseCore/SparseCwiseUnaryOp.h"
+#include "src/SparseCore/SparseCwiseBinaryOp.h"
+#include "src/SparseCore/SparseDot.h"
+#include "src/SparseCore/SparseAssign.h"
+#include "src/SparseCore/SparseRedux.h"
+#include "src/SparseCore/SparseFuzzy.h"
+#include "src/SparseCore/ConservativeSparseSparseProduct.h"
+#include "src/SparseCore/SparseSparseProductWithPruning.h"
+#include "src/SparseCore/SparseProduct.h"
+#include "src/SparseCore/SparseDenseProduct.h"
+#include "src/SparseCore/SparseDiagonalProduct.h"
+#include "src/SparseCore/SparseTriangularView.h"
+#include "src/SparseCore/SparseSelfAdjointView.h"
+#include "src/SparseCore/TriangularSolver.h"
+#include "src/SparseCore/SparseView.h"
+
+} // namespace Eigen
+
+#include "src/Core/util/ReenableStupidWarnings.h"
+
+#endif // EIGEN_SPARSECORE_MODULE_H
+

Added: pkg/RcppEigen/inst/include/Eigen/SuperLUSupport
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/SuperLUSupport	                        (rev 0)
+++ pkg/RcppEigen/inst/include/Eigen/SuperLUSupport	2012-03-08 18:17:43 UTC (rev 3491)
@@ -0,0 +1,53 @@
+#ifndef EIGEN_SUPERLUSUPPORT_MODULE_H
+#define EIGEN_SUPERLUSUPPORT_MODULE_H
+
+#include "SparseCore"
+
+#include "src/Core/util/DisableStupidWarnings.h"
+
+#ifdef EMPTY
+#define EIGEN_EMPTY_WAS_ALREADY_DEFINED
+#endif
+
+typedef int int_t;
+#include <slu_Cnames.h>
+#include <supermatrix.h>
+#include <slu_util.h>
+
+// slu_util.h defines a preprocessor token named EMPTY which is really polluting,
+// so we remove it in favor of a SUPERLU_EMPTY token.
+// If EMPTY was already, defined then we don't undef it.
+
+#if defined(EIGEN_EMPTY_WAS_ALREADY_DEFINED)
+# undef EIGEN_EMPTY_WAS_ALREADY_DEFINED
+#elif defined(EMPTY)
+# undef EMPTY
+#endif
+
+#define SUPERLU_EMPTY (-1)
+
+namespace Eigen { struct SluMatrix; }
+
+namespace Eigen {
+
+/** \ingroup Support_modules
+  * \defgroup SuperLUSupport_Module SuperLUSupport module
+  *
+  * \warning When including this module, you have to use SUPERLU_EMPTY instead of EMPTY which is no longer defined because it is too polluting.
+  *
+  * \code
+  * #include <Eigen/SuperLUSupport>
+  * \endcode
+  */
+
+#include "src/misc/Solve.h"
+#include "src/misc/SparseSolve.h"
+
+#include "src/SuperLUSupport/SuperLUSupport.h"
+
+
+} // namespace Eigen
+
+#include "src/Core/util/ReenableStupidWarnings.h"
+
+#endif // EIGEN_SUPERLUSUPPORT_MODULE_H

Added: pkg/RcppEigen/inst/include/Eigen/UmfPackSupport
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/UmfPackSupport	                        (rev 0)
+++ pkg/RcppEigen/inst/include/Eigen/UmfPackSupport	2012-03-08 18:17:43 UTC (rev 3491)
@@ -0,0 +1,34 @@
+#ifndef EIGEN_UMFPACKSUPPORT_MODULE_H
+#define EIGEN_UMFPACKSUPPORT_MODULE_H
+
+#include "SparseCore"
+
+#include "src/Core/util/DisableStupidWarnings.h"
+
+extern "C" {
+#include <umfpack.h>
+}
+
+namespace Eigen {
+
+/** \ingroup Support_modules
+  * \defgroup UmfPackSupport_Module UmfPackSupport module
+  *
+  *
+  *
+  *
+  * \code
+  * #include <Eigen/UmfPackSupport>
+  * \endcode
+  */
+
+#include "src/misc/Solve.h"
+#include "src/misc/SparseSolve.h"
+
+#include "src/UmfPackSupport/UmfPackSupport.h"
+
+} // namespace Eigen
+
+#include "src/Core/util/ReenableStupidWarnings.h"
+
+#endif // EIGEN_UMFPACKSUPPORT_MODULE_H

Modified: pkg/RcppEigen/inst/include/Eigen/src/Cholesky/LDLT.h
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/src/Cholesky/LDLT.h	2012-03-06 16:18:19 UTC (rev 3490)
+++ pkg/RcppEigen/inst/include/Eigen/src/Cholesky/LDLT.h	2012-03-08 18:17:43 UTC (rev 3491)
@@ -1,9 +1,10 @@
 // This file is part of Eigen, a lightweight C++ template library
 // for linear algebra.
 //
-// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud at inria.fr>
+// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud at inria.fr>
 // Copyright (C) 2009 Keir Mierle <mierle at gmail.com>
 // Copyright (C) 2009 Benoit Jacob <jacob.benoit.1 at gmail.com>
+// Copyright (C) 2011 Timothy E. Holy <tim.holy at gmail.com >
 //
 // Eigen is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -31,13 +32,15 @@
 template<typename MatrixType, int UpLo> struct LDLT_Traits;
 }
 
-/** \ingroup cholesky_Module
+/** \ingroup Cholesky_Module
   *
   * \class LDLT
   *
   * \brief Robust Cholesky decomposition of a matrix with pivoting
   *
   * \param MatrixType the type of the matrix of which to compute the LDL^T Cholesky decomposition
+  * \param UpLo the triangular part that will be used for the decompositon: Lower (default) or Upper.
+  *             The other triangular part won't be read.
   *
   * Perform a robust Cholesky decomposition of a positive semidefinite or negative semidefinite
   * matrix \f$ A \f$ such that \f$ A =  P^TLDL^*P \f$, where P is a permutation matrix, L
@@ -48,14 +51,10 @@
   * on D also stabilizes the computation.
   *
   * Remember that Cholesky decompositions are not rank-revealing. Also, do not use a Cholesky
-	* decomposition to determine whether a system of equations has a solution.
+  * decomposition to determine whether a system of equations has a solution.
   *
   * \sa MatrixBase::ldlt(), class LLT
   */
- /* THIS PART OF THE DOX IS CURRENTLY DISABLED BECAUSE INACCURATE BECAUSE OF BUG IN THE DECOMPOSITION CODE
-  * Note that during the decomposition, only the upper triangular part of A is considered. Therefore,
-  * the strict lower part does not have to store correct values.
-  */
 template<typename _MatrixType, int _UpLo> class LDLT
 {
   public:
@@ -98,6 +97,11 @@
         m_isInitialized(false)
     {}
 
+    /** \brief Constructor with decomposition
+      *
+      * This calculates the decomposition for the input \a matrix.
+      * \sa LDLT(Index size)
+      */
     LDLT(const MatrixType& matrix)
       : m_matrix(matrix.rows(), matrix.cols()),
         m_transpositions(matrix.rows()),
@@ -107,6 +111,14 @@
       compute(matrix);
     }
 
+    /** Clear any existing decomposition
+     * \sa rankUpdate(w,sigma)
+     */
+    void setZero()
+    {
+      m_isInitialized = false;
+    }
+
     /** \returns a view of the upper triangular matrix U */
     inline typename Traits::MatrixU matrixU() const
     {
@@ -130,14 +142,14 @@
     }
 
     /** \returns the coefficients of the diagonal matrix D */
-    inline Diagonal<const MatrixType> vectorD(void) const
+    inline Diagonal<const MatrixType> vectorD() const
     {
       eigen_assert(m_isInitialized && "LDLT is not initialized.");
       return m_matrix.diagonal();
     }
 
     /** \returns true if the matrix is positive (semidefinite) */
-    inline bool isPositive(void) const
+    inline bool isPositive() const
     {
       eigen_assert(m_isInitialized && "LDLT is not initialized.");
       return m_sign == 1;
@@ -196,6 +208,9 @@
 
     LDLT& compute(const MatrixType& matrix);
 
+    template <typename Derived>
+    LDLT& rankUpdate(const MatrixBase<Derived>& w,RealScalar alpha=1);
+
     /** \returns the internal LDLT decomposition matrix
       *
       * TODO: document the storage layout
@@ -211,6 +226,17 @@
     inline Index rows() const { return m_matrix.rows(); }
     inline Index cols() const { return m_matrix.cols(); }
 
+    /** \brief Reports whether previous computation was successful.
+      *
+      * \returns \c Success if computation was succesful,
+      *          \c NumericalIssue if the matrix.appears to be negative.
+      */
+    ComputationInfo info() const
+    {
+      eigen_assert(m_isInitialized && "LDLT is not initialized.");
+      return Success;
+    }
+
   protected:
 
     /** \internal
@@ -249,7 +275,7 @@
       return true;
     }
 
-    RealScalar cutoff = 0, biggest_in_corner;
+    RealScalar cutoff(0), biggest_in_corner;
 
     for (Index k = 0; k < size; ++k)
     {
@@ -317,6 +343,61 @@
 
     return true;
   }
+
+  // Reference for the algorithm: Davis and Hager, "Multiple Rank
+  // Modifications of a Sparse Cholesky Factorization" (Algorithm 1)
+  // Trivial rearrangements of their computations (Timothy E. Holy)
+  // allow their algorithm to work for rank-1 updates even if the
+  // original matrix is not of full rank.
+  // Here only rank-1 updates are implemented, to reduce the
+  // requirement for intermediate storage and improve accuracy
+  template<typename MatrixType, typename WDerived>
+  static bool updateInPlace(MatrixType& mat, MatrixBase<WDerived>& w, typename MatrixType::RealScalar sigma=1)
+  {
+    using internal::isfinite;
+    typedef typename MatrixType::Scalar Scalar;
+    typedef typename MatrixType::RealScalar RealScalar;
+    typedef typename MatrixType::Index Index;
+
+    const Index size = mat.rows();
+    eigen_assert(mat.cols() == size && w.size()==size);
+
+    RealScalar alpha = 1;
+
+    // Apply the update
+    for (Index j = 0; j < size; j++)
+    {
+      // Check for termination due to an original decomposition of low-rank
+      if (!isfinite(alpha))
+        break;
+
+      // Update the diagonal terms
+      RealScalar dj = real(mat.coeff(j,j));
+      Scalar wj = w.coeff(j);
+      RealScalar swj2 = sigma*abs2(wj);
+      RealScalar gamma = dj*alpha + swj2;
+
+      mat.coeffRef(j,j) += swj2/alpha;
+      alpha += swj2/dj;
+
+
+      // Update the terms of L
+      Index rs = size-j-1;
+      w.tail(rs) -= wj * mat.col(j).tail(rs);
+      if(gamma != 0)
+        mat.col(j).tail(rs) += (sigma*conj(wj)/gamma)*w.tail(rs);
+    }
+    return true;
+  }
+
+  template<typename MatrixType, typename TranspositionType, typename Workspace, typename WType>
+  static bool update(MatrixType& mat, const TranspositionType& transpositions, Workspace& tmp, const WType& w, typename MatrixType::RealScalar sigma=1)
+  {
+    // Apply the permutation to the input w
+    tmp = transpositions * w;
+
+    return ldlt_inplace<Lower>::updateInPlace(mat,tmp,sigma);
+  }
 };
 
 template<> struct ldlt_inplace<Upper>
@@ -327,22 +408,29 @@
     Transpose<MatrixType> matt(mat);
     return ldlt_inplace<Lower>::unblocked(matt, transpositions, temp, sign);
   }
+
+  template<typename MatrixType, typename TranspositionType, typename Workspace, typename WType>
+  static EIGEN_STRONG_INLINE bool update(MatrixType& mat, TranspositionType& transpositions, Workspace& tmp, WType& w, typename MatrixType::RealScalar sigma=1)
+  {
+    Transpose<MatrixType> matt(mat);
+    return ldlt_inplace<Lower>::update(matt, transpositions, tmp, w.conjugate(), sigma);
+  }
 };
 
 template<typename MatrixType> struct LDLT_Traits<MatrixType,Lower>
 {
-  typedef TriangularView<MatrixType, UnitLower> MatrixL;
-  typedef TriangularView<typename MatrixType::AdjointReturnType, UnitUpper> MatrixU;
-  inline static MatrixL getL(const MatrixType& m) { return m; }
-  inline static MatrixU getU(const MatrixType& m) { return m.adjoint(); }
+  typedef TriangularView<const MatrixType, UnitLower> MatrixL;
+  typedef TriangularView<const typename MatrixType::AdjointReturnType, UnitUpper> MatrixU;
+  static inline MatrixL getL(const MatrixType& m) { return m; }
+  static inline MatrixU getU(const MatrixType& m) { return m.adjoint(); }
 };
 
 template<typename MatrixType> struct LDLT_Traits<MatrixType,Upper>
 {
-  typedef TriangularView<typename MatrixType::AdjointReturnType, UnitLower> MatrixL;
-  typedef TriangularView<MatrixType, UnitUpper> MatrixU;
-  inline static MatrixL getL(const MatrixType& m) { return m.adjoint(); }
-  inline static MatrixU getU(const MatrixType& m) { return m; }
+  typedef TriangularView<const typename MatrixType::AdjointReturnType, UnitLower> MatrixL;
+  typedef TriangularView<const MatrixType, UnitUpper> MatrixU;
+  static inline MatrixL getL(const MatrixType& m) { return m.adjoint(); }
+  static inline MatrixU getU(const MatrixType& m) { return m; }
 };
 
 } // end namespace internal
@@ -367,6 +455,37 @@
   return *this;
 }
 
+/** Update the LDLT decomposition:  given A = L D L^T, efficiently compute the decomposition of A + sigma w w^T.
+ * \param w a vector to be incorporated into the decomposition.
+ * \param sigma a scalar, +1 for updates and -1 for "downdates," which correspond to removing previously-added column vectors. Optional; default value is +1.
+ * \sa setZero()
+  */
+template<typename MatrixType, int _UpLo>
+template<typename Derived>
+LDLT<MatrixType,_UpLo>& LDLT<MatrixType,_UpLo>::rankUpdate(const MatrixBase<Derived>& w,typename NumTraits<typename MatrixType::Scalar>::Real sigma)
+{
+  const Index size = w.rows();
+  if (m_isInitialized)
+  {
+    eigen_assert(m_matrix.rows()==size);
+  }
+  else
+  {    
+    m_matrix.resize(size,size);
+    m_matrix.setZero();
+    m_transpositions.resize(size);
+    for (Index i = 0; i < size; i++)
+      m_transpositions.coeffRef(i) = i;
+    m_temporary.resize(size);
+    m_sign = sigma;
+    m_isInitialized = true;
+  }
+
+  internal::ldlt_inplace<UpLo>::update(m_matrix, m_transpositions, m_temporary, w, sigma);
+
+  return *this;
+}
+
 namespace internal {
 template<typename _MatrixType, int _UpLo, typename Rhs>
 struct solve_retval<LDLT<_MatrixType,_UpLo>, Rhs>

Modified: pkg/RcppEigen/inst/include/Eigen/src/Cholesky/LLT.h
===================================================================
--- pkg/RcppEigen/inst/include/Eigen/src/Cholesky/LLT.h	2012-03-06 16:18:19 UTC (rev 3490)
+++ pkg/RcppEigen/inst/include/Eigen/src/Cholesky/LLT.h	2012-03-08 18:17:43 UTC (rev 3491)
@@ -29,13 +29,15 @@
 template<typename MatrixType, int UpLo> struct LLT_Traits;
 }
 
-/** \ingroup cholesky_Module
+/** \ingroup Cholesky_Module
   *
   * \class LLT
   *
   * \brief Standard Cholesky decomposition (LL^T) of a matrix and associated features
   *
   * \param MatrixType the type of the matrix of which we are computing the LL^T Cholesky decomposition
+  * \param UpLo the triangular part that will be used for the decompositon: Lower (default) or Upper.
+  *             The other triangular part won't be read.
   *
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/rcpp -r 3491


More information about the Rcpp-commits mailing list