Subroutine */
| 20570 | } /* zlaset_ */ |
| 20571 | |
| 20572 | /* Subroutine */ int zlasr_(char *side, char *pivot, char *direct, integer *m, |
| 20573 | integer *n, doublereal *c__, doublereal *s, doublecomplex *a, |
| 20574 | integer *lda) |
| 20575 | { |
| 20576 | /* System generated locals */ |
| 20577 | integer a_dim1, a_offset, i__1, i__2, i__3, i__4; |
| 20578 | doublecomplex z__1, z__2, z__3; |
| 20579 | |
| 20580 | /* Local variables */ |
| 20581 | static integer i__, j, info; |
| 20582 | static doublecomplex temp; |
| 20583 | extern logical lsame_(char *, char *); |
| 20584 | static doublereal ctemp, stemp; |
| 20585 | extern /* Subroutine */ int xerbla_(char *, integer *); |
| 20586 | |
| 20587 | |
| 20588 | /* |
| 20589 | -- LAPACK auxiliary routine (version 3.2) -- |
| 20590 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 20591 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 20592 | November 2006 |
| 20593 | |
| 20594 | |
| 20595 | Purpose |
| 20596 | ======= |
| 20597 | |
| 20598 | ZLASR applies a sequence of real plane rotations to a complex matrix |
| 20599 | A, from either the left or the right. |
| 20600 | |
| 20601 | When SIDE = 'L', the transformation takes the form |
| 20602 | |
| 20603 | A := P*A |
| 20604 | |
| 20605 | and when SIDE = 'R', the transformation takes the form |
| 20606 | |
| 20607 | A := A*P**T |
| 20608 | |
| 20609 | where P is an orthogonal matrix consisting of a sequence of z plane |
| 20610 | rotations, with z = M when SIDE = 'L' and z = N when SIDE = 'R', |
| 20611 | and P**T is the transpose of P. |
| 20612 | |
| 20613 | When DIRECT = 'F' (Forward sequence), then |
| 20614 | |
| 20615 | P = P(z-1) * ... * P(2) * P(1) |
| 20616 | |
| 20617 | and when DIRECT = 'B' (Backward sequence), then |
| 20618 | |
| 20619 | P = P(1) * P(2) * ... * P(z-1) |
| 20620 | |
| 20621 | where P(k) is a plane rotation matrix defined by the 2-by-2 rotation |
| 20622 | |
| 20623 | R(k) = ( c(k) s(k) ) |
| 20624 | = ( -s(k) c(k) ). |
| 20625 | |
| 20626 | When PIVOT = 'V' (Variable pivot), the rotation is performed |
| 20627 | for the plane (k,k+1), i.e., P(k) has the form |
| 20628 | |
| 20629 | P(k) = ( 1 ) |