strided_norm2 (Linear Algebra)


Import

#include <archr/algebra/strided_norm2.h>
#include <archr/algebra/strided_norm2.hpp>

Synopsis

 float archr_algebra_strided_norm2_f32(const float *x, size_t nbstride, ptrdiff_t inc);
(1)
 double archr_algebra_strided_norm2_f64(const double *x, size_t nbstride, ptrdiff_t inc);
(2)
 float archr_algebra_strided_norm2_zf32(const void *x, size_t nbstride, ptrdiff_t inc);
(3)
 double archr_algebra_strided_norm2_zf64(const void *x, size_t nbstride, ptrdiff_t inc);
(4)
 float archr_algebra_strided_norm2r_f32(const float *first, const float *last, ptrdiff_t inc);
(5)
 double archr_algebra_strided_norm2r_f64(const double *first, const double *last, ptrdiff_t inc);
(6)
 float archr_algebra_strided_norm2r_zf32(const void *first, const void *last, ptrdiff_t inc);
(7)
 double archr_algebra_strided_norm2r_zf64(const void *first, const void *last, ptrdiff_t inc);
(8)
 float strided_norm2(const float *x, size_t nbstride, ptrdiff_t inc);
(1)
 double strided_norm2(const double *x, size_t nbstride, ptrdiff_t inc);
(2)
 float strided_norm2(const std::complex<float>*x, size_t nbstride, ptrdiff_t inc);
(3)
 double strided_norm2(const std::complex<double>*x, size_t nbstride, ptrdiff_t inc);
(4)
 float strided_norm2(const float *first, const float *last, ptrdiff_t inc);
(5)
 double strided_norm2(const double *first, const double *last, ptrdiff_t inc);
(6)
 float strided_norm2(const std::complex<float>*first, const std::complex<float>*last, ptrdiff_t inc);
(7)
 double strided_norm2(const std::complex<double>*first, const std::complex<double>*last, ptrdiff_t inc);
(8)
subroutine archr_algebra_strided_norm2_f32(real(4) :: r, real(4), dimension(*), parameter :: x, integer(4) :: nbstride, ptrdiff_t :: inc)
(1)
subroutine archr_algebra_strided_norm2_f64(real(8) :: r, real(8), dimension(*), parameter :: x, integer(4) :: nbstride, ptrdiff_t :: inc)
(2)
subroutine archr_algebra_strided_norm2_zf32(real(4) :: r, complex(4), dimension(*), parameter :: x, integer(4) :: nbstride, ptrdiff_t :: inc)
(3)
subroutine archr_algebra_strided_norm2_zf64(real(8) :: r, complex(8), dimension(*), parameter :: x, integer(4) :: nbstride, ptrdiff_t :: inc)
(4)

Description

This function computes the strided_norm2 product between the elements of two data ranges stored in:

$$\sqrt{\sum_{i=0}^{nbstride} |X[i \times inc]|^2}$$

where X is the vector stored in the x.

Parameters

x, first

the beginning of the X range.

last

the end of the X range.

y

the beginning of the Y range.

nbstride

the number of elements to process.

inc

the stride between element of X to process.

Return value

The strided_norm2 product between the elements of the two given ranges.

Example

Possible Output

Possible Output

Possible Output