결정 모듈로 m


18

계수의 정수 행렬의 행렬식을 계산하기위한 효율적인 알고리즘 공지 무엇 , 잔여 물의 링 모듈로 . 숫자 (연산이, 링 필드를 수행하지 않도록) 프라임하지만 합성 될 수 없다. mmZmmm

내가 아는 한 (아래 읽기), 대부분의 알고리즘은 가우시안 제거 수정입니다. 문제는 이러한 절차의 계산 효율성에 관한 것입니다.

다른 접근법이있는 경우, 나는 또한 그것에 대해 궁금합니다.

미리 감사드립니다.

최신 정보:

이 질문의 출처를 설명하겠습니다. 가정, 소수이다. 따라서 은 필드입니다. 이 경우에는 보다 작은 수를 사용하여 모든 계산을 수행 할 수 있으므로 가우스 제거를 실행하는 데 필요한 모든 연산에 더하기, 곱하기 및 반전과 같은 모든 연산에 대한 상한이 있습니다.Z m mmZmm

반면에 우리는 경우에 몇 가지 숫자에 대한 반전을 수행 할 수 없습니다 아닌 소수. 따라서 결정자를 계산하려면 몇 가지 트릭이 필요합니다.m

그리고 나는 일을 수행하는 알려진 트릭이 무엇인지, 그러한 트릭이 책과 논문에서 발견 될 수 있는지 궁금합니다.


3
``효율적인 ''은 무슨 뜻입니까? 문제는 분명히 입니다. P
— david

2
가요 a는 상수를 고정? 어떻게 주나요? m
— Michael Blondin

2
작은 의미는 무엇입니까? 그들은 단항으로 쓰여질 수 있을까?
— Michael Blondin

5
나는 아직도 그 질문을 이해하지 못한다. 정수 행렬의 행렬식은 다항식 시간으로 계산 될 수 있으므로이 값을 모듈로 가져갈 수 있습니다 . 에서 나누기를 수행 하거나 의 인수 분해를 찾을 필요가 없습니다 . Z m mmZmm
— david

2
@ValeriySokolov : 기본 선형 대수입니다. 예를 들어, Christos H. Papadimitriou 의 계산 복잡성 의 문제 11.5.3을 확인하십시오 .
— Ito Tsuyoshi

답변:


15

당신의 인수 분해 알고있는 경우 각 모듈로 계산할 수 P는 전자를 내가 내가 별도로 다음 중국어 remaindering를 사용하여 결과를 결합. 경우 즉 I = 1 다음, 컴퓨팅 모듈러스 (P)가 전자 I을 난 이 필드이기 때문에, 용이하다. 더 큰 e i의 경우 Hensel 리프팅을 사용할 수 있습니다. m=p1e1⋯pnenpieiei=1pieiei


감사합니다! 내가 찾던 것과 같습니다. 이것이 결정 요인에 대한 일반적인 관행입니까? (참조 환영).
— Valeriy Sokolov

6
이것들은 comnputer algebra의 표준 기술입니다. von zur Gathen과 Gerhard의 Modern Computer Algebra 또는 컴퓨터 대수에 관한 다른 책을 살펴보십시오. 특정 문제에 대한, 또한 팬, 유 & 스튜어트 comet.lehman.cuny.edu/vpan/pdf/pan146.pdf에 의해 다음과 같은 용지 참조
— 마르쿠스 BLASER

17

Mahajan과 Vinay의 조합 알고리즘은 다음과 같이 정류 링에서 작동합니다. http://cjtcs.cs.uchicago.edu/articles/1997/5/contents.html


매우 흥미로운 논문에 대한 답장을 보내 주셔서 감사합니다.
— Valeriy Sokolov

또한이 백서의 저자가 더 일반적인 문제 (모든 교환 링에 대해)를 해결했기 때문에보다 효율적인 알고리즘이 있다고 생각합니다.
— Valeriy Sokolov

"있다"는 "알고있다"또는 "존재하다"를 의미합니까 (아직 찾지 못했습니까)? 그것은 합리적인 추측이지만, 나는 작은 모듈 수의 작은 호랑이의 고리의 구조가 그 모든 것을 도울 수 있다는 것에 회의적입니다. 내가 틀렸다면, 그 흥미로운 것을 발견 할 것입니다.
— Sasho Nikolov

1
@ValeriySokolov 공정한 답변, 귀하의 질문에 대한 답변이 귀하의 질문에 답변하기 때문에, 귀하는 그 질문을 수락하는 것을 고려할 수도 있습니다 (또는 비합리적이지 않은 더 나은 답변을 기다리는 경우)
— Suresh Venkat

@SashoNikolov 나는 Wolfram Mathematica가 어떻게 든 이것을 계산한다는 것을 알았습니다. "구현 노트 (Implementation Notes)"에서 그들은 말합니다 : Det는 모듈 식 방법과 행 축소를 사용하여 중국의 나머지 정리를 사용하여 결과를 구성합니다. 나는 그들이 정확히 무엇을하는지 알고 싶지만 빠른 검색으로 나에게 아무것도주지 않았습니다. "작은 합성물 "에 관해서는이 고리의 덧셈과 곱셈의 복잡성을 O ( 1 ) 로 간주하고 싶다는 것을 의미합니다 . 즉 O ( log m ) 와 같은 모든 요소 는 O ( 1 ) 로 간주됩니다 . mO(1)O(log⁡m)O(1)
— Valeriy Sokolov

11

이 문제를 해결하기 위해 가장 큰 복잡도는 정수 modulo m에 대한 행렬 곱셈의 비용에 의해 상한 Smith 일반 양식을 기반으로 하는 빠른 결정 론적 알고리즘 이 있습니다. 행렬 A 의 경우 알고리즘은 Smith 정규 형식을 출력하며, 여기서 det ( A ) 를 쉽게 계산할 수 있습니다.mAdet(A)

ωn×nZmO(nω)Zm

A∈Zmn×ndet(A)O(nω)Zm

이것이 1996 년에 쓰여졌을 때 무증상 빠른 대안은 없었습니다 (이 논문은 동일한 경계를 가진 알고리즘의 기존 존재를 언급하지만 어느 알고리즘 또는 확률이 있는지는 알 수 없습니다).

mm

O(log2⁡m)O(M(log⁡m)log⁡log⁡m)M(t)tω


θω

어쩌면 나는 이것에 대한 가장 일반적인 표기법을 모른다.
— Juan Bermejo Vega

당신이 옳다고 생각합니다. "주류"로 바꾸겠습니다
— Juan Bermejo Vega
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.