cholup#
Purpose#
Performs a Cholesky update of one or more rows on an upper triangular matrix.
Format#
- r = cholup(C, x)#
- Parameters:
C (KxK matrix) – upper triangular matrix
x (NxK matrix) – the rows to update C with.
- Returns:
r (KxK upper triangular matrix) – the updated matrix.
Examples#
// Assign C matrix
C = { 18.87055964 15.3229443 8.04947012,
0 9.30682813 -2.12009339,
0 0 7.62878355 };
// Assign x matrix
x = { 1.76644971 7.49445820 9.79114666,
6.87691156 4.41961438 4.32476921 };
// Call cholup
r = cholup(C, x);
After the above code, R will equal:
20.162100 16.505444 9.8667614
r = 0.0000000 11.166015 2.9776167
0.0000000 0.0000000 11.654961
Remarks#
C should be a Cholesky factorization.
cholup(C, x)
is equivalent to chol(C'C + x'x)
, but cholup is numerically
much more stable.
See also
Functions choldn()