# 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)