QR decomposition: Difference between revisions
m
Minor code improvements.
m (Minor code improvement.) |
m (Minor code improvements.) |
||
Line 3,315:
for ( int k = 0; k < columnCount && k < rowCount - 1; k++ ) {
Matrix vectorE = new Matrix(rowCount,
z1 = z.minor(k);
Matrix vectorX = z1.column(k);
Line 3,326:
vectorE.setEntry(i, 0, ( i == k ) ? 1 : 0);
}
vectorE = vectorE.scalarMultiply(magnitudeX).add(vectorX).unit();
versionsOfQ.add(householderFactor(vectorE));
z = versionsOfQ.get(k).multiply(z1);
Line 3,348 ⟶ 3,347:
final int size = aVector.size();
for ( int i = 0; i < size; i++ ) {
for ( int j = 0; j < size; j++ ) {
}
}
for ( int i = 0; i < size; i++ ) {
result.setEntry(i, i,
}
return
}
Line 3,411 ⟶ 3,410:
}
public Matrix(int
this( new double[
}
Line 3,469 ⟶ 3,468:
}
public Matrix column(int
Matrix result = new Matrix(rowCount, 1);
for ( int i = 0; i < rowCount; i++ ) {
result.setEntry(i, 0, data[i][
}
return result;
Line 3,483 ⟶ 3,482:
Matrix result = new Matrix(rowCount, columnCount);
for ( int i = 0; i <
result.data[i][0] = data[i][0] * aValue;
}
Line 3,496 ⟶ 3,495:
final double magnitude = magnitude();
Matrix result = new Matrix(rowCount, columnCount);
for ( int i = 0; i <
result.data[i][0] = data[i][0] / magnitude;
}
Line 3,518 ⟶ 3,517:
throw new IllegalArgumentException("Incompatible matrix dimensions.");
}
return
}
Line 3,532 ⟶ 3,531:
}
public double getEntry(int aRow, int
return data[aRow][
}
public void setEntry(int aRow, int
data[aRow][
}
|