creating a function that works the same as forward solve()

my_forward_sub <- function(L, b, ...) {
  # for scalars not conformable
  if(length(L) == 1 & length(b) != 1) {
    return("Error: not conformable")
  # for conformable scalars
  if(length(L) == 1) {
    return( b[1] / L)
  # check conformability of matrices
  if(ncol(L) != length(b)) {
    return("Error: not conformable")
  #check its a lower triangular matrix (NB will only consider lower and upper)
  if( !is.lower.tri(L)) {
    return("Error: L is not a lower triangular matrix")
  } else {
    x <- vector()
    x[1] <- b[1]/L[1,1]
    for(i in 2:nrow(L)){
      for(j in dim(L)[1]: i-1 ){

the function must accept a lower triangular matrix(of any size) 'L' and a solution vector 'b' as arguments and must return the solution vector x by using forward substitution. the code above is what I have managed to put together so far but it only gives the first solution and then 'NA' for the rest. please assist in what I need to change so that it gives the full answer.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.