public static XLMatrix SubsBack(XLMatrix A, XLMatrix b) // Function solves Ax = b for A as an upper triangular matrix { if (A.L == null) { A.MakeLU(); } var n = A.rows; var x = new XLMatrix(n, 1); for (var i = n - 1; i > -1; i--) { x[i, 0] = b[i, 0]; for (var j = n - 1; j > i; j--) { x[i, 0] -= A[i, j] * x[j, 0]; } x[i, 0] = x[i, 0] / A[i, i]; } return(x); }
public static XLMatrix SubsForth(XLMatrix A, XLMatrix b) // Function solves Ax = b for A as a lower triangular matrix { if (A.L == null) { A.MakeLU(); } var n = A.rows; var x = new XLMatrix(n, 1); for (var i = 0; i < n; i++) { x[i, 0] = b[i, 0]; for (var j = 0; j < i; j++) { x[i, 0] -= A[i, j] * x[j, 0]; } x[i, 0] = x[i, 0] / A[i, i]; } return(x); }
public static XLMatrix SubsBack(XLMatrix A, XLMatrix b) // Function solves Ax = b for A as an upper triangular matrix { if (A.L == null) A.MakeLU(); var n = A.rows; var x = new XLMatrix(n, 1); for (var i = n - 1; i > -1; i--) { x[i, 0] = b[i, 0]; for (var j = n - 1; j > i; j--) x[i, 0] -= A[i, j]*x[j, 0]; x[i, 0] = x[i, 0]/A[i, i]; } return x; }
public static XLMatrix SubsForth(XLMatrix A, XLMatrix b) // Function solves Ax = b for A as a lower triangular matrix { if (A.L == null) A.MakeLU(); var n = A.rows; var x = new XLMatrix(n, 1); for (var i = 0; i < n; i++) { x[i, 0] = b[i, 0]; for (var j = 0; j < i; j++) x[i, 0] -= A[i, j]*x[j, 0]; x[i, 0] = x[i, 0]/A[i, i]; } return x; }
// Function solves Ax = b for A as a lower triangular matrix public static XLMatrix SubsForth(XLMatrix A, XLMatrix b) { if (A.L == null) A.MakeLU(); var n = A.rows; var x = new XLMatrix(n, 1); for (var i = 0; i < n; i++) { x[i, 0] = b[i, 0]; for (var j = 0; j < i; j++) x[i, 0] -= A[i, j]*x[j, 0]; x[i, 0] = x[i, 0]/A[i, i]; } return x; }
// Function solves Ax = b for A as an upper triangular matrix public static XLMatrix SubsBack(XLMatrix A, XLMatrix b) { if (A.L == null) A.MakeLU(); var n = A.rows; var x = new XLMatrix(n, 1); for (var i = n - 1; i > -1; i--) { x[i, 0] = b[i, 0]; for (var j = n - 1; j > i; j--) x[i, 0] -= A[i, j]*x[j, 0]; x[i, 0] = x[i, 0]/A[i, i]; } return x; }