1. Thư viện mathtype

- Dùng để cho phép người dùng nhập vào phân số, căn thức, số mũ, ....

- Sử dụng: require('mathtype');

- Khai báo các công thức: p.toolbar = ['sqr','sqrt','frac','x_sqrt'];

- Các ký hiệu khác: 'ge', 'le', 'gt', 'lt'

- Giá trị mặc định trong công thức: p.default = ''; Ví dụ: p.default = '\\dfrac{}{}'

2. Thư viện btds

- Dùng để tính toán liên quan đến biểu thức đại số

- Sử dụng:

+ Khai báo: require('btds');

+ Khởi tạo: bieuthuc = new btds('chuỗi biểu thức'); Ví dụ: bt = new btds('3x^3+2x+1');

- Cộng, trừ, nhân, chia biểu thức:

Ta có 2 biểu thức: bt1, bt2, khi đó:

+ Cộng 2 biểu thức: btcong = bt1.cong(bt2);

+ Trừ 2 biểu thức: bttru = bt1.tru(bt2);

+ Nhân 2 biểu thức: ntnhan = bt1.nhan(bt2);

+ Chia 2 biểu thức: btchia = bt1.chia(bt2);

+ Mũ n của 1 biểu thức: bt2 = bt1.pow(n);

+ Lấy biểu thức nghịch đảo (trái dấu): btnguoc = bt1.nguocdau();

- Một số hàm:

+ khaitrien(): Dùng để khai triển một tích thành đa thức, Ví dụ: btkt = bt.khaitrien();

+ rutgon(): Dùng để rút gọn một đa thức, Ví dụ: btrg = bt.rutgon();

+ factor(): Dùng để rút gọn từng hạng tử trong một biểu thức, Ví dụ: btft = bt.factor();

+ dsort(): Dùng để sắp xếp biểu thức theo thứ tự bậc giảm dần, Ví dụ: bts = bt.dsort();

+ asort(): Dùng để sắp xếp biểu thức theo thứ tự bậc tăng dần, Ví dụ: bts = bt.asort();

+ thay({x: giá trị,...}): Để thay số một vài biến vào trong biểu thức.

+ thayso({x: giá trị,...}): Để thay số vào biểu thức và hiển thị ra biểu thức đã được thay số.

+ giatri({x: giá trị,...}): Để thay số vào biểu thức và tính, kết quả là 1 chuỗi theo chuẩn VN như 2,3; 3,4.

+ eval({x: giá trị,...}): Để thay số vào biểu thức, thu được giá trị của biểu thức đó.

- So sánh 2 biểu thức:

+ Ta có 2 biểu thức: bt1, bt2. Để kiểm tra 2 biểu thức này có bằng nhau hay không, ta làm như sau:

if(bt1.equal(bt2)){alert('Hai biểu thức bằng nhau');}

+ Ngoài ra, ta có thể so sánh trực tiếp 2 biểu thức có bằng nhau hay không bằng lệnh: equalEq(bt1, bt2);

Ví dụ: if(equalEq('2x+1', 'x+x+1')){alert('Hai biểu thức bằng nhau');}