umfpack_scale.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /* ========================================================================== */
  2. /* === umfpack_scale ======================================================== */
  3. /* ========================================================================== */
  4. /* -------------------------------------------------------------------------- */
  5. /* UMFPACK Copyright (c) Timothy A. Davis, CISE, */
  6. /* Univ. of Florida. All Rights Reserved. See ../Doc/License for License. */
  7. /* web: http://www.cise.ufl.edu/research/sparse/umfpack */
  8. /* -------------------------------------------------------------------------- */
  9. int umfpack_di_scale
  10. (
  11. double X [ ],
  12. const double B [ ],
  13. void *Numeric
  14. ) ;
  15. UF_long umfpack_dl_scale
  16. (
  17. double X [ ],
  18. const double B [ ],
  19. void *Numeric
  20. ) ;
  21. int umfpack_zi_scale
  22. (
  23. double Xx [ ], double Xz [ ],
  24. const double Bx [ ], const double Bz [ ],
  25. void *Numeric
  26. ) ;
  27. UF_long umfpack_zl_scale
  28. (
  29. double Xx [ ], double Xz [ ],
  30. const double Bx [ ], const double Bz [ ],
  31. void *Numeric
  32. ) ;
  33. /*
  34. double int Syntax:
  35. #include "umfpack.h"
  36. void *Numeric ;
  37. double *B, *X ;
  38. status = umfpack_di_scale (X, B, Numeric) ;
  39. double UF_long Syntax:
  40. #include "umfpack.h"
  41. void *Numeric ;
  42. double *B, *X ;
  43. status = umfpack_dl_scale (X, B, Numeric) ;
  44. complex int Syntax:
  45. #include "umfpack.h"
  46. void *Numeric ;
  47. double *Bx, *Bz, *Xx, *Xz ;
  48. status = umfpack_zi_scale (Xx, Xz, Bx, Bz, Numeric) ;
  49. complex UF_long Syntax:
  50. #include "umfpack.h"
  51. void *Numeric ;
  52. double *Bx, *Bz, *Xx, *Xz ;
  53. status = umfpack_zl_scale (Xx, Xz, Bx, Bz, Numeric) ;
  54. packed complex Syntax:
  55. Same as above, except both Xz and Bz are NULL.
  56. Purpose:
  57. Given LU factors computed by umfpack_*_numeric (PAQ=LU, PRAQ=LU, or
  58. P(R\A)Q=LU), and a vector B, this routine computes X = B, X = R*B, or
  59. X = R\B, as appropriate. X and B must be vectors equal in length to the
  60. number of rows of A.
  61. Returns:
  62. The status code is returned. UMFPACK_OK is returned if successful.
  63. UMFPACK_ERROR_invalid_Numeric_object is returned in the Numeric
  64. object is invalid. UMFPACK_ERROR_argument_missing is returned if
  65. any of the input vectors are missing (X and B for the real version,
  66. and Xx and Bx for the complex version).
  67. Arguments:
  68. double X [n_row] ; Output argument.
  69. or:
  70. double Xx [n_row] ; Output argument, real part.
  71. Size 2*n_row for packed complex case.
  72. double Xz [n_row] ; Output argument, imaginary part.
  73. The output vector X. If either Xz or Bz are NULL, the vector
  74. X is in packed complex form, with the kth entry in Xx [2*k] and
  75. Xx [2*k+1], and likewise for B.
  76. double B [n_row] ; Input argument, not modified.
  77. or:
  78. double Bx [n_row] ; Input argument, not modified, real part.
  79. Size 2*n_row for packed complex case.
  80. double Bz [n_row] ; Input argument, not modified, imaginary part.
  81. The input vector B. See above if either Xz or Bz are NULL.
  82. void *Numeric ; Input argument, not modified.
  83. Numeric must point to a valid Numeric object, computed by
  84. umfpack_*_numeric.
  85. */