# Matrix potenzieren



## wuz (5. Jan 2004)

Hallo allerseis!

Hoffe ich bin im richtigen Forum gelandet; ich suche einen Algorithmus um Matrizen zu potenzieren. Die matrix liegt als mehrdimensionales Array vor:

int[][] ma .... array speichert die matrix.
n......wie oft potenziert.

public int[][] potentizeMatrix(int[][] ma, int n){
//gesuchter code....
}


thx!


----------



## Ebenius (5. Jan 2004)

Wenn Du was fertiges nutzen willst, solltest Du meines Wissens hier fündig werden.

Colt

Es grüßt Ebenius


----------



## wuz (5. Jan 2004)

....ich sollte den code zumindest in meinen quelltext includieren, und die pow() methode aus der cold distributon kann ich leider nicht wirklich nachvollziehen.
Es muss wirklich nur irgendein algorithmus sein, egal wenn er lansgam ist....


----------



## wuz (5. Jan 2004)

```
void matrix_pow(double*m,int n,int x){
double *a;
int i,j,k,c=n*n;
a=new double[2*c];
for(i=0;i<2*c;i++)a[ i ]=m[i%c];
while(--x){
for(j=0;j<n;j++)
for(i=0;i<n;i++){
m[i+j*n]=0;
for(k=0;k<n;k++)
m[i+j*n]+=a[k+j*n]*a[c+k*n+i];
}
for(i=0;i<c;i++)a[ i ]=m[ i ];
}
delete[]a;
}
```
aber irgednwie schaff ich das nicht in java zu übersetzen, check allein die parameterübergabe schon nich!


----------



## Ebenius (5. Jan 2004)

... aber es sollte schon reichen, 





			
				wuz hat gesagt.:
			
		

> ```
> void matrix_pow(double*m,int n,int x){
> double *a;
> ```


durch
	
	
	
	





```
void matrix_pow(double[] m,int n,int x){ 
double[] a;
```
auszutauschen. Hab's zwar nicht genau geprüft, aber so oder so ähnlich.

Es grüßt Ebenius


----------

