diff --git a/cmake/modules/FindARPACK.cmake b/cmake/modules/FindARPACK.cmake
index 82979aaea0e625e786342205b15ddfb62cf23c61..7215b0a375044d4920371331574141eb97edb4f7 100644
--- a/cmake/modules/FindARPACK.cmake
+++ b/cmake/modules/FindARPACK.cmake
@@ -78,7 +78,7 @@ if(ARPACK_FOUND)
   set(ARPACK_LIBRARIES ${ARPACK_LIBRARY})
   # log result
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-    "Determing location of ARPACK succeded:\n"
+    "Determing location of ARPACK succeeded:\n"
     "Libraries to link against: ${ARPACK_LIBRARIES}\n\n")
   set(ARPACK_DUNE_LIBRARIES ${ARPACK_LIBRARIES}
     CACHE STRING "Libraries used by DUNE when linking ARPACK programs")
diff --git a/cmake/modules/FindARPACKPP.cmake b/cmake/modules/FindARPACKPP.cmake
index 493171f0e050a6d10d8e55ef161b8460a35c2161..2a1e5e00caff95ad5d583a7cb7ad718abbfeecd6 100644
--- a/cmake/modules/FindARPACKPP.cmake
+++ b/cmake/modules/FindARPACKPP.cmake
@@ -97,7 +97,7 @@ if(ARPACKPP_FOUND)
   endif(ARPACKPP_LIBRARY)
   # log result
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-    "Determing location of ARPACK++ succeded:\n"
+    "Determing location of ARPACK++ succeeded:\n"
     "Include directory: ${ARPACKPP_INCLUDE_DIRS}\n"
     "Libraries to link against: ${ARPACKPP_LIBRARIES}\n\n")
   set(ARPACKPP_DUNE_COMPILE_FLAGS "-I${ARPACKPP_INCLUDE_DIRS}"
diff --git a/doc/istl.tex b/doc/istl.tex
index 901292d54a0bd82b35d8e352309e99cb972deda1..ee1f95514e01036ed5c77e238231697311cb77bf 100644
--- a/doc/istl.tex
+++ b/doc/istl.tex
@@ -367,7 +367,7 @@ structure can be generated simply with the copy constructor.
 
 For a matrix representing a linear map (or homomorphism) $A: V \mapsto
 W$ from vector space $V$ to vector space $W$ the recursive block
-structure of the matrix rows and columns immediatly follows
+structure of the matrix rows and columns immediately follows
  from the recursive block structure of the vectors representing
 the domain and range of the mapping, respectively. As a natural
 consequence we designed the following matrix classes:
@@ -634,7 +634,7 @@ operations $y = A(x)$ and $y = y + \alpha A(x)$, respectively.
 The subclass 
 \lstinline!template<class M, class X, class Y> AssembledLinearOperator!
 represents linear operators that have a matrix
-representation. Convertion from any matrix into a linear operator is
+representation. Conversion from any matrix into a linear operator is
 done by the class 
 \lstinline!template<class M, class X, class Y> MatrixAdapter!.
 
@@ -761,7 +761,7 @@ might be needed on new platforms.
 
 \section{Performance}
 We evaluated the performance of our implementation on a Petium 4 Mobile
-2.4 GHz with a measured memory bandwith of 1084 MB/s for the daypy
+2.4 GHz with a measured memory bandwidth of 1084 MB/s for the daypy
 operation ($x = y + \alpha z$) in Tables
 \ref{tab:istl_performance}. 
 \begin{table}[htb]
@@ -821,7 +821,7 @@ The performance for the scalarproduct,
 see Table \ref{tab:perf_sp},
 and the daxpy operation, see Table \ref{tab:perf_daxpy}  is nearly
 optimal and for large $N$ the limiting factor is clearly the memory
-bandwith. Table \ref{tab:perf_mvp} shows that we take advantage of
+bandwidth. Table \ref{tab:perf_mvp} shows that we take advantage of
 cache reusage for matrices of dense blocks with block size $b>1$.
 In Table
 \ref{tab:perf_gs} we compared the generic implementation of
diff --git a/dune/istl/eigenvalue/poweriteration.hh b/dune/istl/eigenvalue/poweriteration.hh
index 37cfbc9488683fc6537f9ee2c8015d60c294c7a0..a6a1cd07271bbc599b825112082a6a9908b6303d 100644
--- a/dune/istl/eigenvalue/poweriteration.hh
+++ b/dune/istl/eigenvalue/poweriteration.hh
@@ -94,9 +94,9 @@ namespace Dune
       : op1_(op1), op2_(op2)
     {
       static_assert(std::is_same<typename OP2::domain_type,domain_type>::value,
-                    "Domain type of both operators doesnt match!");
+                    "Domain type of both operators doesn't match!");
       static_assert(std::is_same<typename OP2::range_type,range_type>::value,
-                    "Range type of both operators doesnt match!");
+                    "Range type of both operators doesn't match!");
     }
 
     virtual void apply (const domain_type& x, range_type& y) const
diff --git a/dune/istl/ilusubdomainsolver.hh b/dune/istl/ilusubdomainsolver.hh
index 5c72edb63fcb08eb6347e51d071239eb66f4e978..cd1a1923d15e5b72ab23c4722738baa95644388b 100644
--- a/dune/istl/ilusubdomainsolver.hh
+++ b/dune/istl/ilusubdomainsolver.hh
@@ -173,7 +173,7 @@ namespace Dune {
     std::size_t offset=0;
     for(SIter rowIdx = rowSet.begin(), rowEnd=rowSet.end();
         rowIdx!= rowEnd; ++rowIdx, ++rowCreator) {
-      // See wich row entries are in our subset and add them to
+      // See which row entries are in our subset and add them to
       // the sparsity pattern
       guess = indexMap.begin();
 
@@ -195,7 +195,7 @@ namespace Dune {
 
     for(SIter rowIdx = rowSet.begin(), rowEnd=rowSet.end();
         rowIdx!= rowEnd; ++rowIdx, ++iluRow) {
-      // See wich row entries are in our subset and add them to
+      // See which row entries are in our subset and add them to
       // the sparsity pattern
       typename matrix_type::ColIterator localCol=iluRow->begin();
       for(typename matrix_type::ConstColIterator col=A[*rowIdx].begin(),
diff --git a/dune/istl/paamg/aggregates.hh b/dune/istl/paamg/aggregates.hh
index 8cdb89c33741f2b02ff73674899c00f9b7e61f13..c0b6d10e683df96f521952f63f11add2d790f251 100644
--- a/dune/istl/paamg/aggregates.hh
+++ b/dune/istl/paamg/aggregates.hh
@@ -55,7 +55,7 @@ namespace Dune
       /**
        * @brief Constructor.
        *
-       * The paramters will be initialized with default values suitable
+       * The parameters will be initialized with default values suitable
        * for 2D isotropic problems.
        *
        * If that does not fit your needs either use setDefaultValuesIsotropic
@@ -2308,7 +2308,7 @@ namespace Dune
             candidates.clear();
             candidates.push_back(*vertex);
 
-            // two way connections preceed
+            // two way connections precede
             maxOneCons = std::numeric_limits<int>::max();
           }
 
diff --git a/dune/istl/paamg/amg.hh b/dune/istl/paamg/amg.hh
index 537d3e6a73edc32e6ef0912702f84ae0d60455f9..8f776135692e00384946817a471687344203e08f 100644
--- a/dune/istl/paamg/amg.hh
+++ b/dune/istl/paamg/amg.hh
@@ -99,7 +99,7 @@ namespace Dune
        * @brief Construct a new amg with a specific coarse solver.
        * @param matrices The already set up matix hierarchy.
        * @param coarseSolver The set up solver to use on the coarse
-       * grid, must match the coarse matrix in the matrix hierachy.
+       * grid, must match the coarse matrix in the matrix hierarchy.
        * @param smootherArgs The  arguments needed for thesmoother to use
        * for pre and post smoothing
        * @param gamma The number of subcycles. 1 for V-cycle, 2 for W-cycle.
@@ -121,7 +121,7 @@ namespace Dune
        * @brief Construct a new amg with a specific coarse solver.
        * @param matrices The already set up matix hierarchy.
        * @param coarseSolver The set up solver to use on the coarse
-       * grid, must match the coarse matrix in the matrix hierachy.
+       * grid, must match the coarse matrix in the matrix hierarchy.
        * @param smootherArgs The  arguments needed for thesmoother to use
        * for pre and post smoothing.
        * @param parms The parameters for the AMG.
diff --git a/dune/istl/paamg/construction.hh b/dune/istl/paamg/construction.hh
index 70ca64dab8a98791a96ac25b990a524d7997341b..70a16727d6845d050627e2001600aeadb6252952 100644
--- a/dune/istl/paamg/construction.hh
+++ b/dune/istl/paamg/construction.hh
@@ -128,7 +128,7 @@ namespace Dune
 
   } // end Amg namspace
 
-  // foward declaration
+  // forward declaration
   template<class M, class X, class Y, class C>
   class OverlappingSchwarzOperator;
 
diff --git a/dune/istl/paamg/dependency.hh b/dune/istl/paamg/dependency.hh
index 17ddf6718c51208fd25a314c538b76d5a33eb4e6..361bf87fc63ec7468480bd3e414a6e144e944181 100644
--- a/dune/istl/paamg/dependency.hh
+++ b/dune/istl/paamg/dependency.hh
@@ -51,7 +51,7 @@ namespace Dune
       /** @brief Access the bits directly */
       std::bitset<SIZE>::reference operator[](std::size_t v);
 
-      /** @brief Acess the bits directly */
+      /** @brief Access the bits directly */
       bool operator[](std::size_t v) const;
 
       /**
@@ -138,7 +138,7 @@ namespace Dune
       /** @brief Access the bits directly */
       std::bitset<SIZE>::reference operator[](std::size_t v);
 
-      /** @brief Acess the bits directly */
+      /** @brief Access the bits directly */
       bool operator[](std::size_t v) const;
 
       /**
diff --git a/dune/istl/paamg/fastamg.hh b/dune/istl/paamg/fastamg.hh
index 462fc48f33ea4fd0526f4cbd363385c3c96e06fe..6817aae9d0a88440ce7c7347cd7ac6863a3735ae 100644
--- a/dune/istl/paamg/fastamg.hh
+++ b/dune/istl/paamg/fastamg.hh
@@ -88,7 +88,7 @@ namespace Dune
        * @brief Construct a new amg with a specific coarse solver.
        * @param matrices The already set up matix hierarchy.
        * @param coarseSolver The set up solver to use on the coarse
-       * grid, must match the coarse matrix in the matrix hierachy.
+       * grid, must match the coarse matrix in the matrix hierarchy.
        * @param parms The parameters for the AMG.
        */
       FastAMG(const OperatorHierarchy& matrices, CoarseSolver& coarseSolver,
diff --git a/dune/istl/paamg/hierarchy.hh b/dune/istl/paamg/hierarchy.hh
index 78bc746928544192a707b096e57c3c6da7705701..3399c6a8f34232bd8233d1ac315d0ca325ff0f50 100644
--- a/dune/istl/paamg/hierarchy.hh
+++ b/dune/istl/paamg/hierarchy.hh
@@ -436,7 +436,7 @@ namespace Dune
       const AggregatesMapList& aggregatesMaps() const;
 
       /**
-       * @brief Get the hierachy of the information about redistributions,
+       * @brief Get the hierarchy of the information about redistributions,
        * @return The hierarchy of the information about redistributions of the
        * data to fewer processes.
        */
diff --git a/dune/istl/paamg/kamg.hh b/dune/istl/paamg/kamg.hh
index ef3a475185871183e241c67b8979d97fbf783e7e..aad14dd979892b1e57b03a94ed5a7c2066b49fb8 100644
--- a/dune/istl/paamg/kamg.hh
+++ b/dune/istl/paamg/kamg.hh
@@ -171,7 +171,7 @@ namespace Dune
        * @brief Construct a new amg with a specific coarse solver.
        * @param matrices The already set up matix hierarchy.
        * @param coarseSolver The set up solver to use on the coarse
-       * grid, must match the sparse matrix in the matrix hierachy.
+       * grid, must match the sparse matrix in the matrix hierarchy.
        * @param smootherArgs The  arguments needed for thesmoother to use
        * for pre and post smoothing
        * @param gamma The number of subcycles. 1 for V-cycle, 2 for W-cycle.
@@ -189,7 +189,7 @@ namespace Dune
        * @brief Construct a new amg with a specific coarse solver.
        * @param matrices The already set up matix hierarchy.
        * @param coarseSolver The set up solver to use on the coarse
-       * grid, must match the coarse matrix in the matrix hierachy.
+       * grid, must match the coarse matrix in the matrix hierarchy.
        * @param smootherArgs The  arguments needed for thesmoother to use
        * for pre and post smoothing.
        * @param parms The parameters for the AMG.
diff --git a/dune/istl/paamg/parameters.hh b/dune/istl/paamg/parameters.hh
index edff1ef89b69bdf37eef814f08134dd449a3bce4..fe63713e73a0f788f6afcb58b6fbde8f918933f9 100644
--- a/dune/istl/paamg/parameters.hh
+++ b/dune/istl/paamg/parameters.hh
@@ -84,7 +84,7 @@ namespace Dune
       /**
        * @brief Constructor.
        *
-       * The paramters will be initialized with default values suitable
+       * The parameters will be initialized with default values suitable
        * for 2D isotropic problems.
        *
        * If that does not fit your needs either use setDefaultValuesIsotropic
diff --git a/dune/istl/paamg/renumberer.hh b/dune/istl/paamg/renumberer.hh
index bd820c932b74ee1b275a529e0d0f1afccafef8c0..adc0b423b5399295497c978ab0370531a75f7cd4 100644
--- a/dune/istl/paamg/renumberer.hh
+++ b/dune/istl/paamg/renumberer.hh
@@ -22,7 +22,7 @@ namespace Dune
        */
       AggregateRenumberer(AggregatesMap<Vertex>& aggregates);
 
-      /** @brief Convertion to vertex. */
+      /** @brief Conversion to vertex. */
       operator Vertex() const;
 
       void operator()(const typename G::ConstEdgeIterator& edge);
diff --git a/dune/istl/paamg/smoother.hh b/dune/istl/paamg/smoother.hh
index 456e658d78fa71394c5713450e66d01a21b4418f..1f689ed64dfe150559fe55e18ed656ad6aeaeb30 100644
--- a/dune/istl/paamg/smoother.hh
+++ b/dune/istl/paamg/smoother.hh
@@ -792,8 +792,8 @@ namespace Dune
                             const AggregatesMap& amap, Visitor& overlapVisitor,
                             IteratorPropertyMap<std::vector<bool>::iterator,IdentityMap>& visitedMap )
       {
-        // count  number ag aggregates. We asume that the
-        // aggregates are numbered consecutively from 0 exept
+        // count  number ag aggregates. We assume that the
+        // aggregates are numbered consecutively from 0 except
         // for the isolated ones. All isolated vertices form
         // one aggregate, here.
         int isolated=0;
diff --git a/dune/istl/paamg/test/parallelamgtest.cc b/dune/istl/paamg/test/parallelamgtest.cc
index 5ae508e0b4c8914b3aba9c45603d65ee4892937c..7fb5e5f36ed5eb37ec1dadcbf7f2ead4164c85f2 100644
--- a/dune/istl/paamg/test/parallelamgtest.cc
+++ b/dune/istl/paamg/test/parallelamgtest.cc
@@ -66,7 +66,7 @@ void MPI_err_handler(MPI_Comm *comm, int *err_code, ...){
   int err_length;
   MPI_Error_string(*err_code, err_string, &err_length);
   std::string s(err_string, err_length);
-  std::cerr << "An MPI Error ocurred:"<<std::endl<<s<<std::endl;
+  std::cerr << "An MPI Error occurred:"<<std::endl<<s<<std::endl;
   delete[] err_string;
   throw MPIError(s, *err_code);
 }
diff --git a/dune/istl/repartition.hh b/dune/istl/repartition.hh
index 19180af6b4c5660bfda56d207e7dbe9da00ce59e..1dd57d1da804f8bfe888f71309a735be99cc6cbd 100644
--- a/dune/istl/repartition.hh
+++ b/dune/istl/repartition.hh
@@ -409,7 +409,7 @@ namespace Dune
       // init domain Mapping
       domainMapping.assign(domainMapping.size(), -1);
 
-      // count the occurance of domains
+      // count the occurrence of domains
       for (i=0; i<numOfOwnVtx; i++) {
         domain[part[i]]++;
       }
@@ -509,7 +509,7 @@ namespace Dune
 
       typedef typename std::vector<std::pair<GI,int> >::const_iterator VIter;
 #ifdef DEBUG_REPART
-      // Safty check for duplicates.
+      // Safety check for duplicates.
       if(ownerVec.size()>0)
       {
         VIter old=ownerVec.begin();
diff --git a/dune/istl/solvers.hh b/dune/istl/solvers.hh
index 2e59fda0d07a09918b0679551e65b202528174fd..7f9e1c1b787735d18d738eab582e678e12d15e3b 100644
--- a/dune/istl/solvers.hh
+++ b/dune/istl/solvers.hh
@@ -659,7 +659,7 @@ namespace Dune {
         // rho_new = < rt , r >
         rho_new = _sp.dot(rt,r);
 
-        // look if breakdown occured
+        // look if breakdown occurred
         if (abs(rho) <= EPSILON)
           DUNE_THROW(ISTLError,"breakdown in BiCGSTAB - rho "
                      << rho << " <= EPSILON " << EPSILON
diff --git a/dune/istl/test/complexmatrixtest.cc b/dune/istl/test/complexmatrixtest.cc
index 28fc80455a8afc598ad569a9643eeaa8dde8099d..d03b2d679a3ab7bcd055eb0945c078f3ab68ced2 100644
--- a/dune/istl/test/complexmatrixtest.cc
+++ b/dune/istl/test/complexmatrixtest.cc
@@ -98,7 +98,7 @@ int main(int argc, char** argv)
 
     std::cout << "============================================" << '\n'
               << "solving system with hermitian matrix of size 10" << '\n'
-              << "randomly generated with the Eigen libary... "
+              << "randomly generated with the Eigen library... "
               << std::endl << std::endl;
 
     Dune::RestartedGMResSolver<Dune::FieldVector<std::complex<double>,10> > hermitiangmrestest(hermitianadapter,complexnoprec,1e-12,maxIter,maxIter*maxIter,2);
diff --git a/dune/istl/test/matrixredisttest.cc b/dune/istl/test/matrixredisttest.cc
index 8ebeeae344aa1b6f1b99bd6d42d4d1a9fb07a444..09725bc1195d07ab0056aebed33987b4483040f5 100644
--- a/dune/istl/test/matrixredisttest.cc
+++ b/dune/istl/test/matrixredisttest.cc
@@ -29,7 +29,7 @@ void MPI_err_handler(MPI_Comm *, int *err_code, ...){
   int err_length;
   MPI_Error_string(*err_code, err_string, &err_length);
   std::string s(err_string, err_length);
-  std::cerr << "An MPI Error ocurred:"<<std::endl<<s<<std::endl;
+  std::cerr << "An MPI Error occurred:"<<std::endl<<s<<std::endl;
   delete[] err_string;
   throw MPIError(s, *err_code);
 }
diff --git a/dune/istl/umfpack.hh b/dune/istl/umfpack.hh
index 56b552e85e788f344260dd50f387e561a9ab2b2e..ac69a44c5c2fa04cc4de52e8b3dac69ead41494f 100644
--- a/dune/istl/umfpack.hh
+++ b/dune/istl/umfpack.hh
@@ -544,6 +544,6 @@ namespace Dune {
   };
 }
 
-#endif // HAVE_SUITESPARES_UMFPACK
+#endif // HAVE_SUITESPARSE_UMFPACK
 
 #endif //DUNE_ISTL_UMFPACK_HH
diff --git a/dune/istl/vbvector.hh b/dune/istl/vbvector.hh
index 1aac4c3c78b3217cf5f38c7983b147202d408745..aa7779d3f14eca163470563ae447a61d6264230a 100644
--- a/dune/istl/vbvector.hh
+++ b/dune/istl/vbvector.hh
@@ -69,7 +69,7 @@ namespace Dune {
 
     /** \brief Type of the elements of the outer vector, i.e., dynamic vectors of B
      *
-     * Note that this is *not* the type refered to by the iterators and random access operators,
+     * Note that this is *not* the type referred to by the iterators and random access operators,
      * which return proxy objects.
      */
     typedef BlockVector<B,A> value_type;
diff --git a/m4/superlu.m4 b/m4/superlu.m4
index bbb025471fc076372c3aec05ae83fd229543ade5..5066742fb4d9c5d02f5e2bec0ce9b0971ebf7ede 100644
--- a/m4/superlu.m4
+++ b/m4/superlu.m4
@@ -132,7 +132,7 @@ AC_DEFUN([_slu_search_default],
 #     "SLU_DOUBLE" while earlier versions use "DOUBLE".
 #   HAVE_MEM_USAGE_T_EXPANSIONS
 #     1 or undefined.  Whether "mem_usage_t.expansions" was found in
-#     "slu_ddefs.h" or "dsp_defs.h" as apropriate.
+#     "slu_ddefs.h" or "dsp_defs.h" as appropriate.
 #
 # Conditionals:
 #   SUPERLU
@@ -274,7 +274,7 @@ AC_DEFUN([DUNE_PATH_SUPERLU],[
         HAVE_SUPERLU=0
     fi
 
-    # Inform the user whether SuperLU was sucessfully found
+    # Inform the user whether SuperLU was successfully found
     AC_MSG_CHECKING([SuperLU])
     if test x$HAVE_SUPERLU = x1 ; then
         if test "$my_slu_header" = "slu_ddefs.h"; then