Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fun transp ([]::_) = []
- | transp [[x:real]] = [[x:real]]
- | transp rows =
- (map hd rows) :: transp (map tl rows);
- infix ++;
- local
- fun addL [] [] = [] |
- addL [x:real] [y:real] = [x+y]|
- addL (x::xs) (y::ys) = (x+y) :: addL xs ys
- in
- fun [] ++ [] = [] |
- [[x:real]] ++ [[y:real]] = [[x+y]] |
- (x::xs) ++ (y::ys) = addL x y::(xs++ys)
- end;
- infix **;
- local
- fun sumMult ([],[]) = 0.0 |
- sumMult ((x::xs),(y::ys)) = x*y + sumMult (xs,ys)
- fun mulVec [] [] = []|
- mulVec [] _ = []|
- mulVec _ [] = []|
- mulVec [x:real] [[y:real]] = [x*y]|
- mulVec (w::ws) (z::ys) = sumMult(w::ws,z)::(mulVec (w::ws) ys)
- in
- fun [] ** []= [] |
- [] ** _ = [] |
- [[x:real]] ** [[y:real]] = [[x*y]] |
- (x::xs) ** b = (mulVec x (transp b)) :: (xs**b)
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement