mesh_with_ptr_rows = zip2 (mesh params) (rows2 ptr)
make_local_coeffs :: (Interval a, Row (S n) Int) -> Row (S n) a
- make_local_coeffs (interval, ptr_row) =
+ make_local_coeffs (_, ptr_row) =
construct lambda
where
lambda _ j = if (ptr_row !!! (0,j)) == zero
solved_column = map2 solve_piece $ mesh_with_coeffs
solve_piece :: (Interval a, Row (S n) a) -> (Interval a, (a -> a))
- solve_piece (interval, coeffs_row) = (interval, f)
+ solve_piece (interval, coeffs_row) = (interval, g)
where
coeffs_col = transpose coeffs_row
- f x = element_sum2 $ zipwith2 combine coeffs_col global_basis_functions
+ g x = element_sum2 $ zipwith2 combine coeffs_col global_basis_functions
where
xi = (affine interval) x
combine ci ni = ci*(ni xi)
-