Số lượng các phép toán số học tối thiểu để tính toán định thức


14

Đã có được bất kỳ công việc vào việc tìm kiếm số lượng tối thiểu của phép tính số học tiểu học cần thiết để tính toán các yếu tố quyết định của một n bởi n ma trận cho nhỏ và cố định n ? Ví dụ: n=5 .


4
Tôi đã hỏi các chuyên gia về điều này và dường như hiện tại thậm chí còn chưa biết liệu có cần 9 phép nhân để tính toán xác định của ma trận 3x3 hay không.
Jeffrey Shallit

@JeffreyShallit Nếu 9 có thể đã thú vị ( ví dụ như ít hơn n3 ). Làm thế nào về n=4 ?
Lembik

3
Không, không thú vị chút nào. 9 phép nhân cho n = 3 theo sau là mở rộng bởi vị thành niên. Với n = 4 một lần nữa, việc mở rộng bởi trẻ vị thành niên mang lại 40. Tôi không biết làm thế nào trong ít hơn 40 lần nhân.
Jeffrey Shallit

@JeffreyShallit Ồ tôi hiểu rồi, điểm tốt. Thật tuyệt vời (ít nhất là với tôi) nếu không có gì tốt hơn ngây thơ được biết đến với bất kỳ cố định nào n.
Lembik

Nếu ai đó biết, có lẽ họ có thể nói với chúng tôi.
Jeffrey Shallit

Câu trả lời:


9

Được biết, số lượng các phép tính số học cần thiết để tính toán các yếu tố quyết định của một ma trận là n ω + o ( 1 ) , nơi ω là hằng số nhân ma trận. Xem ví dụ bảng này trên Wikipedia, cũng như các chú thích và tài liệu tham khảo. Lưu ý rằng độ phức tạp tiệm cận của nghịch đảo ma trận cũng giống như phép nhân ma trận theo nghĩa tương tự.n×nnω+o(1)ω

Sự tương đương là khá hiệu quả. Đặc biệt, bạn có thể tính toán đệ quy yếu tố quyết định của một ma trận bằng cách làm việc trên ( n / 2 ) × ( n / 2 ) khối bằng cách sử dụng bổ sung Schur:n×n(n/2)×(n/2)

D invertibledet(ABCD)=det(D)det(ABD1C).

Do đó, bạn có thể tính toán một định thức bằng cách tính hai định thức ( n / 2 ) × ( n / 2 ) , đảo ngược một ma trận ( n / 2 ) × ( n / 2 ) , nhân hai cặp ( n / 2 ) Ma trận × ( n / 2 ) và một số thao tác đơn giản hơn. Mở rộng các cuộc gọi xác định theo cách đệ quy, độ phức tạp cuối cùng bị chi phối bởi phép nhân và đảo ngược ma trận.n×n(n/2)×(n/2)(n/2)×(n/2)(n/2)×(n/2)

Điều này hoạt động tốt ngay cả đối với nhỏ và thậm chí không sử dụng thuật toán nhân ma trận khối con. (Tất nhiên, cuối cùng nó ít nhiều tương đương với loại bỏ Gaussian.) Ví dụ, với n = 4 , chúng ta có thể tính toán det ( D ) với hai phép nhân, D - 1 với bốn phép chia, B D - 1 C với 2 × 8 = 16 phép nhân, det ( A - B D - 1 C )nn=4det(D)D1BD1C2×8=16det(ABD1C)với hai phép nhân và câu trả lời cuối cùng với một phép nhân. Tổng số là phép nhân cộng với các phép chia, nhỏ hơn 40 từ mở rộng đồng yếu tố. Sử dụng thuật toán của Strassen giúp tiết kiệm hai phép nhân ở đây, nhưng không có triệu chứng.2+4+16+2+1=2540

Bạn có thể nhận thấy rằng việc mở rộng này chủ yếu sử dụng bộ phận. Nếu bạn muốn tránh phân chia, thì người ta có thể làm như vậy trong các hoạt động bằng cách làm việc với các chuỗi Clow và lập trình động . Nó cũng được biết đến như thế nào để đạt được n 2 + ω / 2 + o ( 1 ) phép nhân và không có đơn vị.O(n4)n2+ω/2+o(1)


Bạn có biết bất kỳ ràng buộc thấp hơn về chỉ số lượng nhân? Ngay cả với n = 3?
Jeffrey Shallit

Phân nhịp của bạn "số lượng phép tính số học cần thiết để tính toán các yếu tố quyết định của một ma trận là n ω + o ( 1 ) " gợi ý rằng một giới hạn thấp hơn được biết đến. Nhưng tôi đã không thấy điều này trong bất kỳ tác phẩm được trích dẫn. Tui bỏ lỡ điều gì vậy? n×nnω+o(1)
Jeffrey Shallit

2
Giới hạn dưới nằm trong bài báo của W.Baur và V.Strassen "Sự phức tạp của các dẫn xuất một phần" ( dx.doi.org/10.1016/0304-3975(83)90110-X )
Vladimir Lysikov
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.