# Matrix

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Init(const char \*const licenseKey)

    - Initialize FastADAS Linear Algebra Matrix feature. **WARNING:** Must be called once before other FastADAS functions except [FadasVersion()](https://docs.qualcomm.com/doc/80-63309-1/topic/misc.html#group__misc_1ga55cbdff48d751f2a0227ae4ac106d746).

- Parameters:

    - **licenseKey** – Pointer to the license key string.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_DeInit(void)

    - Deinitialize FastADAS Linear Algebra Matrix feature. **WARNING:** Must be called once after all other FastADAS functions.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Givens(const [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) a, const [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) b, [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) \*pS, [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) \*pC)

    - Compute Givens rotation for 32 bit float bit.

- Parameters:

    - - **a** – Input Row
- **b** – Input column
- **pS** – Pointer to Output Buffer address
- **pC** – Pointer to Output Buffer address

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success[FADAS\_ERROR\_NULL\_PTR](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013afed3a42552a75f460b45f0fc210b2b50) : Output pointer is nullptr

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Givens(const [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) a, const [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) b, [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) \*pS, [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) \*pC)

    - Compute Givens rotation for 64 bit float elements.

- Parameters:

    - - **a** – Input Row
- **b** – Input column
- **pS** – Pointer to Output Buffer address
- **pC** – Pointer to Output Buffer address

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success[FADAS\_ERROR\_NULL\_PTR](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013afed3a42552a75f460b45f0fc210b2b50) : Output pointer is nullptr

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Cholesky(const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matA, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matL)

    - Compute Cholesky factorization for 32 bit float matrix.

- Parameters:

    - - **matA** – Input Matrix
- **matL** – Output Matrix

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success[FADAS\_ERROR\_NULL\_PTR](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013afed3a42552a75f460b45f0fc210b2b50) : Matrix pointer is nullptr[FADAS\_ERROR\_BAD\_ARGUMENTS](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013a09134ed15df3f88b0b41902895b7a58c) : Matrix parameters are incorrect[FADAS\_ERROR\_INVALID\_BUF](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013a00b95667e0ba5f7b44360b8488ed16ed) : Matrix pointer buffer in not validated[FADAS\_ERROR\_HESSIAN\_NOT\_PD](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013a26972f5bf2dfce1998b6abab2d074574) : Matrix is not Positive Definite[FADAS\_ERROR\_INTERNAL\_SOLVER\_ERROR](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013a91e43e805e3fdd9db9669a3fa1a528d2) : very small values, possible numerical instability

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Cholesky(const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matA, [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matL)

    - Compute Cholesky factorization for 64 bit float matrix.

- Parameters:

    - - **matA** – Input Matrix
- **matL** – Output Matrix

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success[FADAS\_ERROR\_NULL\_PTR](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013afed3a42552a75f460b45f0fc210b2b50) : Matrix pointer is nullptr[FADAS\_ERROR\_BAD\_ARGUMENTS](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013a09134ed15df3f88b0b41902895b7a58c) : Matrix parameters are incorrect[FADAS\_ERROR\_INVALID\_BUF](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013a00b95667e0ba5f7b44360b8488ed16ed) : Matrix pointer buffer in not validated[FADAS\_ERROR\_HESSIAN\_NOT\_PD](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013a26972f5bf2dfce1998b6abab2d074574) : Matrix is not Positive Definite[FADAS\_ERROR\_INTERNAL\_SOLVER\_ERROR](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013a91e43e805e3fdd9db9669a3fa1a528d2) : very small values, possible numerical instability

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Add(const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matA, const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matB, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matC)

    - Adds two matrices containing 32-bit floating point data i.e., C=A+B.

- Parameters:

    - - **matA** – First input matrix
- **matB** – Second input matrix
- **matC** – Output matrix

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Add(const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matA, const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matB, [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matC)

    - Adds two matrices containing 64-bit floating point data i.e., C=A+B.

- Parameters:

    - - **matA** – First input matrix
- **matB** – Second input matrix
- **matC** – Output matrix

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Add([FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matA, const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matB)

    - Adds(inplace) two matrices containing 32-bit floating point data i.e., A=A+B.

- Parameters:

    - - **matA** – First input-output matrix
- **matB** – Second input matrix

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Add([FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matA, const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matB)

    - Adds (inplace) two matrices containing 64-bit floating point data i.e., A=A+B.

- Parameters:

    - - **matA** – First input-output matrix
- **matB** – Second input matrix

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Sub(const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matA, const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matB, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matC)

    - Performs Standard Matrix subtraction operation containing 32 bit floating data i.e., C=A-B.

- Parameters:

    - - **matA** – First input matrix
- **matB** – Second input matrix
- **matC** – Output matrix

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Sub(const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matA, const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matB, [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matC)

    - Performs Standard Matrix subtraction operation containing 64 bit floating data i.e., C=A-B.

- Parameters:

    - - **matA** – First input matrix
- **matB** – Second input matrix
- **matC** – Output matrix

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Sub([FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matA, const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matB)

    - Performs In-place Matrix subtraction operation containing 32 bit floating data i.e., A=A-B.

- Parameters:

    - - **matA** – First input-output matrix
- **matB** – Second input matrix

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Sub([FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matA, const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matB)

    - Performs In-place Matrix subtraction operation containing 64 bit floating data i.e., A=A-B.

- Parameters:

    - - **matA** – First input-output matrix
- **matB** – Second input matrix

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_SetIdentity([FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matA)

    - Sets all primary diagonal elements to 1 and other elements to 0 i.e., A = I.

- Parameters:

    - **matA** – Output matrix containing 32-bit floating point data

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_SetIdentity([FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matA)

    - Sets all primary diagonal elements to 1 and other elements to 0 i.e., A = I.

- Parameters:

    - **matA** – Output matrix containing 64-bit floating point data

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_SetRev([FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matA)

    - Sets all secondary diagonal elements to 1 and other elements to 0.

- Parameters:

    - **matA** – Output matrix containing 32-bit floating point data

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_SetRev([FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matA)

    - Sets all secondary diagonal elements to 1 and other elements to 0.

- Parameters:

    - **matA** – Output matrix containing 64-bit floating point data

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_AXPY(const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matX, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matY, const [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) scA)

    - Compute Y = scA \* X + Y, where X and Y are 32 bit float matrices.

- Parameters:

    - - **matX** – Input matrix X
- **matY** – Input-output matrix Y
- **scA** – Factor by which the matrix has to be scaled

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_AXPY(const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matX, [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matY, const [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) scA)

    - Compute Y = scA \* X + Y, where X and Y are 64 bit float matrices.

- Parameters:

    - - **matX** – Input matrix X
- **matY** – Input-output matrix Y
- **scA** – Factor by which the matrix has to be scaled

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Determinant(const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &mat, [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) &det)

    - Find determinant of a float32 matrix.

- Parameters:

    - - **mat** – Input Matrix **WARNING:** shall be 128-byte aligned.
- **det** – Determinant

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Determinant(const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &mat, [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) &det)

    - Find determinant of a float64 matrix.

- Parameters:

    - - **mat** – Input Matrix **WARNING:** shall be 128-byte aligned.
- **det** – Determinant

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_HermitianTranspose(const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matSrc, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matDst)

    - Find Hermitian transpose of a mxn float32 bit matrix.

- Parameters:

    - - **matSrc** – Input Matrix **WARNING:** shall be 128-byte aligned.
- **matDst** – Output Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_HermitianTranspose(const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matSrc, [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matDst)

    - Find Hermitian transpose of a mxn float64 bit matrix.

- Parameters:

    - - **matSrc** – Input Matrix **WARNING:** shall be 128-byte aligned.
- **matDst** – Output Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Transpose(const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matSrc, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matDst)

    - Find transpose of a mxn float32 bit matrix.

- Parameters:

    - - **matSrc** – Input Matrix **WARNING:** shall be 128-byte aligned.
- **matDst** – Output Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Transpose(const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matSrc, [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matDst)

    - Find transpose of a mxn float64 bit matrix.

- Parameters:

    - - **matSrc** – Input Matrix **WARNING:** shall be 128-byte aligned.
- **matDst** – Output Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Inverse(const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matSrc, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matDst)

    - Find Inverse of a nxn float32 bit matrix.

- Parameters:

    - - **matSrc** – Input Matrix **WARNING:** shall be 128-byte aligned.
- **matDst** – Output Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Inverse(const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matSrc, [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matDst)

    - Find Inverse of a nxn float64 bit matrix.

- Parameters:

    - - **matSrc** – Input Matrix **WARNING:** shall be 128-byte aligned.
- **matDst** – Output Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_MemAlloc(const uint32\_t numRow, const uint32\_t numCol, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &mat)

    - Allocate memory for a float32 bit matrix.

- Parameters:

    - - **numRow** – Number of rows.
- **numCol** – Number of columns.
- **mat** – Output Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_MemAlloc(const uint64\_t numRow, const uint64\_t numCol, [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &mat)

    - Allocate memory for a float64 bit matrix.

- Parameters:

    - - **numRow** – Number of rows.
- **numCol** – Number of columns.
- **mat** – Output Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_MemFree([FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &mat)

    - Free memory for a float32 bit matrix.

- Parameters:

    - **mat** – Input Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_MemFree([FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &mat)

    - Free memory for a float64 bit matrix.

- Parameters:

    - **mat** – Input Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Reset([FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &mat)

    - Reset a float32 matrix.

- Parameters:

    - **mat** – Input Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Reset([FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &mat)

    - Reset a float64 matrix.

- Parameters:

    - **mat** – Input Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_CopyData(const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matSrc, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matDst)

    - Copy data from one float32 matrix to another.

- Parameters:

    - - **matSrc** – Input Matrix **WARNING:** shall be 128-byte aligned.
- **matDst** – Output Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_CopyData(const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matSrc, [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matDst)

    - Copy data from one float64 matrix to another.

- Parameters:

    - - **matSrc** – Input Matrix **WARNING:** shall be 128-byte aligned.
- **matDst** – Output Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_CopyProps(const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matSrc, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matDst)

    - Copy properties from one float32 matrix to another.

- Parameters:

    - - **matSrc** – Input Matrix **WARNING:** shall be 128-byte aligned.
- **matDst** – Output Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_CopyProps(const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matSrc, [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matDst)

    - Copy properties from one float64 matrix to another.

- Parameters:

    - - **matSrc** – Input Matrix **WARNING:** shall be 128-byte aligned.
- **matDst** – Output Matrix **WARNING:** shall be 128-byte aligned.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Gaxpy(const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matA, const [FadasVectorf32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_vectorf32__t.html#_CPPv416FadasVectorf32_t) &vecB, [FadasVectorf32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_vectorf32__t.html#_CPPv416FadasVectorf32_t) &vecC)

    - Compute c = A \* b + c, where A is a matrix, b & c are vectors, all of type 32-bit floating point.

- Parameters:

    - - **matA** – Input matrix
- **vecB** – Input vector
- **vecC** – Input-output vector containing sum of matrix-vector products

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Gaxpy(const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matA, const [FadasVectorf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_vectorf64__t.html#_CPPv416FadasVectorf64_t) &vecB, [FadasVectorf64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_vectorf64__t.html#_CPPv416FadasVectorf64_t) &vecC)

    - Compute c = A \* b + c, where A is a matrix, b & c are vectors, all of type 64-bit floating point.

- Parameters:

    - - **matA** – Input matrix
- **vecB** – Input vector
- **vecC** – Input-output vector containing sum of matrix-vector products

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_GEMM(const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matA, const [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matB, [FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matC, [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) scA = 1.0f, [float32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1a4611b605e45ab401f02cab15c5e38715.html#_CPPv49float32_t) scB = 0.0f)

    - Compute C = scA \* A \* B + scB \* C, where A, B & C are matrices, scA & scB are scaling factors, all of type 32-bit floating point.

- Parameters:

    - - **matA** – First input matrix
- **matB** – Second input vector
- **matC** – Input-output matrix containing the result

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_GEMM(const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matA, const [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matB, [FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matC, [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) scA = 1.0, [float64\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_8h_1ac55f3ae81b5bc9053760baacf57e47f4.html#_CPPv49float64_t) scB = 0.0)

    - Compute C = scA \* A \* B + scB \* C, where A, B & C are matrices, scA & scB are scaling factors, all of type 64-bit floating point.

- Parameters:

    - - **matA** – First input matrix
- **matB** – Second input vector
- **matC** – Input-output matrix containing the result

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Rank([FadasMatrix\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrix__t.html#_CPPv413FadasMatrix_t) &matA, uint32\_t &rank)

    - Compute rank of a given matrix A containing 32 bit floating point data.

- Parameters:

    - - **matA** – Input matrix A
- **rank** – Computed rank of matrix A

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasMat\_Rank([FadasMatrixf64v2\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/struct_fadas_matrixf64v2__t.html#_CPPv418FadasMatrixf64v2_t) &matA, uint64\_t &rank)

    - Compute rank of a given matrix A containing 64 bit floating point data.

- Parameters:

    - - **matA** – Input matrix A
- **rank** – Computed rank of matrix A

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) : Success.

## Related examples

- [one/one.cpp](https://docs.qualcomm.com/doc/80-63309-1/topic/one.html)

Last Published: Sep 30, 2024

[Previous Topic
Hungarian](https://docs.qualcomm.com/bundle/publicresource/80-63309-1/topics/hungarian.md) [Next Topic
Object Detection](https://docs.qualcomm.com/bundle/publicresource/80-63309-1/topics/object-detection.md)