Máy tính ma trận có lời giải: định thức, nghịch đảo, hạng và hệ phương trình tuyến tính
Công cụ thực hiện chín phép toán ma trận tới cấp sáu và viết ra từng bước khử Gauss kèm ma trận trung gian sau mỗi phép biến đổi dòng. Dùng cho môn đại số tuyến tính ở bậc đại học, nơi bài làm cần trình bày quá trình chứ không chỉ cần đáp số cuối.
Tính năng nổi bật
- Chín phép toán trong một danh sách chọn: cộng, trừ, nhân hai ma trận, nhân số vô hướng, chuyển vị, định thức, nghịch đảo, hạng và giải hệ phương trình tuyến tính
- Ma trận từ cấp 1 tới cấp 6, chọn số dòng và số cột độc lập cho cả A lẫn B, phép toán nào đòi ma trận vuông thì tự khóa số cột bằng số dòng
- Lời giải đánh số từng bước kèm ma trận trung gian vẽ lại sau mỗi lần đổi chỗ dòng, chia dòng cho phần tử trụ hay trừ bội của dòng khác
- Khử Gauss luôn chọn phần tử trụ có giá trị tuyệt đối lớn nhất trong cột đang xét để hạn chế sai số làm tròn
- Nghịch đảo tính bằng Gauss-Jordan trên ma trận ghép, phần ma trận đơn vị hiển thị tách bằng vạch dọc màu vàng
- Giải hệ phân biệt rõ ba trường hợp nghiệm duy nhất, vô nghiệm và vô số nghiệm, kèm số ẩn tự do khi hạng nhỏ hơn số ẩn
- Ba nút dựng nhanh cho mỗi ma trận: xóa toàn bộ về 0, nạp ma trận đơn vị và điền số nguyên ngẫu nhiên từ âm 9 tới 9
- Báo lỗi kích thước nói rõ nguyên nhân, ví dụ phép nhân đòi số cột của A phải bằng số dòng của B
Vì sao sinh viên đại số tuyến tính cần thấy các bước khử Gauss
Ở môn đại số tuyến tính, phần lớn điểm của một câu tự luận nằm trong quá trình biến đổi chứ không nằm ở con số cuối. Một sinh viên viết ra định thức bằng âm 12 mà không trình bày được chuỗi phép biến đổi dòng vẫn bị trừ gần hết điểm. Ngược lại, khi làm bài trên nháp mà kết quả lệch với đáp án, thứ cần tìm là bước nào sai chứ không phải đáp số đúng là bao nhiêu. Đây chính là chỗ các máy tính ma trận thông thường không giúp được: chúng nhận vào một lưới số rồi trả về một lưới số khác, toàn bộ phần ở giữa bị giấu đi. Công cụ này viết ra đầy đủ chuỗi thao tác theo đúng cách trình bày trong giáo trình, mỗi bước có một câu mô tả và một ma trận vẽ lại trạng thái sau thao tác đó, nên bạn dò được chính xác mình lệch từ dòng nào. Với người đang ôn thi giữa kỳ, cách dùng hiệu quả nhất là tự làm trên giấy trước, sau đó mở công cụ lên và so từng bước một. Với người dạy hoặc trợ giảng, đây là cách dựng nhanh một lời giải mẫu cho ma trận tự đặt mà không phải tính tay lại từ đầu.
Lợi ích khi sử dụng
- Dò được đúng bước sai khi bài làm trên giấy lệch với đáp án, thay vì chỉ biết đáp án đúng
- Chín phép toán nằm chung một trang nên không phải mở nhiều công cụ cho cùng một bài tập
- Ma trận trung gian vẽ lại sau mỗi thao tác, đúng cách trình bày mà giáo trình yêu cầu
- Thông báo lỗi giải thích điều kiện kích thước nên bạn hiểu vì sao phép toán không thực hiện được
- Phần tử trụ chọn theo giá trị tuyệt đối lớn nhất nên kết quả ổn định hơn khi ma trận có phần tử chênh lệch lớn
- Chạy hoàn toàn trên trình duyệt, không cần cài phần mềm tính toán nặng chỉ để kiểm tra một bài tập
Cách dùng máy tính ma trận
- 1Chọn phép toán ở danh sách trên cùng, giao diện sẽ tự hiện thêm ô cần thiết như ma trận B, cột vế phải hoặc ô số vô hướng.
- 2Đặt số dòng và số cột cho ma trận A, với các phép toán đòi ma trận vuông thì ô số cột bị khóa và luôn bằng số dòng.
- 3Điền các phần tử vào lưới, ô để trống được hiểu là 0, và bạn gõ dấu phẩy hay dấu chấm thập phân đều được.
- 4Dùng ba nút dựng nhanh nếu cần: xóa về 0, nạp ma trận đơn vị hoặc điền số ngẫu nhiên để thử một ví dụ bất kỳ.
- 5Đọc khối kết quả rồi kéo xuống phần lời giải từng bước, bấm nút chép nếu muốn dán ma trận kết quả sang nơi khác.
Chín phép toán, giới hạn cấp sáu và cách công cụ đọc lưới số
Danh sách phép toán chia làm ba nhóm. Nhóm cần hai ma trận gồm cộng, trừ và nhân, khi chọn sẽ hiện thêm khối ma trận B với ô chọn kích thước riêng. Nhóm chỉ cần một ma trận gồm nhân với số vô hướng, chuyển vị, định thức, nghịch đảo và hạng. Riêng giải hệ phương trình tuyến tính cần thêm một cột hằng số, nên khi chọn nó thì hiện ra một hàng ô nhập tương ứng với số dòng của ma trận hệ số. Giới hạn cấp sáu là lựa chọn có chủ ý chứ không phải hạn chế kỹ thuật: bài tập trong giáo trình đại số tuyến tính hầu như dừng ở cấp bốn hoặc cấp năm, còn với ma trận lớn hơn thì phần lời giải từng bước sẽ dài tới mức không ai đọc nổi, vì số bước biến đổi tăng theo lập phương của cấp. Về cách đọc dữ liệu, mỗi ô nhận một số thực; ô để trống hoặc chỉ có dấu trừ được hiểu là 0, nên bạn không cần điền hết lưới khi ma trận thưa. Dấu phẩy thập phân theo kiểu Việt Nam được tự chuyển thành dấu chấm trước khi tính, vì vậy gõ 0,5 hay 0.5 đều ra cùng một giá trị. Nếu một ô chứa ký tự không đọc được thành số, công cụ dừng lại và chỉ đích danh ô đó theo vị trí dòng và cột thay vì trả về kết quả sai.
Vì sao tính định thức bằng khử Gauss thay vì khai triển theo hàng
Giáo trình thường dạy khai triển Laplace theo một hàng hoặc một cột: chọn một hàng, nhân từng phần tử với phần bù đại số tương ứng rồi cộng lại. Cách này rất tốt để hiểu bản chất và vẫn dùng được khi ma trận có một hàng chứa nhiều số không, nhưng khối lượng tính tăng theo giai thừa của cấp. Ma trận cấp năm đã cần một trăm hai mươi tích, cấp sáu cần bảy trăm hai mươi, và con số này bùng nổ rất nhanh. Phương pháp khử Gauss đi theo hướng khác: dùng các phép biến đổi dòng sơ cấp đưa ma trận về dạng bậc thang, khi đó định thức bằng tích các phần tử trên đường chéo chính. Khối lượng tính chỉ tăng theo lập phương của cấp, tức cấp sáu chỉ tốn khoảng hai trăm phép nhân. Có hai quy tắc về dấu phải nhớ khi làm theo cách này. Thứ nhất, phép cộng một bội của dòng này vào dòng khác không làm đổi định thức, nên toàn bộ bước khử là an toàn. Thứ hai, mỗi lần đổi chỗ hai dòng thì định thức đổi dấu, nên cuối cùng phải nhân thêm âm một mũ số lần hoán vị. Công cụ đếm số lần hoán vị và ghi hẳn một bước riêng cho việc nhân hệ số dấu này, vì đó là chỗ sinh viên quên nhiều nhất khi tự làm. Với ma trận cấp một và cấp hai, công cụ dùng thẳng công thức trực tiếp cho gọn thay vì khử Gauss.
Sai số dấu phẩy động, ngưỡng coi là không và chiến lược chọn phần tử trụ
Máy tính lưu số thực dưới dạng nhị phân với số chữ số hữu hạn, nên nhiều giá trị thập phân quen thuộc không biểu diễn được chính xác. Hệ quả là sau vài phép chia trong khử Gauss, một số đáng lẽ bằng 0,6 lại thành 0,6000000000000001, và một số đáng lẽ bằng 0 lại thành một giá trị cỡ mười mũ trừ mười bảy. Công cụ xử lý việc này bằng hai cơ chế. Cơ chế thứ nhất là làm sạch sau mỗi phép tính: giá trị nào có trị tuyệt đối nhỏ hơn mười mũ trừ mười thì coi thẳng là 0, các giá trị còn lại được làm tròn về mười chữ số có nghĩa. Nhờ vậy lưới kết quả hiện những con số sạch mà vẫn giữ được các giá trị rất nhỏ có thật. Cơ chế thứ hai là chọn phần tử trụ theo giá trị tuyệt đối lớn nhất trong cột đang xét, còn gọi là chiến lược trụ từng phần. Lý do là khi chia cả dòng cho một phần tử trụ rất nhỏ, mọi sai số sẵn có trong dòng đó bị khuếch đại lên nhiều lần, và ma trận càng lớn thì sai số tích lũy càng nghiêm trọng. Chọn phần tử lớn nhất làm trụ giữ hệ số nhân luôn không vượt quá một, nên sai số không phình ra. Điều này giải thích vì sao lời giải hay bắt đầu bằng một bước đổi chỗ dòng dù nhìn qua thấy không cần thiết. Cũng chính ngưỡng mười mũ trừ mười là căn cứ để công cụ kết luận một ma trận suy biến hay không.
Đọc kết quả giải hệ phương trình theo hạng và số ẩn
Khi chọn phép giải hệ, công cụ lập ma trận mở rộng gồm ma trận hệ số và cột hằng số, ngăn nhau bằng vạch dọc màu vàng, rồi khử Gauss-Jordan để đưa phần bên trái về ma trận đơn vị. Kết luận cuối bám theo định lý Kronecker-Capelli và rơi vào đúng một trong ba trường hợp. Trường hợp thứ nhất là xuất hiện một dòng có toàn bộ hệ số bằng không nhưng vế phải khác không, tức một mệnh đề dạng không bằng một số khác không. Đây là điều vô lý, nên hệ vô nghiệm và công cụ dừng ngay tại bước phát hiện, ghi rõ dòng nào gây mâu thuẫn. Trường hợp thứ hai là hạng của ma trận hệ số bằng đúng số ẩn, khi đó hệ có nghiệm duy nhất và cột cuối của ma trận mở rộng chính là bộ nghiệm, mỗi giá trị được liệt kê thành một dòng riêng theo tên ẩn. Trường hợp thứ ba là hạng nhỏ hơn số ẩn, hệ có vô số nghiệm với số ẩn tự do bằng hiệu của hai con số đó. Cần nói rõ một giới hạn ở trường hợp này: công cụ báo số ẩn tự do nhưng không viết ra nghiệm tổng quát theo tham số, phần đặt tham số và biểu diễn các ẩn còn lại bạn phải tự làm dựa trên ma trận bậc thang đã hiện trong lời giải. Ngoài ra, phép giải hệ ở đây chỉ nhận ma trận hệ số vuông, tức số phương trình bằng số ẩn.
Điều kiện kích thước của từng phép toán và ranh giới với máy tính khoa học
Bốn quy tắc kích thước cần nhớ và cũng là bốn nguồn báo lỗi thường gặp nhất. Phép cộng và phép trừ đòi hai ma trận có cùng số dòng và cùng số cột, vì chúng thao tác trên từng cặp phần tử cùng vị trí. Phép nhân đòi số cột của A bằng số dòng của B, và ma trận kết quả có số dòng của A với số cột của B; đây cũng là lý do phép nhân ma trận không giao hoán, đổi thứ tự có khi còn không thực hiện được. Định thức, nghịch đảo và giải hệ chỉ áp dụng cho ma trận vuông, nên công cụ khóa luôn ô số cột khi bạn chọn các phép này. Riêng hạng và chuyển vị nhận mọi kích thước, và chuyển vị của ma trận m nhân n cho ra ma trận n nhân m. Về ranh giới với các công cụ khác trên site: máy tính khoa học tại /vi/tools/scientific-calculator xử lý biểu thức một dòng với lũy thừa, logarit, lượng giác và tổ hợp, tức làm việc với số vô hướng chứ không làm việc với lưới số. Máy tính phân số tại /vi/tools/fraction-calculator dành cho bài tập phân số cấp phổ thông. Còn trang này chuyên về đối tượng ma trận và các phép biến đổi dòng, phục vụ môn đại số tuyến tính bậc đại học. Nếu bài tập của bạn cần định thức nhưng các phần tử là phân số, hãy quy chúng về số thập phân trước khi nhập, vì lưới ở đây chỉ nhận số thực.
Câu hỏi thường gặp (FAQ)
Công cụ tính được ma trận cấp mấy?
Từ cấp 1 tới cấp 6, chọn số dòng và số cột riêng cho ma trận A và ma trận B. Giới hạn này đủ cho hầu hết bài tập trong giáo trình đại số tuyến tính. Với ma trận lớn hơn, phần lời giải từng bước sẽ dài tới mức không đọc nổi vì số phép biến đổi tăng theo lập phương của cấp.
Vì sao báo không nhân được hai ma trận?
Phép nhân đòi số cột của A phải bằng số dòng của B. Ví dụ A cỡ 2 nhân 3 chỉ nhân được với ma trận có 3 dòng, kết quả sẽ có 2 dòng và số cột bằng số cột của B. Thông báo lỗi ghi rõ hai con số đang lệch nhau để bạn chỉnh lại kích thước cho khớp.
Ma trận báo suy biến nghĩa là sao?
Nghĩa là định thức bằng 0 nên không tồn tại ma trận nghịch đảo. Về mặt hình học, các dòng của ma trận phụ thuộc tuyến tính vào nhau, tức có ít nhất một dòng viết được thành tổ hợp của các dòng còn lại. Hãy kiểm tra xem có dòng nào là bội của dòng khác hoặc bằng tổng hai dòng khác không.
Vì sao lời giải bắt đầu bằng bước đổi chỗ dòng dù nhìn không cần thiết?
Vì thuật toán luôn đưa phần tử có giá trị tuyệt đối lớn nhất trong cột lên làm trụ. Chia một dòng cho phần tử trụ quá nhỏ sẽ khuếch đại mọi sai số sẵn có trong dòng đó. Chọn trụ lớn nhất giữ hệ số nhân không vượt quá một nên sai số không tích lũy, đây là kỹ thuật chuẩn gọi là chọn trụ từng phần.
Giải hệ ra vô số nghiệm thì công cụ có viết nghiệm tổng quát không?
Không. Nó cho biết hạng của ma trận hệ số, số ẩn và số ẩn tự do bằng hiệu của hai con số đó, đồng thời hiện ma trận sau khi khử. Phần đặt tham số cho các ẩn tự do rồi biểu diễn các ẩn còn lại theo tham số bạn phải tự làm, dựa trên ma trận bậc thang đã có trong lời giải.
Ô để trống trong lưới thì hiểu là gì?
Là số 0. Nhờ vậy khi nhập ma trận thưa hoặc ma trận tam giác bạn chỉ cần điền các phần tử khác 0, không phải gõ đầy lưới. Nếu một ô chứa ký tự không đọc được thành số, công cụ dừng lại và chỉ đích danh vị trí dòng và cột của ô đó thay vì trả về kết quả sai.
Nhập số thập phân bằng dấu phẩy hay dấu chấm?
Cả hai đều được, công cụ tự chuẩn hóa dấu phẩy thành dấu chấm trước khi tính. Kết quả thì luôn hiển thị theo kiểu Việt Nam với dấu phẩy thập phân, tối đa sáu chữ số sau dấu phẩy. Các ô trong lưới ma trận không nhóm hàng nghìn để cột số không bị lệch, còn số vô hướng như định thức thì có nhóm cho dễ đọc.
Vì sao kết quả hiện 0 mà đáp án của tôi ra một số rất nhỏ?
Vì công cụ coi mọi giá trị có trị tuyệt đối nhỏ hơn mười mũ trừ mười là 0. Đây là phần rác dấu phẩy động sinh ra sau các phép chia trong khử Gauss chứ không phải giá trị thật. Chính ngưỡng này cũng là căn cứ để kết luận một ma trận có suy biến hay không.
Tính hạng ma trận thì cần ma trận vuông không?
Không cần. Hạng áp dụng cho mọi kích thước và bằng số dòng khác 0 sau khi đưa về dạng bậc thang. Chuyển vị cũng nhận mọi kích thước. Chỉ có định thức, nghịch đảo và giải hệ phương trình mới đòi ma trận vuông, và khi chọn ba phép này thì ô số cột bị khóa bằng số dòng.
Nhập ma trận có phần tử là phân số thì làm sao?
Lưới chỉ nhận số thực nên bạn cần quy phân số về số thập phân trước khi nhập, ví dụ 3/4 nhập thành 0,75. Nếu phân số không hữu hạn như 1/3, hãy nhân cả ma trận với mẫu số chung để khử phân số rồi tính, sau đó chia lại kết quả theo quy tắc của phép toán đang dùng.
Nút số ngẫu nhiên điền giá trị trong khoảng nào?
Số nguyên từ âm 9 tới 9, điền cho toàn bộ lưới sáu nhân sáu chứ không chỉ phần đang hiển thị. Nút này tiện khi bạn muốn thử nhanh một ví dụ để xem lời giải trông thế nào. Hai nút còn lại là xóa toàn bộ về 0 và nạp ma trận đơn vị.
Giải hệ có nhận số phương trình khác số ẩn không?
Không. Phép giải hệ ở đây yêu cầu ma trận hệ số vuông, tức số phương trình bằng số ẩn. Với hệ có số phương trình khác số ẩn, bạn vẫn khảo sát được bằng cách dùng phép tính hạng cho ma trận hệ số và cho ma trận mở rộng, rồi so hai hạng đó với nhau và với số ẩn theo định lý Kronecker-Capelli.
Từ khóa liên quan
- máy tính ma trận online
- tính định thức ma trận
- tìm ma trận nghịch đảo
- tính hạng của ma trận
- nhân hai ma trận online
- giải hệ phương trình tuyến tính
- khử gauss từng bước
- phương pháp gauss jordan
- ma trận chuyển vị
- ma trận suy biến là gì
- định thức bằng 0 nghĩa là gì
- định lý kronecker capelli
- bài tập đại số tuyến tính có lời giải
- matrix calculator tiếng việt
- tính định thức cấp 4
- ma trận đơn vị
- phần tử trụ trong khử gauss
- hệ vô số nghiệm ẩn tự do
