Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fun remove(original, final, n, i) = if null original then final
- else if i = n then remove(tl(original), final, n, i+1)
- else remove(tl(original), final @[hd(original)],n,i+1);
- fun rem k list = remove(list, [], k, 1);
- fun det(list) = let val a = hd(list);
- val b = hd(tl(list));
- val c = hd(a);
- val d = hd(tl(a));
- val e = hd(b);
- val f = hd(tl(b)); in
- c*f - d*e end;
- fun operate(a,b,i)= if a=b then a-b else a+b;
- fun compute(matrix,list,ans,i) = if null list then ans
- else compute(matrix,tl(list), operate(ans, hd(list)*det(map (rem i) (tl(matrix))), i), i+1);
- fun value(matrix) = compute(matrix, hd(matrix), 0, 1);
Add Comment
Please, Sign In to add comment