mkl_sparse_qr.h 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*******************************************************************************
  2. * Copyright 2018-2022 Intel Corporation.
  3. *
  4. * This software and the related documents are Intel copyrighted materials, and
  5. * your use of them is governed by the express license under which they were
  6. * provided to you (License). Unless the License provides otherwise, you may not
  7. * use, modify, copy, publish, distribute, disclose or transmit this software or
  8. * the related documents without Intel's prior written permission.
  9. *
  10. * This software and the related documents are provided as is, with no express
  11. * or implied warranties, other than those that are expressly stated in the
  12. * License.
  13. *******************************************************************************/
  14. /*
  15. * Content:
  16. * Intel(R) oneAPI Math Kernel Library (oneMKL) Sparse QR C header file
  17. *
  18. * Contains interface to: MKL_SPARSE_X_QR
  19. * MKL_SPARSE_QR_REORDER
  20. * MKL_SPARSE_X_QR_FACTORIZE
  21. * MKL_SPARSE_X_QR_SOLVE
  22. * MKL_SPARSE_X_QR_QMULT
  23. * MKL_SPARSE_X_QR_RSOLVE
  24. * MKL_SPARSE_SET_QR_HINT
  25. *
  26. ********************************************************************************
  27. */
  28. #ifndef _MKL_SPARSE_QR_H_
  29. #define _MKL_SPARSE_QR_H_
  30. #include "mkl_types.h"
  31. #include "mkl_spblas.h"
  32. #ifdef __cplusplus
  33. extern "C" {
  34. #endif /* __cplusplus */
  35. typedef enum { SPARSE_QR_WITH_PIVOTS } sparse_qr_hint_t;
  36. sparse_status_t mkl_sparse_set_qr_hint ( sparse_matrix_t A, sparse_qr_hint_t hint );
  37. sparse_status_t mkl_sparse_d_qr ( sparse_operation_t operation, sparse_matrix_t A, struct matrix_descr descr, sparse_layout_t layout, MKL_INT columns, double *x, MKL_INT ldx, const double *b, MKL_INT ldb );
  38. sparse_status_t mkl_sparse_s_qr ( sparse_operation_t operation, sparse_matrix_t A, struct matrix_descr descr, sparse_layout_t layout, MKL_INT columns, float *x, MKL_INT ldx, const float *b, MKL_INT ldb );
  39. sparse_status_t mkl_sparse_qr_reorder ( sparse_matrix_t A, struct matrix_descr descr );
  40. sparse_status_t mkl_sparse_d_qr_factorize ( sparse_matrix_t A, double *alt_values );
  41. sparse_status_t mkl_sparse_s_qr_factorize ( sparse_matrix_t A, float *alt_values );
  42. sparse_status_t mkl_sparse_d_qr_solve ( sparse_operation_t operation, sparse_matrix_t A, double *alt_values, sparse_layout_t layout, MKL_INT columns, double *x, MKL_INT ldx, const double *b, MKL_INT ldb );
  43. sparse_status_t mkl_sparse_s_qr_solve ( sparse_operation_t operation, sparse_matrix_t A, float *alt_values, sparse_layout_t layout, MKL_INT columns, float *x, MKL_INT ldx, const float *b, MKL_INT ldb );
  44. sparse_status_t mkl_sparse_d_qr_qmult ( sparse_operation_t operation, sparse_matrix_t A, sparse_layout_t layout, MKL_INT columns, double *x, MKL_INT ldx, const double *b, MKL_INT ldb );
  45. sparse_status_t mkl_sparse_s_qr_qmult ( sparse_operation_t operation, sparse_matrix_t A, sparse_layout_t layout, MKL_INT columns, float *x, MKL_INT ldx, const float *b, MKL_INT ldb );
  46. sparse_status_t mkl_sparse_d_qr_rsolve ( sparse_operation_t operation, sparse_matrix_t A, sparse_layout_t layout, MKL_INT columns, double *x, MKL_INT ldx, const double *b, MKL_INT ldb );
  47. sparse_status_t mkl_sparse_s_qr_rsolve ( sparse_operation_t operation, sparse_matrix_t A, sparse_layout_t layout, MKL_INT columns, float *x, MKL_INT ldx, const float *b, MKL_INT ldb );
  48. #ifdef __cplusplus
  49. }
  50. #endif /* __cplusplus */
  51. #endif