home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / libblas / rot.z / rot
Encoding:
Text File  |  2002-10-03  |  3.9 KB  |  100 lines

  1. ROT(3F)                                               Last changed: 11-2-98
  2.  
  3.  
  4. NNAAMMEE
  5.      SSRROOTT, DDRROOTT - Applies a real plane rotation or complex coordinate
  6.      rotation
  7.  
  8. SSYYNNOOPPSSIISS
  9.      Real
  10.  
  11.         CCAALLLL SSRROOTT ((_n,, _x,, _i_n_c_x,, _y,, _i_n_c_y,, _c,, _s))
  12.  
  13.      Double precision
  14.  
  15.         CCAALLLL DDRROOTT ((_n,, _x,, _i_n_c_x,, _y,, _i_n_c_y,, _c,, _s))
  16.  
  17. IIMMPPLLEEMMEENNTTAATTIIOONN
  18.      IRIX systems
  19.  
  20. DDEESSCCRRIIPPTTIIOONN
  21.      SSRROOTT/DDRROOTT applies a plane rotation matrix to a real sequence of
  22.      ordered pairs:
  23.  
  24.           (_x , _y ), for all _i = 1, 2, ..., _n.
  25.             _i   _i
  26.      These routines have the following arguments:
  27.  
  28.      _n         Integer.  (input)
  29.                Number of ordered pairs (planar points in SSRROOTT) to be
  30.                rotated.  If _n <= 0, these routines return without
  31.                computation.
  32.  
  33.      _x         Array of dimension (_n-1) * |_i_n_c_x| + 1.  (input and output)
  34.                SSRROOTT: Real array.
  35.                DDRROOTT: Double precision array.
  36.                On input, array _x contains the _x-coordinate of each planar
  37.                point to be rotated.  On output, array _x contains the
  38.                _x-coordinate of each rotated planar point.
  39.  
  40.      _i_n_c_x      Integer.  (input)
  41.                Increment between elements of _x.  If _i_n_c_x = 0, the results
  42.                will be unpredictable.
  43.  
  44.      _y         Array of dimension (_n-1) * |_i_n_c_y| + 1.  (input and output)
  45.                SSRROOTT: Real array.
  46.                DDRROOTT: Double precision array.
  47.                On input, array _y contains the _y-coordinate of each planar
  48.                point to be rotated.  On output, array _y contains the
  49.                _y-coordinate of each rotated planar point.
  50.  
  51.      _i_n_c_y      Integer.  (input)
  52.                Increment between elements of _y.  If _i_n_c_y = 0, the results
  53.                will be unpredictable.
  54.  
  55.      _c         Cosine of the angle of rotation, usually calculated using
  56.                SSRROOTTGG(3F) or CCRROOTTGG(3F).  (input)
  57.                SSRROOTT: Real.
  58.                DDRROOTT: Double precision.
  59.  
  60.      _s         Sine of the angle of rotation, usually calculated using
  61.                SSRROOTTGG. (input)
  62.                SSRROOTT: Real.
  63.                DDRROOTT: Double precision.
  64.  
  65. NNOOTTEESS
  66.      These routines are Level 1 Basic Linear Algebra Subprograms (Level 1
  67.      BLAS).
  68.  
  69.      SSRROOTT/DDRROOTT applies the following plane rotation to each pair of
  70.      elements (_x , _y ):
  71.                 _i   _i
  72.           _    _      _      _     _    _
  73.           | x  |  <-  | c  s |  *  | x  |
  74.           |  i |      |      |     |  i |
  75.           | y  |      |-s  c |     | y  |
  76.           |  i |      |      |     |  i |
  77.           -    -      -      -     -    -
  78.  
  79.      for i = 1,...,n
  80.                                       _2    _2
  81.      If coefficients _c and _s satisfy _c  + _s  = 1.0, the rotation matrix is
  82.      orthogonal, and the transformation is called a _G_i_v_e_n_s _p_l_a_n_e _r_o_t_a_t_i_o_n.
  83.      If _c = 1 and _s = 0, SSRROOTT/DDRROOTT returns without modifying any input
  84.      parameters.
  85.  
  86.      To calculate the Givens coefficients _c and _s from a two-element vector
  87.      to determine the angle of rotation, use SSRROOTTGG.
  88.  
  89.      When working backward (_i_n_c_x < 0 or _i_n_c_y < 0), each routine starts at
  90.      the end of the vector and moves backward, as follows:
  91.  
  92.           _x(1-_i_n_c_x * (_n-1)), _x(1-_i_n_c_x * (_n-2)), ..., _x(1)
  93.  
  94.           _y(1-_i_n_c_y * (_n-1)), _y(1-_i_n_c_y * (_n-2)), ..., _y(1)
  95.  
  96. SSEEEE AALLSSOO
  97.      SSRROOTTGG(3F), SSRROOTTMM(3F), SSRROOTTMMGG(3F)
  98.  
  99.      This man page is available only online.
  100.