2013-04-15 2 views
0

Matlab의 eigs() 함수를 사용하는 도구 상자를 사용하려고합니다. 내가 (3.6.4, 맥 OS X에 브루를 통해 설치) 옥타브에서 이것을 실행하면 다음이 반환됩니다Mac OS X의 옥타브 3.6.4에서 eigs() 함수를 사용하는 방법

error: eigs: not available in this version of Octave

내가 ARPACK (-NG를 얻기에 관하여, 많은 연산 가능한 해결책을 발견했다) 프로그램을 Octave와 함께 사용할 수 있습니다. 나는 기억할 수있는 더 많은 방법을 시도했지만 아무도 작동하지 않는 것 같았다.

누구나 eigs() 함수를 사용하여 Octave의 현재 상태를 알고 있습니까? Homebrew에서 패키지를 사용하는 것이 가능합니까?

감사합니다.

답변

1

나는 3.6에서 Octave가 더 이상 eigs와 함께 나오지 않으며 외부 arpack 라이브러리에 의존한다는 사실을 언급하고 있다고 생각한다. the Octave release notes에서 :

 
Summary of important user-visible changes for version 3.6: 
--------------------------------------------------------- 
... 
** The ARPACK library is no longer distributed with Octave. 
    If you need the eigs or svds functions you must provide an 
    external ARPACK through a package manager or by compiling it 
    yourself. If a pre-compiled package does not exist for your system, 
    you can find the current ARPACK sources at 
    http://forge.scilab.org/index.php/p/arpack-ng 

그래서 당신은 옥타브, 옥타브에 어딘가에 볼을 설치하기 전에 설치된 arpack 라이브러리가 필요합니다. homebrew의 경우 이는/usr/local/아래에 있음을 의미합니다.

옥타브의 configure 파일에는 arpack 감지 로직이 있으며, 빌드 프로세스 중에 기본적으로 arpack을 감지하고, 빌드 프로세스 중에 arpack을 감지하는 것처럼 보입니다. 따라서 홈 브루의 옥타브는 수식에 특별한 지원이 없어도 설치되어 있다면 그것을 가져와야합니다.

현재 homebrew-science 버전에는 arpack 공식이 없지만 추가 요청 열기 요청이 있습니다 (https://github.com/Homebrew/homebrew-science/pull/112). 저기로 가서 코멘트를 써서 지원을 표시하면 곧 병합 될 것입니다. 입력이 완료되면 brew install libarpack; brew install octave을 입력하고 옥타브를 사용하면 eigs이 잘 수신 될 수 있습니다. 그것이 아니라면, 자작 과학에 대한 이슈를 arpack 지원을 추가하십시오.