koblas

rotm

fun rotm(x: DenseVector, y: DenseVector, transformation: ModifiedGivens)(source)

Apply a modified Givens transformation to each pair in x and y (BLAS drotm). Both vectors are overwritten in place; when they share a backing array, the StridedVectorView overload's overlap handling applies, so at a shared physical entry the final write is from y.


rotm over borrowed strided storage. Negative strides are supported. If the views overlap, both logical input sequences are snapshotted before writing; at a shared physical entry the final write is from y.

rotmg

Construct a modified Givens transformation (BLAS drotmg) that eliminates the second component of (sqrt(d1) * x1, sqrt(d2) * y1). The returned ModifiedGivens carries both BLAS's updated d1, d2, x1 state and the matrix for rotm.

The scaling constants and branch conditions are the Netlib reference algorithm. In particular, a negative d1 clears the returned state, and d2 * y1 == 0.0 returns the identity (flag == -2.0) without changing that state.