Gröbner베이스 및 다항식 시스템 솔루션에 대한 벤치 마크


10

Brian Borchers 는 최근 7 개의 비선형 대수 방정식의 해법을 상징적으로 풀고있는 문제에서 메이플이 Matlab / Mupad가 다룰 수없는 다항식 시스템을 해결할 수 있음을 실험적으로 확인했습니다. 나는 과거에 메이플이 Gröbner 기반과 관련 알고리즘의 고품질 구현을 가지고 있다고 현장에서 일하는 사람들로부터 들었습니다.

그래서 저는 "Matlab은 이런 종류의 문제에 느리고, Maple로 전환하십시오."

다른 컴퓨터 대수 시스템에서 Gröbner 기본 구현 및 다항식 시스템 솔루션의 속도와 효과를 비교 한 벤치 마크 결과가 있습니까? (매플, Mathematica, Matlab의 상징적 툴박스 등).


잊지 마세요 sympy!
Christian Clason

@ChristianClason 네, 원칙적으로 많은 것들이 있습니다. Singular, Macaulay, Magma, CoCoA, Gap, Sage, Axiom, Maxima, Yacas ... Sympy가 특히 좋다고 생각하십니까? Alaa의 문제에 어떻게 대처합니까?
Federico Poloni

나는 그것이 특히 좋다고 생각하지는 않습니다. 널리 사용 가능하고 오픈 소스이며 배우기 매우 쉽기 때문에 관심이 있습니다. 문제에 대해 시도했지만 결과가 얻지 못했습니다 (그러나 인내심도 많지 않았습니다).
Christian Clason

저는 범용 심볼릭 소프트웨어 (SymPy, Maple, Matlab의 툴박스, Mathematica)와보다 강력한 산업용 특수 패키지 (Singular, CoCoA, Macaulay)를 구별해야한다고 생각합니다. Sage는 본질적으로 많은 특수 목적 패키지 (일부 범용 패키지와 함께) 만 번들로 제공하기 때문에 약간 다릅니다. Wikipedia에 유용한 목록 이 있습니다 .
크리스찬 클라 슨

내가 sympy를 언급 한 또 다른 이유는 Alaa가 관심을 갖는 것과 동일한 역할을 수행하기 때문입니다. 결과를 사용하기 쉽습니다. lambdify 입니다. 수치 계산에서 ) .
Christian Clason

답변:


10

나는 여기에 몇 가지 벤치 마크를 게시했습니다 : http://www.cecm.sfu.ca/~rpearcea/mgb.html

이들은 총 학위 주문입니다. 시스템을 해결하려면 일반적으로 더 많은 작업을 수행해야합니다. 타이밍은 2015 년 현재 일반적인 미드 레인지 데스크탑 (Haswell Core i5 쿼드 코어)입니다.

하나의 코어에서 가장 빠른 시스템은 Magma이며 부동 소수점 산술 및 SSE / AVX를 사용합니다. Magma는 FGLM과 Groebner walk (테스트되지 않음)를 올바르게 구현했기 때문에 가장 강력한 시스템입니다. 이 알고리즘은 총 차수를 삼각 형태의 사전 식으로 변환하는 데 사용됩니다. 그런 다음 일반적으로 가장 낮은 변수에서 다항식을 인수 분해합니다.

mgb는 Maple 2016의 C 라이브러리로, 총 차수 및 제거 순서에 대해 F4 알고리즘을 구현합니다. 여러 코어를 사용할 때 성능은 Magma와 비슷합니다.

FGb는 Faugere의 F4 구현입니다. 여기에서 테스트 한 버전은 그의 웹 사이트에서 가져온 것이며 Maple의 버전보다 빠릅니다.

Giac은 F4를 구현 한 오픈 소스 시스템입니다. 그것을 설명하는 논문이 있습니다 http://arxiv.org/abs/1309.4044

Singular는 대수 기하학의 많은 계산을위한 오픈 소스 시스템입니다. 여기서 벤치 마크는 Buchberger 알고리즘의 다중 모듈 버전 인 "modStd"를 사용합니다. Buchberger 알고리즘이 F4와 경쟁하지 않음을 알 수 있습니다. 기본 이유는 F4가 모든 단일 작업 비용을 절감하기 때문입니다. 그 외에도, Singular는 FGLM과 Groebner Walk의 합리적으로 우수한 구현뿐만 아니라 해결에 유용한 다른 알고리즘을 가지고 있습니다.


고마워, 이것은 매우 유용합니다. 수락 된 답변을 전환하는 것을 고려하고 있습니다.
Federico Poloni

8

인터넷 검색 benchmark polynomial systems은 만하임 대학의 컴퓨터 대수 벤치 마크 이니셔티브를 포함하여 몇 가지 인기를 얻었습니다 . 슬프게도, 이들 중 대부분은 오래되었거나 기능이 부족합니다. 가장 활동적인 것은 SymbolicData Wiki 인 것 같지만 , 내가 알 수있는 한, 벤치 마크 결과가 아니라 벤치 마크 문제 만 수집 합니다 .

Axiom, Macsyma, Maple, Mathematica, MuPAD 및 Reduce 다항식 시스템의 일부 비교 (1996 년으로 거슬러 올라가는)는 Hans-Gert Gräbe의 Axiom, Macsyma, Maple, Mathematica, MuPAD, 그리고 1996 년 12 월 독일 라이프 치히에있는 Informatik에 대한 Preprint 11/96 des Instituts and Preprint를 줄였다 . 결론은 Axiom, Maple 및 Reduce가 Gröbner 기지 (이 시점에서는 다른 시점에서는 사용하지 않았 음)를 사용하여 승리하고 Maple은 다른 것보다 약간 앞서 나옵니다.

SINGULAR 웹 사이트에는 SINGULAR 2.0 (2015 년 12 월 현재 4.0.2)이 메이플을 때리는 것을 보여주는 오래된 비교 가 있습니다.

한편,보다 최근의 출판물 ( 야오 선, 동대 린, 딩강 왕. 2015. M4RI의 선형 대수 루틴을 사용하여 서명 기반 Gröbner 기반 알고리즘을 구현하는 방법 ACM Commun. Comput. Algebra 49, 2 (2015 년 8 월) , 63-64 는 Gröbner 기본 알고리즘의 구현을 Maple, Singular 및 Magma의 구현과 비교합니다. Magma는 다른 두 패키지보다 훨씬 빠릅니다 (작성자의 구현과 연결).

따라서 문제 (크기뿐만 아니라 구조)와 패키지가 가장 빠른 소프트웨어 버전에 크게 의존하는 것 같습니다. 그럼에도 불구하고, 범용 기호 계산 소프트웨어 대신 Singular, Magma 또는 Maple과 같이 적극적으로 개발 된 특수 목적의 컴퓨터 대수 시스템을 사용하는 것이 좋습니다. 이것은 수치 소프트웨어 의 도구 상자에 대해 두 배가되며 , 이는 또 다른 수준의 오버 헤드를 추가하며 일반적으로 그들이 기반으로하는 독립 실행 형 소프트웨어 뒤에 여러 버전입니다 (MatPAD의 도구 상자 인 경우 이전 Maple).


이러한 자료를 제공해 주셔서 감사합니다. 포괄적이고 최신의 벤치 마크가 거의 없거나 전혀 없다는 것은 놀랍습니다.
Federico Poloni

6

벤치 마크의 결과는 문제의 크기와 함께 다항식 고리가 정의 된 기본 필드 (이론 수 또는 정수는 소수의 거듭 제곱)에 따라 달라집니다.

FGB 라이브러리 F5의 알고리즘의 개발이 활발하고 고성능의 구현이다. FGb와 Magma를 비교 한 벤치 마크는 다음에서 찾을 수 있습니다.

푸 제르, J.-C. (2010). FGb : Gröbner베이스 컴퓨팅을위한 라이브러리 (pp. 84-87). doi : 10.1007 / 978-3-642-15582-6_17

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.