summaryrefslogtreecommitdiff
path: root/src/matrixOperations/powm/zpowma.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/matrixOperations/powm/zpowma.c')
-rw-r--r--src/matrixOperations/powm/zpowma.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/matrixOperations/powm/zpowma.c b/src/matrixOperations/powm/zpowma.c
index 39b0fd5f..c8cac267 100644
--- a/src/matrixOperations/powm/zpowma.c
+++ b/src/matrixOperations/powm/zpowma.c
@@ -11,19 +11,15 @@
*/
#include "matrixPow.h"
-#include "lapack.h"
-#include "eye.h"
-#include "matrixMultiplication.h"
+#include "logm.h"
+#include "matrixExponential.h"
+#include "multiplication.h"
-
-void zpowma(doubleComplex* in, int size, doubleComplex expand, doubleComplex* out){
-
-#ifndef WITHOUT_BLAS
-
-
-#else
-
-
-#endif
+void zpowma(doubleComplex* in, int rows, doubleComplex expand, doubleComplex* out){
+ int i=0;
+ /* use the formula a^b=exp(b*ln(a)) */
+ zlogma(in,rows,out);
+ for(i=0;i<rows*rows;i++) out[i]= zmuls(expand,out[i]);
+ zexpma(out,out,(int)rows);
}