Возведение матрицы в степень 
		
		
		
		Подскажите как возвести матрицу в натуральную степень?  
	В задании только "великая" подсказка A^n=A*A*...*A (n-раз). Уверен есть js библиотека для работы с матрицами, но никак не найду :)  | 
	
		
  | 
	
		
 Цитата: 
	
 понял только, что в статье рассматриваются единичные или почти единичные матрицы, а нужно для любых.  | 
	
		
 Сначала составляете функцию перемножения двух матриц, затем рекурсивно умножаете матрицу на саму себя. 
	
function multMatrix(A,B)
{   
    var rowsA = A.length,
        rowsB = B.length,
        colsB = B[0].length,
        C = [];
    for (var i=0; i<rowsA; i++)
     { C[i] = new Array(colsB); }
    for (var k=0; k<colsB; k++)
     { for (var i=0; i<rowsA; i++)
        { var temp = 0;
          for (var j=0; j<rowsB; j++)
           { temp += A[i][j]*B[j][k]; }
          C[i][k] = temp;
        }
     }
    return C;
}
function MatrixPow(n,A)
{  
   if (n==1) return A;
   else return multMatrix(A,MatrixPow(n-1,A));
}
 | 
	
		
 Demath, 
	спасибо, выручили! :dance: умножение двух матриц у меня получилось почти также, но рекурсию не осилил бы, не понимаю ее ( помогите еще с LU-разложением матрицы :)  | 
	
		
 Цитата: 
	
 
<script>
function LU(A)
{ 
    var n = A.length, L = [], U = A;
    for (var i=0; i<n; i++)
     { L[i] = [];
       for (var j=0; j<n; j++) L[i][j] = 0;      
     }
    for (var i=0; i<n; i++)
     { for (var j=i; j<n; j++)
         L[j][i] = U[j][i]/U[i][i];
     }
    
    for (var k=1; k<n; k++)
     { for (var i=k-1; i<n; i++)
        { for (var j=i; j<n; j++)
              L[j][i] = U[j][i]/U[i][i];
        }
       for (var i=k; i<n; i++)
        { for (var j=k-1; j<n; j++)
              U[i][j] -= L[i][k-1]*U[k-1][j];
        }
     }
    return [L,U];
}
</script>
<button onclick="a = LU([[11,21,5],[2,7,-5],[13,-19,17]]);
document.write('A = <br>'+[[11,21,5],[2,7,-5],[13,-19,17]].join('<br>')
+'<br><br>L = <br>'+a[0].join('<br>')+'<br><br>U = <br>'+a[1].join('<br>') )">
Пример для A = [[11,21,5],[2,7,-5],[13,-19,17]]</button>
 | 
| Часовой пояс GMT +3, время: 15:26. |