plane rotation is applied to two values.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(inout) | :: | xk |
first value for plane rotation. |
||
| real(kind=wp), | intent(inout) | :: | xl |
second value for plane rotation. |
||
| real(kind=wp), | intent(in) | :: | ck |
diagonal element of the elementary orthogonal matrix. |
||
| real(kind=wp), | intent(in) | :: | cl |
off-diagonal element of the elementary orthogonal matrix. |
||
| integer, | intent(in) | :: | ier |
information on the transformation:
|
pure subroutine mxvrot(xk,xl,ck,cl,ier) real(wp),intent(in) :: ck !! diagonal element of the elementary orthogonal matrix. real(wp),intent(in) :: cl !! off-diagonal element of the elementary orthogonal matrix. real(wp),intent(inout) :: xk !! first value for plane rotation. real(wp),intent(inout) :: xl !! second value for plane rotation. integer,intent(in) :: ier !! information on the transformation: !! !! * ier=0-general plane rotation. !! * ier=1-permutation. !! * ier=2-transformation suppressed. real(wp) :: yk , yl if ( ier==0 ) then yk = xk yl = xl xk = ck*yk + cl*yl xl = cl*yk - ck*yl elseif ( ier==1 ) then yk = xk xk = xl xl = yk endif end subroutine mxvrot