SpECTRE Documentation Coverage Report
Current view: top level - DataStructures/Tensor/EagerMath - GramSchmidtOrthonormalize.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 50.0 % 2 1
Test Date: 2026-10-22 17:29:42
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 2.0-1