Gaussian elimination: Difference between revisions
→From scratch
Line 1,468:
isSquareMatrix xs = null xs || all ((== (length xs)).length) xs
mult uss vss = map (foldl (zipWith (+)) ts . zipWith (\vs u -> map (u*) vs) vss) uss
where ts = map (const 0).concat $ take 1 vss
gauss::[[Double]] -> [[Double]] -> [[Double]]
Line 1,488 ⟶ 1,484:
solveTriangle ([c]:as) (b:bs) = go as bs [map (/c) b]
where
val us vs ws = let u = head us in map (/u) $ zipWith (-) vs (head $
go [] _ zs = zs
go _ [] zs = zs
|