SpECTRE Documentation Coverage Report
Current view: top level - DataStructures/Tensor/EagerMath - GramSchmidtOrthonormalize.hpp Hit Total Coverage
Commit: 3ffcbc8ecf43797401b60bcca17d6040ee06f013 Lines: 1 2 50.0 %
Date: 2026-03-03 02:01:44
Legend: Lines: hit not hit

          Line data    Source code
       1           0 : // Distributed under the MIT License.
       2             : // See LICENSE.txt for details.
       3             : 
       4             : #pragma once
       5             : 
       6             : #include <array>
       7             : 
       8             : #include "DataStructures/Tensor/Metafunctions.hpp"
       9             : #include "DataStructures/Tensor/TypeAliases.hpp"
      10             : #include "Utilities/Gsl.hpp"
      11             : 
      12             : /*!
      13             :  * \brief Orthonormalize a set of vectors using the modified Gram-Schmidt
      14             :  * process.
      15             :  *
      16             :  * The first vector in `basis` is normalized, then each subsequent vector is
      17             :  * orthogonalized against all previous vectors and then normalized.
      18             :  */
      19             : template <typename DataType, typename Index, size_t NumVectors>
      20           1 : void gram_schmidt_orthonormalize(
      21             :     const std::array<
      22             :         gsl::not_null<Tensor<DataType, Symmetry<1>, index_list<Index>>*>,
      23             :         NumVectors>& basis,
      24             :     const Tensor<DataType, Symmetry<1, 1>,
      25             :                  index_list<change_index_up_lo<Index>,
      26             :                             change_index_up_lo<Index>>>& metric);

Generated by: LCOV version 1.14