Lớp phức tạp của nghịch đảo ma trận


9

Là đảo ngược một ma trận trong lớp Độ phức tạp ?P

Từ thời gian chạy tôi sẽ nói có nhưng ma trận đảo ngược có thể chứa các mục trong đó kích thước không bị giới hạn bởi đa thức bởi đầu vào?O(n3)


1
Trong thực tế thường có nghĩa là bị ràng buộc bởi flops , giả sử bạn đang làm việc trên ma trận trên các số dấu phẩy động, đó rõ ràng là xấp xỉ của . Các triển khai thông thường thực hiện trong thời gian này bị ràng buộc, hãy cẩn thận thay vì vượt quá thời gian, bạn sẽ có sự mất ổn định về số . Nhận xét này nhằm làm sáng tỏ tuyên bố thông thường, không làm mất hiệu lực các câu trả lời dưới đây, giả sử "bignums" . O(n3)R
Fizz

Câu trả lời:


7

Vâng, nó có thể được thực hiện trong thời gian đa thức, nhưng bằng chứng là khá tinh tế. Đó không chỉ đơn giản là thời gian , bởi vì việc loại bỏ Gaussian bao gồm nhân và thêm số, và thời gian để thực hiện từng thao tác số học đó phụ thuộc vào mức độ lớn của chúng. Đối với một số ma trận, các giá trị trung gian có thể trở nên cực kỳ lớn, do đó việc loại bỏ Gaussian không nhất thiết phải chạy trong thời gian đa thức.O(n3)

May mắn thay, có những thuật toán mà làm chạy trong thời gian đa thức. Họ đòi hỏi khá nhiều sự cẩn thận trong việc thiết kế thuật toán và phân tích thuật toán để chứng minh rằng thời gian chạy là đa thức, nhưng nó có thể được thực hiện. Ví dụ, thời gian chạy của thuật toán Bareiss là một cái gì đó giống như [thực sự nó phức tạp hơn thế, nhưng bây giờ hãy coi đó là một sự đơn giản hóa].O(n5(logn)2)

Để biết thêm chi tiết, xem mục blog của Dick Lipton Quên kết quảđộ phức tạp thời gian thực tế của việc loại bỏ Gaussian là gì? tóm tắt của Wikipedia .

Cuối cùng, một lời cảnh báo. Thời gian chạy chính xác phụ thuộc vào chính xác lĩnh vực bạn đang làm việc. Các cuộc thảo luận ở trên áp dụng nếu bạn đang làm việc với các số hữu tỷ. Mặt khác, nếu, chẳng hạn, bạn đang làm việc trên trường hữu hạn (số nguyên modulo 2), thì loại bỏ Gaussian ngây thơsẽchạy trongthời gian O ( n 3 ) . Nếu bạn không hiểu điều này có nghĩa là gì, bạn có thể bỏ qua đoạn cuối này.GF(2)O(n3)


Những quan sát này có giữ cho phân tách LU và QR (thay vì đảo ngược "thẳng") không?
Fizz

@RespawnedFluff, câu hỏi tuyệt vời! Tôi không biết. Nghe có vẻ như nó sẽ có giá trị một câu hỏi riêng biệt.
DW

Mộtx= =bÔi(n3tôiog2n)Ôi(n4tôiog2n)

2

Có một công thức cho các mục nhập của ma trận nghịch đảo, cung cấp cho mỗi mục nhập theo tỷ lệ của hai định thức, một trong số các phần tử nhỏ của ma trận gốc và phần còn lại của toàn bộ ma trận gốc. Điều này sẽ giúp bạn ràng buộc kích thước của các mục trong ma trận nghịch đảo, nếu bạn cẩn thận, đưa ra một khái niệm hợp lý về "kích thước" (lưu ý rằng ngay cả khi bạn bắt đầu với một ma trận số nguyên, nghịch đảo có thể chứa các mục nhập hợp lý).

Điều đó nói rằng, thường ma trận nghịch đảo được nghiên cứu từ quan điểm của lý thuyết phức tạp đại số, trong đó bạn tính các hoạt động cơ bản bất kể cường độ. Trong mô hình này, người ta có thể chỉ ra rằng độ phức tạp của ma trận nghịch đảo tương đương với độ phức tạp của phép nhân ma trận, cho đến các thuật ngữ polylogarithmic; việc giảm này có lẽ cũng có thể giúp bạn ràng buộc kích thước của các hệ số.

Với thuật toán hiệu quả trong mô hình lý thuyết phức tạp đại số, người ta tự hỏi liệu nó có ngụ ý một thuật toán hiệu quả tương tự trong mô hình thông thường hay không; có thể là mặc dù các mục cuối cùng có kích thước đa thức, phép tính liên quan đến các mục lớn hơn? Đây có lẽ không phải là trường hợp, và ngay cả khi nó là, vấn đề có lẽ có thể tránh được bằng cách sử dụng định lý còn lại của Trung Quốc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.