You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Generates a real elementary reflector `H` of order `n` such that applying `H` to a vector `[alpha; x]` zeros out `x`.
224
+
* Generates a real elementary reflector `H` of order `N` such that applying `H` to a vector `[alpha; x]` zeros out `X` using alternative indexing semantics.
225
225
*
226
226
* ## Notes
227
227
*
228
228
* - `H` is a Householder matrix with the form `H = I - tau * [1; v] * [1, v^T]`, where `tau` is a scalar and `v` is a vector.
229
-
* - the input vector is `[alpha; x]`, where `alpha` is a scalar and `x` is a real `(n-1)`-element vector.
229
+
* - the input vector is `[alpha; x]`, where `alpha` is a scalar and `X` is a real `(n-1)`-element vector.
230
230
* - the result of applying `H` to `[alpha; x]` is `[beta; 0]`, with `beta` being a scalar and the rest of the vector zeroed.
231
-
* - if all elements of `x` are zero, then `tau = 0` and `H` is the identity matrix.
232
-
* - otherwise, `1 <= tau <= 2` and `H` is orthogonal, i.e., `H^T * H = I`.
231
+
* - if all elements of `X` are zero, then `tau = 0` and `H` is the identity matrix.
232
+
* - otherwise, `1 <= tau <= 2`
233
233
*
234
-
* @param {NonNegativeInteger} N - order of matrix `A`
235
-
* @param {Float64Array} X - overwritten by the vector `V` on exit
234
+
* @param {NonNegativeInteger} N - number of rows/columns of the elementary reflector `H`
235
+
* @param {Float64Array} X - overwritten by the vector `V` on exit, expects `N - 1` indexed elements
236
236
* @param {integer} strideX - stride length for `X`
237
237
* @param {NonNegativeInteger} offsetX - starting index of `X`
238
238
* @param {Float64Array} out - array to store `alpha` and `tau`, first indexed element stores `alpha` and the second indexed element stores `tau`
0 commit comments