diff options
Diffstat (limited to 'src/matrixOperations/powm/zpowma.c')
-rw-r--r-- | src/matrixOperations/powm/zpowma.c | 22 |
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); } |