---
title: "#LLM: Mathematica 설치 및 이맥스 활용 방법"
url: "https://notes.junghanacs.com/notes/20241205T124414"
author: "Junghan Kim"
date: "2024-12-05T12:44:00+09:00"
lastmod: "2024-12-05T12:44:00+09:00"
description: "Mathematica 설치와 울프람엔진 차이를 이맥스 활용 맥락으로 묻고 정리한 초안 로그이다."
---

> [!abstract] 이 노트에 대하여
> 
> Mathematica를 우분투에 설치하고 환경 변수를 잡는 방법, Wolfram Engine과의 차이를 질문답변으로 정리한다. 수학 도구를 Emacs와 연결하려는 준비 단계의 초안 로그로 읽힌다.

## @user  Mathematica 우분투 설치 및 환경 설정 방법 알아봐줘

## @assistant  Mathematica를 우분투에 설치하고 환경을 설정하는 방법은 다음과 같습니다:

### 1. Mathematica 설치

1.  **Mathematica 다운로드**:
    -   우선, Wolfram Research 웹사이트에서 Mathematica의 최신 버전을 다운로드합니다. 이는 라이선스가 필요할 수 있습니다.

2.  **설치 파일 실행**:
    -   다운로드한 `.sh` 파일을 터미널에서 실행합니다. 예를 들어, 파일 이름이 `Mathematica_12.3_LINUX.sh` 라면:
        ```bash
        chmod +x Mathematica_12.3_LINUX.sh
        sudo ./Mathematica_12.3_LINUX.sh
        ```
    -   설치 과정에서 라이선스 키를 입력해야 합니다.

3.  **설치 경로**:
    -   기본적으로 Mathematica는 `/usr/local/Wolfram/Mathematica/12.3` 같은 경로에 설치됩니다.

### 2. 환경 설정

1.  **환경 변수 설정**:
    -   `.bashrc` 또는 `.zshrc` 파일에 Mathematica의 경로를 추가합니다:
        ```bash
        export PATH="/usr/local/Wolfram/Mathematica/12.3/Executables:$PATH"
        ```
    -   이 명령어를 파일에 추가한 후, 터미널을 다시 열거나 `source ~/.bashrc` (또는 `source ~/.zshrc`)를 실행하여 변경 사항을 적용합니다.

2.  **라이선스 파일 설정**:
    -   라이선스 파일(`mathpass`)을 올바른 위치에 두어야 합니다. 보통은 `~/.Mathematica/Licensing/mathpass` 에 위치합니다.

3.  **기본 설정**:
    -   Mathematica를 처음 실행하면 기본 설정 파일이 생성됩니다. 이 파일은 `~/.Mathematica/Kernel/init.m` 에 위치하며, 여기서 사용자 정의 설정을 추가할 수 있습니다.

4.  **패키지 설치**:
    -   추가 패키지가 필요하다면, Mathematica 내에서 `PacletInstall` 명령을 사용하거나, Wolfram 패키지 관리자를 통해 설치할 수 있습니다.

### 3. 추가 팁

-   **Mathematica FrontEnd**: GUI 환경에서 Mathematica를 사용하려면, `mathematica` 명령어를 사용하여 실행합니다.
-   **커널 실행**: 커널만 실행하려면 `math` 명령어를 사용합니다.
-   **문서화**: Mathematica의 문서화 시스템을 활용하여 사용법을 익히는 것이 좋습니다.

Mathematica는 매우 강력한 도구이므로, 설치 후에도 다양한 기능을 익히기 위해 공식 문서와 튜토리얼을 참조하는 것이 좋습니다.

## @user  Mathematica와 울프람엔진의 차이가 뭐지?

## @assistant  Mathematica와 Wolfram Engine은 Wolfram Research에서 개발한 두 가지 주요 제품으로, 다음과 같은 차이점이 있습니다:

-   **Mathematica**:
    -   **사용자 인터페이스**: Mathematica는 GUI(그래픽 사용자 인터페이스)를 포함하고 있어, 사용자가 직관적으로 수학적 계산, 그래프 그리기, 데이터 분석 등을 할 수 있습니다.
    -   **프로그래밍 환경**: Mathematica는 완전한 프로그래밍 환경을 제공하며, Wolfram 언어(Wolfram Language)를 사용하여 복잡한 알고리즘, 시뮬레이션, 데이터 분석 등을 수행할 수 있습니다.
    -   **문서화**: Mathematica는 노트북 인터페이스를 통해 코드, 텍스트, 그래픽, 수식 등을 통합하여 문서화할 수 있는 기능을 제공합니다.
    -   **라이선스**: Mathematica는 상용 소프트웨어로, 라이선스를 구매해야 사용할 수 있습니다.

-   **Wolfram Engine**:
    -   **커널**: Wolfram Engine은 Mathematica의 계산 엔진(커널)만을 포함하고 있습니다. GUI가 없으며, 주로 서버 환경이나 스크립트 실행을 위해 사용됩니다.
    -   **프로그래밍 인터페이스**: Wolfram Engine은 Wolfram 언어를 사용하여 프로그래밍할 수 있지만, GUI가 없기 때문에 주로 명령줄 인터페이스(CLI)를 통해 사용됩니다.
    -   **임베딩**: Wolfram Engine은 다른 소프트웨어 시스템에 임베딩하여 사용할 수 있습니다. 예를 들어, 웹 애플리케이션, 데이터베이스, 또는 다른 프로그래밍 언어와 통합하여 사용할 수 있습니다.
    -   **라이선스**: Wolfram Engine도 상용 소프트웨어로, 라이선스를 구매해야 사용할 수 있습니다. 하지만, Mathematica와는 별도의 라이선스로 제공되며, 가격이 다를 수 있습니다.

**요약**:

-   Mathematica는 GUI와 함께 제공되는 완전한 수학적 계산 및 프로그래밍 환경입니다.
-   Wolfram Engine은 Mathematica의 계산 엔진만을 제공하며, 주로 서버 환경이나 스크립트 실행을 위해 사용됩니다.

따라서, 사용자의 필요에 따라 Mathematica가 더 적합할 수도 있고, Wolfram Engine이 더 적합할 수도 있습니다.

## @user  이맥스에서 울프람엔진을 연동하고 그래프 출력까지 활용하는 방법에 대해서 관련 사례가 있는지 조사해줘.

## @assistant  Emacs에서 Wolfram Engine을 연동하고 그래프를 출력하는 방법에 대한 사례는 다음과 같습니다:

## 1. Wolfram Engine 설치

우선, Wolfram Engine을 설치해야 합니다. Wolfram Engine은 상용 소프트웨어이므로, 라이선스를 구매하여 설치해야 합니다. 설치 후, 환경 변수 설정 등을 통해 시스템에서 사용할 수 있도록 합니다.

## 2. Emacs에서 Wolfram Engine 연동

-   _Wolfram Mode_: Emacs에는 Wolfram Language를 지원하는 모드가 있습니다. 예를 들어, `wolfram-mode` 는 Wolfram 언어의 문법 강조, 자동 완성, 인터랙티브한 실행 등을 제공합니다. 이를 설치하고 활성화합니다:
    ```emacs-lisp
    (use-package wolfram-mode
      :ensure t
      :mode ("\\.wl\\'" . wolfram-mode)
      :hook (wolfram-mode . wolfram-mode-setup))
    ```

-   _Wolfram Engine 실행_: Wolfram Engine을 실행하여 Emacs와 통신할 수 있도록 설정합니다. 예를 들어, `wolfram` 명령어를 사용하여 Wolfram Engine을 실행할 수 있습니다:
    ```bash
    wolfram -script
    ```

-   _Emacs에서 Wolfram Engine 실행_: Emacs에서 Wolfram Engine을 실행하려면, `wolfram-mode` 에서 제공하는 `wolfram-eval-buffer` 또는 `wolfram-eval-region` 명령어를 사용하여 Wolfram 코드를 실행할 수 있습니다.

## 3. 그래프 출력

-   _Wolfram Language로 그래프 생성_: Wolfram Language를 사용하여 그래프를 생성합니다. 예를 들어:
    ```wolfram
    Plot[Sin[x], {x, 0, 2 Pi}]
    ```

-   _Emacs에서 그래프 출력_:
    -   **직접 출력**: Wolfram Engine이 그래프를 생성하면, Emacs에서 이를 직접 출력할 수 있습니다. `wolfram-mode` 는 그래프를 Emacs 버퍼에 이미지로 삽입할 수 있는 기능을 제공합니다.
    -   **외부 도구 사용**: 그래프를 이미지 파일로 저장한 후, Emacs에서 이미지를 열어 볼 수 있습니다. 예를 들어, `wolfram` 명령어를 통해 그래프를 PNG 파일로 저장하고, Emacs에서 `image-mode` 를 사용하여 이미지를 열 수 있습니다:
        ```wolfram
        Export["/path/to/graph.png", Plot[Sin[x], {x, 0, 2 Pi}]]
        ```
        그리고 Emacs에서:
        ```emacs-lisp
        (find-file "/path/to/graph.png")
        ```

## 4. 관련 사례

-   _Emacs-Wolfram-Engine Integration_: Emacs에서 Wolfram Engine을 실행하고, Wolfram Language 코드를 작성하여 그래프를 생성하고, 이를 Emacs 버퍼에 직접 출력하는 사례가 있습니다. 이는 `wolfram-mode` 와 같은 패키지를 사용하여 구현됩니다.
-   _Wolfram Language in Org-mode_: Org-mode에서 Wolfram Language를 사용하여 그래프를 생성하고, 이를 Org-mode 문서에 삽입하는 사례도 있습니다. 이는 Org-mode의 `#+BEGIN_SRC` 블록을 사용하여 Wolfram 코드를 실행하고, 결과를 문서에 포함시킵니다.

이와 같은 사례들은 Emacs에서 Wolfram Engine을 연동하고 그래프를 출력하는 방법에 대한 실질적인 예시를 제공합니다. Wolfram Engine의 강력한 계산 능력과 Emacs의 편집 및 문서화 기능을 결합하여 매우 유용한 환경을 구축할 수 있습니다.

## @user  운
