batmat 0.0.21
Batched linear algebra routines
Loading...
Searching...
No Matches
reduce.hpp File Reference

Go to the source code of this file.

Single-batch reduction operations

template<simdifiable Vx>
norms< simdified_value_t< Vx > >::result batmat::linalg::norms_all (Vx &&x)
 Compute the norms (max, 1-norm, and 2-norm) of a vector.
template<simdifiable Vx>
simdified_value_t< Vx > batmat::linalg::norm_inf (Vx &&x)
 Compute the infinity norm of a vector.
template<simdifiable Vx>
simdified_value_t< Vx > batmat::linalg::norm_1 (Vx &&x)
 Compute the 1-norm of a vector.
template<simdifiable Vx>
simdified_value_t< Vx > batmat::linalg::norm_2_squared (Vx &&x)
 Compute the squared 2-norm of a vector.
template<simdifiable Vx>
simdified_value_t< Vx > batmat::linalg::norm_2 (Vx &&x)
 Compute the 2-norm of a vector.
template<simdifiable Vx, simdifiable Vy>
simdified_value_t< Vx > batmat::linalg::dot (Vx &&x, Vy &&y)
 Compute the dot product of two vectors.
template<simdifiable Vw, simdifiable Va>
simdified_value_t< Vw > batmat::linalg::weighted_norm_sq (Vw &&w, Va &&a)
 ∑ wᵢ aᵢ².
template<simdifiable Vw, simdifiable Va, simdifiable Vb>
simdified_value_t< Vw > batmat::linalg::weighted_norm_sq_diff (Vw &&w, Va &&a, Vb &&b)
 ∑ wᵢ(aᵢ - bᵢ)².

Multi-batch reduction operations

template<simdifiable_multi Vx>
norms< simdified_value_t< Vx > >::result batmat::linalg::multi::norms_all (Vx &&x)
 Compute the norms (max, 1-norm, and 2-norm) of a vector.
template<simdifiable_multi Vx>
simdified_value_t< Vx > batmat::linalg::multi::norm_inf (Vx &&x)
 Compute the infinity norm of a vector.
template<simdifiable_multi Vx>
simdified_value_t< Vx > batmat::linalg::multi::norm_1 (Vx &&x)
 Compute the 1-norm of a vector.
template<simdifiable_multi Vx>
simdified_value_t< Vx > batmat::linalg::multi::norm_2_squared (Vx &&x)
 Compute the squared 2-norm of a vector.
template<simdifiable_multi Vx>
simdified_value_t< Vx > batmat::linalg::multi::norm_2 (Vx &&x)
 Compute the 2-norm of a vector.
template<simdifiable_multi Vx, simdifiable_multi Vy>
simdified_value_t< Vx > batmat::linalg::multi::dot (Vx &&x, Vy &&y)
 Compute the dot product of two vectors.
template<simdifiable_multi Vw, simdifiable_multi Vx>
simdified_value_t< Vw > batmat::linalg::multi::weighted_norm_sq (Vw &&w, Vx &&x)
 ∑ wᵢ xᵢ².
template<simdifiable_multi Vw, simdifiable_multi Vx, simdifiable_multi Vy>
simdified_value_t< Vw > batmat::linalg::multi::weighted_norm_sq_difference (Vw &&w, Vx &&x, Vy &&y)
 ∑ wᵢ(xᵢ - yᵢ)².

Namespaces

namespace  batmat
namespace  batmat::linalg
namespace  batmat::linalg::multi