fortran-lapack
|
! More...
Public Member Functions | |
pure subroutine | crotg (a, b, c, s) |
la_crotg | |
pure subroutine | drotg (a, b, c, s) |
la_drotg | |
la_qrotg | |
pure subroutine | srotg (a, b, c, s) |
la_srotg | |
la_wrotg | |
pure subroutine | zrotg (a, b, c, s) |
la_zrotg | |
!
The computation uses the formulas |x| = sqrt( Re(x)**2 + Im(x)**2 ) sgn(x) = x / |x| if x /= 0 = 1 if x = 0 c = |a| / sqrt(|a|**2 + |b|**2) s = sgn(a) * conjg(b) / sqrt(|a|**2 + |b|**2) When a and b are real and r /= 0, the formulas simplify to r = sgn(a)*sqrt(|a|**2 + |b|**2) c = a / r s = b / r the same as in SROTG when |a| > |b|. When |b| >= |a|, the sign of c and s will be different from those computed by SROTG if the signs of a and b are not the same.
pure subroutine la_blas::rotg::crotg | ( | complex(sp), intent(inout) | a, |
complex(sp), intent(in) | b, | ||
real(sp), intent(out) | c, | ||
complex(sp), intent(out) | s | ||
) |
pure subroutine la_blas::rotg::drotg | ( | real(dp), intent(inout) | a, |
real(dp), intent(inout) | b, | ||
real(dp), intent(out) | c, | ||
real(dp), intent(out) | s | ||
) |
la_blas::rotg::la_crotg |
la_blas::rotg::la_drotg |
la_blas::rotg::la_qrotg |
la_blas::rotg::la_srotg |
la_blas::rotg::la_wrotg |
la_blas::rotg::la_zrotg |
pure subroutine la_blas::rotg::srotg | ( | real(sp), intent(inout) | a, |
real(sp), intent(inout) | b, | ||
real(sp), intent(out) | c, | ||
real(sp), intent(out) | s | ||
) |
pure subroutine la_blas::rotg::zrotg | ( | complex(dp), intent(inout) | a, |
complex(dp), intent(in) | b, | ||
real(dp), intent(out) | c, | ||
complex(dp), intent(out) | s | ||
) |