Symbolic computation
Lâu rồi không dùng một phần mềm cho symbolic computation như Mathematica hay Maple. Hồi xưa còn làm về q-series nhiều tôi chọc ngoáy Mathematica hàng ngày. Mấy hôm nay tôi cần chúng cho một bài toán đang giải, dùng lại Maple thấy quả thật là hùng mạnh. Dưới đây là ví dụ về output của Maple. Dĩ nhiên, tôi có GUI output cẩn thận chứ không phải output kiểu text cổ điển như thế này.
> x := 2/5;
2
-
5
> y := 1/3;
1
-
3
> C := [2*x*a+2*y*b+(1/2)*c >= 2, max(2*y, 1-x)*b+(1-x)*c >= 2, (1-y)*c >= 2];
[ 4 2 1 2 3 2 ]
[2 <= - a + - b + - c, 2 <= - b + - c, 2 <= - c]
[ 5 3 2 3 5 3 ]
> P := a+b+c;
a + b + c
> with(Optimization);
> LPSolve(P, C, assume = nonnegative);
[3.67500000000000,
[a = 0.374999999999999834, b = 0.300000000000001098, c = 2.99999999999999868]
]
> with(simplex);
> minimize(P, C, NONNEGATIVE);
/ 3 3 \
{ b = –, a = -, c = 3 }
\ 10 8 /
Các phần mềm tính toán như Matlab, Mathematica, Maple đều rất đắt tiền (cỡ 500USD chứ không ít). May mà trường tôi có deal gì đó với Mathematica và Maple nên tôi mua chúng chỉ mất 10USD. Sinh viên thì còn mua thêm được phiên bản sinh viên của Matlab, 50USD. Nếu dùng máy trong khoa thì tôi có thể dùng Matlab thoải mái vì có license tập thể. Tôi không biết có open-source symbolic hay scientific computation softwares nào dùng được không?
Muốn viết các phần mềm cho scientific computation hay symbolic computation cần phải rất giỏi cả KHMT lẫn Toán. Tính hữu dụng của chúng trong nghiên cứu khoa học thì phải nói là vô hạn.
