Skip to content

Instantly share code, notes, and snippets.

@husa
Created May 26, 2013 10:58
Show Gist options
  • Select an option

  • Save husa/5652439 to your computer and use it in GitHub Desktop.

Select an option

Save husa/5652439 to your computer and use it in GitHub Desktop.
finding the inverse matrix in JavaScript (port from C++)
function inverse(_A) {
var temp,
N = _A.length,
E = [];
for (var i = 0; i < N; i++)
E[i] = [];
for (i = 0; i < N; i++)
for (var j = 0; j < N; j++) {
E[i][j] = 0;
if (i == j)
E[i][j] = 1;
}
for (var k = 0; k < N; k++) {
temp = _A[k][k];
for (var j = 0; j < N; j++)
{
_A[k][j] /= temp;
E[k][j] /= temp;
}
for (var i = k + 1; i < N; i++)
{
temp = _A[i][k];
for (var j = 0; j < N; j++)
{
_A[i][j] -= _A[k][j] * temp;
E[i][j] -= E[k][j] * temp;
}
}
}
for (var k = N - 1; k > 0; k--)
{
for (var i = k - 1; i >= 0; i--)
{
temp = _A[i][k];
for (var j = 0; j < N; j++)
{
_A[i][j] -= _A[k][j] * temp;
E[i][j] -= E[k][j] * temp;
}
}
}
for (var i = 0; i < N; i++)
for (var j = 0; j < N; j++)
_A[i][j] = E[i][j];
return _A;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment