From Jason Turner

[linalg.algs.blas1.givens.rot]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp4mj5ksds/{from.md → to.md} +27 -0
tmp/tmp4mj5ksds/{from.md → to.md} RENAMED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ##### Apply a computed Givens rotation to vectors <a id="linalg.algs.blas1.givens.rot">[[linalg.algs.blas1.givens.rot]]</a>
2
+
3
+ ``` cpp
4
+ template<inout-vector InOutVec1, inout-vector InOutVec2, class Real>
5
+ void apply_givens_rotation(InOutVec1 x, InOutVec2 y, Real c, Real s);
6
+ template<class ExecutionPolicy, inout-vector InOutVec1, inout-vector InOutVec2, class Real>
7
+ void apply_givens_rotation(ExecutionPolicy&& exec,
8
+ InOutVec1 x, InOutVec2 y, Real c, Real s);
9
+ template<inout-vector InOutVec1, inout-vector InOutVec2, class Real>
10
+ void apply_givens_rotation(InOutVec1 x, InOutVec2 y, Real c, complex<Real> s);
11
+ template<class ExecutionPolicy, inout-vector InOutVec1, inout-vector InOutVec2, class Real>
12
+ void apply_givens_rotation(ExecutionPolicy&& exec,
13
+ InOutVec1 x, InOutVec2 y, Real c, complex<Real> s);
14
+ ```
15
+
16
+ [*Note 2*: These functions correspond to the BLAS function
17
+ `xROT`. — *end note*]
18
+
19
+ *Mandates:* *`compatible-static-extents`*`<InOutVec1, InOutVec2>(0, 0)`
20
+ is `true`.
21
+
22
+ *Preconditions:* `x.extent(0)` equals `y.extent(0)`.
23
+
24
+ *Effects:* Applies the plane rotation specified by `c` and `s` to the
25
+ input vectors `x` and `y`, as if the rotation were a 2 x 2 matrix and
26
+ the input vectors were successive rows of a matrix with two rows.
27
+