Khi nói đến việc giải phương trình toán học trong Linux, trước đây chúng ta đã thảo luận về GeoGebra, một phần mềm cho hình học và đồ thị 2D. Tuy nhiên, nếu bạn đang tìm kiếm một công cụ mạnh hơn, bạn nên thử Sage. Chúng ta đều đã nghe về Matlab hoặc Magma, nhưng Sage cung cấp một giải pháp thay thế nguồn mở cho cả hai, và theo ý kiến ​​của tôi, đơn giản hơn để sử dụng.

Cài đặt

Sage luôn chịu sự phát triển nặng nề, có nghĩa là các cải tiến mới được bổ sung rất thường xuyên. Để cài đặt nó từ nguồn:

Trước tiên, bạn sẽ cần phải đáp ứng một vài phụ thuộc.

 sudo apt-get cài đặt build-essential m4 gfortran libssl-dev dpkg-dev 

Sau đó, bạn có thể tải xuống các nguồn từ trang chính thức. Giải nén chúng và từ một thiết bị đầu cuối, khởi chạy kịch bản lệnh

 ./chế tạo 

Lưu ý : Bạn sẽ cần khoảng 3GB dung lượng trống để Sage hoạt động bình thường. Hãy chắc chắn để có chúng trước khi tung ra các biên dịch (mà sẽ mất một thời gian).

Nếu bạn thích phiên bản nhị phân, cũng có một PPA có sẵn cho Ubuntu:

 sudo apt-add-repository -y ppa: nhằm mục đích / sagemath sudo apt-get cập nhật sudo apt-get install sagemath-upstream-binary 

Bạn cũng có thể cài đặt tất cả các gói tùy chọn:

 sudo apt-get cài đặt texlive evince xpdf xdvi tk8.5-dev 

Sử dụng

Để khởi chạy Sage, bạn có thể thực hiện nó bằng lệnh

 ./Hiền nhân 

từ thư mục đã tải xuống.

Nếu bạn muốn khởi động hiền từ bất cứ đâu, bạn có thể tạo một liên kết tượng trưng với

 ln -s [đường dẫn đến trình khởi động sage] / usr / local / bin / sage 

hoặc thậm chí tạo bí danh trong tệp ~ / .bashrc của bạn như tôi đã làm:

 bí danh sage = / home / adrien / sage-5.2 / sage 

Sage là một công cụ không đồ họa theo mặc định. Khi ra mắt, bạn sẽ nhận được một cái gì đó như thế này

Sau đó, bạn có lựa chọn: tiếp tục với bảng điều khiển hoặc chuyển sang GUI dựa trên trình duyệt bằng cách nhập

 sổ tay() 

Cả hai đều tương đương nhau về chức năng. GUI là trực quan hơn, đặc biệt là cho các lô và đồ thị, nhưng các thiết bị đầu cuối hoạt động khá tốt là tốt. Với GUI, hãy thử lệnh

 vòng tròn ((0, 0), 1, rgbcolor = (1, 1, 0)) 

Bạn sẽ thấy một vòng tròn màu vàng xuất hiện dưới nó.

Nếu bạn làm như vậy trong bảng điều khiển, trình xem ảnh mặc định của bạn sẽ mở ra và hiển thị cùng một vòng kết nối.

Lưu ý : Cả GUI và giao diện điều khiển đều có tính năng tự động hoàn thành.

Bây giờ bạn đã chọn giao diện của sage, chúng ta có thể bắt đầu nói về chính các hàm đó. Sage là hoàn toàn lớn, và tôi có nghĩa là nó. Không có cách nào mà chúng ta có thể thảo luận mọi khía cạnh của nó trong một bài viết. Thay vào đó, tôi sẽ cho bạn thấy một vài ứng dụng phổ biến mà bạn có thể muốn thử.

1. Máy tính

Có, Sage có thể làm một số toán học cơ bản. Ngoài ra, nhân, vv Vì nó được viết chủ yếu bằng Python, bạn cũng có thể sử dụng cú pháp python để thực hiện các công cụ như phân chia số nguyên.

2. Rễ đa thức

Nó là khá phổ biến để được đưa ra một đa thức và yêu cầu nguồn gốc của nó. Với Sage, trước tiên bạn tạo một vòng đa thức với

 P.  = PolynomialRing (RR) 

trong đó x sẽ là máy phát và RR là viết tắt của các số thực. Ví dụ, nếu bạn muốn chiếc nhẫn của bạn vượt qua các con số hợp lý, hãy thay RR bằng QQ. Sau đó bạn sao chép đa thức của mình:

 t = x ^ 2 - 25 

Và sau đó bạn yêu cầu rễ

 t.roots () 

Lưu ý : điều này sẽ trả về gốc rễ trong vòng cơ sở của đa thức và bội số của chúng. Nếu bạn muốn các gốc được từ một vòng cơ sở, đặt nó như là một đối số cho hàm root ().

3. Đảo ngược ma trận

Nếu bạn là một chút vào kinh doanh hoặc nền kinh tế, bạn có thể đã nhìn thấy ma trận tại một số điểm trong cuộc sống của bạn. Nói chung, có một toàn bộ quá trình cho việc tìm kiếm các nghịch đảo của các ma trận này. Vâng, Sage làm điều đó cho bạn rất đơn giản. Tạo ma trận của bạn trên vòng cơ sở mà bạn muốn.

 m = ma trận (QQ, [[1, 2], [3, 4]]) 

Và để tìm kiếm nghịch đảo của nó:

 m.inverse () 

4. Đồ thị

Sage cũng có một số khả năng vẽ đồ thị. Trước đó chúng tôi vẽ một vòng tròn với

 vòng tròn ((0, 0), 1, rgbcolor = (1, 1, 0)) 

Tôi khá chắc chắn rằng bạn hiểu rằng tham số đầu tiên là trung tâm của vòng tròn, thứ hai là bán kính, và cuối cùng là màu của vòng tròn trong tiêu chuẩn RGB. Vâng, bạn cũng có thể vẽ các hàm cơ bản bằng cách khai báo một biến đầu tiên:

 x = var ('x') 

Và sau đó sử dụng hàm plot ():

 cốt truyện (x ^ 3, (-10, 10)) 

Đối số đầu tiên là phương trình hàm, phương trình thứ hai là nhịp. Vì vậy, ở đây tôi đã yêu cầu cho các chức năng khối hiển thị từ -10 đến 10 trên x-cốt truyện.

Lưu ý : Nếu bạn đã cài đặt Jmol, bạn thậm chí có thể làm đồ thị 3D bằng cách khai báo hai biến

 x, y = var ('x, y') 

Và sau đó sử dụng hàm plot3d ():

 plot3d (x ^ 2 + y ^ 2, (x, -2, 2), (y, -2, 2)) 

5. Giải phương trình

Đôi khi chúng ta muốn một giải pháp cho một phương trình, nhưng máy tính chỉ cho chúng ta một phép tính xấp xỉ. Nó thậm chí còn tồi tệ hơn nếu có một số biến khác trong phương trình đó và rằng chúng ta muốn giải pháp được thể hiện trong chức năng của chúng. Trong nhiều năm ở trường trung học, tôi đã bị mắc kẹt bằng cách đó. Thật ngu ngốc! Sage làm nó hoàn hảo. Khai báo tất cả các biến của bạn

 x, a, b, c = var ('xab c') 

Và sau đó chỉ cần sử dụng hàm resolve (), với phương trình (s) làm đối số đầu tiên và (các) biến mà bạn muốn được biểu diễn sau:

 giải quyết ([x - 3 * a == 6, x + b * c == 10], x, b) 

Tôi ước rằng tôi biết rằng ở trường trung học ...

6. Sự khác biệt và tích hợp

Đây là ứng dụng tối ưu khi bạn thực sự lười biếng. Bạn có thể sử dụng chương trình này để phân biệt và tích hợp các chức năng. Như thường lệ, hãy khai báo biến của bạn

 x = var ('x') 

Và sau đó sử dụng hàm diff () hoặc hàm tích hợp ().

 khác (x ^ 3 + 4 * x + 16, x) 

để phân biệt và

 tích phân (x ^ 3 + 4 * x + 16, x) 

để tích hợp.

Phần kết luận

Sage thực sự là một công cụ đáng kinh ngạc. Cú pháp này nhanh chóng để tìm hiểu và duy trì khá chuẩn. Hạn chế là tài liệu thực sự là một cái gì đó bạn nên đọc để nắm bắt những gì bạn thực sự có thể làm. Các ứng dụng rất nhiều mà nó rất dễ bị lạc. Bạn có thể làm phương trình vi phân cùng với mật mã. Và nó trở nên cụ thể đến mức bây giờ một hàm để tìm trường tách đa thức trên trường hữu hạn đang được phát triển (vâng tôi cũng không biết ý nghĩa của nó).

Bạn có ví dụ nào khác để đề xuất không? Một câu hỏi về Sage? Xin vui lòng cho chúng tôi biết trong các ý kiến.

Hình ảnh tín dụng: Toán học của Big Stock Photo.