Сообщение от harold
|
помогите еще с 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>