WSL環境にfairchem-coreを導入して汎用NNP「UMA」をテストする

[fairchem](https://github.com/facebookresearch/fairchem)は、材料科学と量子化学の分野で使用される、FacebookのAI研究チーム（Facebook AI Research, FAIR; 現在のMeta AI）が開発したソフトウェアプラットフォームである。

> FAIR Chemistry（フェア・ケミストリー）はMeta（旧Facebook）の人工知能研究所「FAIR」の化学研究部門である。

以下の記事に紹介がある通り、"UMA"（*Meta’s Universal Model for Atoms*）という汎用NNP（ニューラルネットワークポテンシャル）が公開されたので、その使用感を手元でチェックしてみる。

https://ai.meta.com/blog/meta-fair-science-new-open-source-releases/

fairchemの最新リリースはv2であり、公式にはUMAはv1向けにリリースされている。しかし、現時点で配布されているUMAのチェックポイントファイル（以下、ptファイル）はv2でも読み込めるため、ここでは現在最新の**fairchem-core-2.2.0**を導入する。

モデルポテンシャルのptファイルはHuggingFaceにユーザー登録してfairchemの開発チームに利用許諾の申請を行えばダウンロード可能。

https://github.com/facebookresearch/fairchem

> fairchemは[MIT License](https://github.com/facebookresearch/fairchem/blob/main/LICENSE.md)で提供されている。著作権表記とライセンス文を保持する限り、商用/非商用を問わず無償で利用可能である。

* * *

**以下では、すべてのコマンドを `/bin/bash` の環境で実行する。**

* * *

<details><summary>【実行環境について】</summary>

```:GNU C ライブラリ（glibc）バージョン
$ ldd --version
ldd (Ubuntu GLIBC 2.39-0ubuntu8.4) 2.39
```

```:カーネル・ホスト名・CPU アーキテクチャ
$ uname -a
Linux <hostname> 5.15.167.4-microsoft-standard-WSL2 #1 SMP Tue Nov 5 00:21:55 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
```

```:CPU
AMD Ryzen 7 5800X3D 8-Core Processor (8コア16スレッド)
```

```:GPU
NVIDIA GeForce RTX 3070 Ti, 8 GB
```

```:実装RAM
64.0 GB, 2667 MHz
```

</details>

# GPU関連の準備
必要であればGPU周りについて調べておく。fairchemでGPUを利用した計算を実行したい場合はGPU版のPyTorchをインストールする必要がある。

```:cudaツールキットの導入（未導入の場合）
sudo apt install nvidia-cuda-toolkit
```

```:cudaのバージョン確認
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Jan__6_16:45:21_PST_2023
Cuda compilation tools, release 12.0, V12.0.140
Build cuda_12.0.r12.0/compiler.32267302_0
```

→ ここでは、cuda-12.0 に対応するライブラリをインストールすることにする。

# 仮想環境の作成

fairchem-coreのPythonのバージョン依存は以下の通り。（PyTorchの依存も同様）
```
requires-python = ">=3.9, <3.13"
```
fairchemチームはパッケージマネージャーとして[uv](https://docs.astral.sh/uv/getting-started/installation/)を推奨しているが、簡単のために[Anaconda](https://www.anaconda.com/)を利用して導入する（minicondaでも特に問題ないと思われる）。ここでは仮想環境のPythonのバージョンを3.12.7とした。

> Linux用のAnacondaのインストーラは公式サイトから取得できる。
> https://www.anaconda.com/download/success

> Python-3.12.7は2024年10月にリリースされたバージョンである。ライブラリさえ対応していれば任意のバージョンを導入して良い。

```shell:仮想環境の作成
conda create -n uma312 python=3.12.7
```

<details><summary>【新たにインストールされるパッケージ一覧】</summary>

```sh:
The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu
  bzip2              pkgs/main/linux-64::bzip2-1.0.8-h5eee18b_6
  ca-certificates    pkgs/main/linux-64::ca-certificates-2025.2.25-h06a4308_0
  expat              pkgs/main/linux-64::expat-2.7.1-h6a678d5_0
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.40-h12ee557_0
  libffi             pkgs/main/linux-64::libffi-3.4.4-h6a678d5_1
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1
  libgomp            pkgs/main/linux-64::libgomp-11.2.0-h1234567_1
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1
  libuuid            pkgs/main/linux-64::libuuid-1.41.5-h5eee18b_0
  libxcb             pkgs/main/linux-64::libxcb-1.17.0-h9b100fa_0
  ncurses            pkgs/main/linux-64::ncurses-6.4-h6a678d5_0
  openssl            pkgs/main/linux-64::openssl-3.0.16-h5eee18b_0
  pip                pkgs/main/noarch::pip-25.1-pyhc872135_2
  pthread-stubs      pkgs/main/linux-64::pthread-stubs-0.3-h0ce48e5_1
  python             pkgs/main/linux-64::python-3.12.7-h5148396_0
  readline           pkgs/main/linux-64::readline-8.2-h5eee18b_0
  setuptools         pkgs/main/linux-64::setuptools-78.1.1-py312h06a4308_0
  sqlite             pkgs/main/linux-64::sqlite-3.45.3-h5eee18b_0
  tk                 pkgs/main/linux-64::tk-8.6.14-h993c535_1
  tzdata             pkgs/main/noarch::tzdata-2025b-h04d1e81_0
  wheel              pkgs/main/linux-64::wheel-0.45.1-py312h06a4308_0
  xorg-libx11        pkgs/main/linux-64::xorg-libx11-1.8.12-h9b100fa_1
  xorg-libxau        pkgs/main/linux-64::xorg-libxau-1.0.12-h9b100fa_0
  xorg-libxdmcp      pkgs/main/linux-64::xorg-libxdmcp-1.1.5-h9b100fa_0
  xorg-xorgproto     pkgs/main/linux-64::xorg-xorgproto-2024.1-h5eee18b_1
  xz                 pkgs/main/linux-64::xz-5.6.4-h5eee18b_1
  zlib               pkgs/main/linux-64::zlib-1.2.13-h5eee18b_1

```

</details>

```shell:仮想環境の起動
conda activate uma312
```

> 仮想環境を作り直す場合は以下のようにして削除できる。
> ```shell:仮想環境の削除
> conda remove -n uma312 --all
> ```


# PyTorchをインストールする

fairchem-core-2.2.0のPyTorchのバージョン依存は以下の通り。
```:fairchem_core-2.2.0.tar.gz/fairchem_core-2.2.0/pyproject.toml より抜粋
"torch~=2.6.0"
```

→ PyTorchの2.6系としては 2.6.0 のみがリリースされているので、PyTorch-2.6.0およびこれに対応するライブラリをインストールする。

筆者の環境ではcuda-12.0なので、conda-forgeから「PyTorch-2.6.0 + CUDA-12.6」などのビルドを取得すればよい。もしくは、pytorch公式のwhlファイルを参照してインストールする。

> CUDAには下方互換性があるのでCUDA 12.6対応バイナリをインストールすれば良い。

ここで、単純な `conda install pytorch` で導入するとCPU版がビルドされることになり、fairchemライブラリがGPUを利用できなくなるので注意。

> GPUが無いマシンの場合はCPU版のみで問題ないので、
> ```shell:CPU版PyTorchのインストール（PyPI）
> pip install torch==2.6.0
> ```
> などとすれば良い。conda-forgeからインストールする場合は以下の通り。
> ```shell:CPU版PyTorchのインストール（conda-forge）
> conda install -c conda-forge pytorch=2.6.0 -y
> ```
> -y オプションは"yes"の略で、インストール時に表示される確認プロンプト（"Proceed ([y]/n)?" など）に自動的に"yes"と答えて処理を進めることができる。

> 因みに、この後に導入する `fairchem-core-2.2.0` は新しすぎてconda-forge上に無いため、PyPIからインストールする必要がある。

GPU版をインストールする方法の例として、今回は以下のようにpytorch公式のwhlファイルを参照してインストールする。

```shell:GPU版PyTorchのインストール（cuda-12.x対応版の公式whlで導入する場合）
pip install torch==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
```

<details><summary>【torchインストール時のログ】</summary>

```
Looking in indexes: https://download.pytorch.org/whl/cu126
Collecting torch==2.6.0+cu126
  Downloading https://download.pytorch.org/whl/cu126/torch-2.6.0%2Bcu126-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (28 kB)
Collecting filelock (from torch==2.6.0+cu126)
  Using cached https://download.pytorch.org/whl/filelock-3.13.1-py3-none-any.whl.metadata (2.8 kB)
Collecting typing-extensions>=4.10.0 (from torch==2.6.0+cu126)
  Using cached https://download.pytorch.org/whl/typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Requirement already satisfied: setuptools in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch==2.6.0+cu126) (78.1.1)
Collecting sympy==1.13.1 (from torch==2.6.0+cu126)
  Using cached https://download.pytorch.org/whl/sympy-1.13.1-py3-none-any.whl (6.2 MB)
Collecting networkx (from torch==2.6.0+cu126)
  Using cached https://download.pytorch.org/whl/networkx-3.3-py3-none-any.whl.metadata (5.1 kB)
Collecting jinja2 (from torch==2.6.0+cu126)
  Using cached https://download.pytorch.org/whl/Jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)
Collecting fsspec (from torch==2.6.0+cu126)
  Using cached https://download.pytorch.org/whl/fsspec-2024.6.1-py3-none-any.whl.metadata (11 kB)
Collecting nvidia-cuda-nvrtc-cu12==12.6.77 (from torch==2.6.0+cu126)
  Downloading https://download.pytorch.org/whl/cu126/nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-runtime-cu12==12.6.77 (from torch==2.6.0+cu126)
  Downloading https://download.pytorch.org/whl/cu126/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-cupti-cu12==12.6.80 (from torch==2.6.0+cu126)
  Downloading https://download.pytorch.org/whl/cu126/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cudnn-cu12==9.5.1.17 (from torch==2.6.0+cu126)
  Downloading https://download.pytorch.org/whl/cu126/nvidia_cudnn_cu12-9.5.1.17-py3-none-manylinux_2_28_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cublas-cu12==12.6.4.1 (from torch==2.6.0+cu126)
  Downloading https://download.pytorch.org/whl/cu126/nvidia_cublas_cu12-12.6.4.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cufft-cu12==11.3.0.4 (from torch==2.6.0+cu126)
  Downloading https://download.pytorch.org/whl/cu126/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-curand-cu12==10.3.7.77 (from torch==2.6.0+cu126)
  Downloading https://download.pytorch.org/whl/cu126/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cusolver-cu12==11.7.1.2 (from torch==2.6.0+cu126)
  Downloading https://download.pytorch.org/whl/cu126/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cusparse-cu12==12.5.4.2 (from torch==2.6.0+cu126)
  Downloading https://download.pytorch.org/whl/cu126/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cusparselt-cu12==0.6.3 (from torch==2.6.0+cu126)
  Downloading https://download.pytorch.org/whl/cu126/nvidia_cusparselt_cu12-0.6.3-py3-none-manylinux2014_x86_64.whl.metadata (6.8 kB)
Collecting nvidia-nccl-cu12==2.21.5 (from torch==2.6.0+cu126)
  Using cached https://download.pytorch.org/whl/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl (188.7 MB)
Collecting nvidia-nvtx-cu12==12.6.77 (from torch==2.6.0+cu126)
  Downloading https://download.pytorch.org/whl/cu126/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-nvjitlink-cu12==12.6.85 (from torch==2.6.0+cu126)
  Downloading https://download.pytorch.org/whl/cu126/nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.5 kB)
Collecting triton==3.2.0 (from torch==2.6.0+cu126)
  Using cached https://download.pytorch.org/whl/triton-3.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (1.4 kB)
Collecting mpmath<1.4,>=1.1.0 (from sympy==1.13.1->torch==2.6.0+cu126)
  Using cached https://download.pytorch.org/whl/mpmath-1.3.0-py3-none-any.whl (536 kB)
Collecting MarkupSafe>=2.0 (from jinja2->torch==2.6.0+cu126)
  Using cached https://download.pytorch.org/whl/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (28 kB)
Downloading https://download.pytorch.org/whl/cu126/torch-2.6.0%2Bcu126-cp312-cp312-manylinux_2_28_x86_64.whl (764.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 764.4/764.4 MB 73.7 MB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/nvidia_cublas_cu12-12.6.4.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (393.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 393.1/393.1 MB 81.7 MB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.whl (8.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.9/8.9 MB 86.3 MB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl (23.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.7/23.7 MB 48.5 MB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl (897 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 897.7/897.7 kB 57.2 MB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/nvidia_cudnn_cu12-9.5.1.17-py3-none-manylinux_2_28_x86_64.whl (571.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 571.0/571.0 MB 73.7 MB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.whl (200.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 200.2/200.2 MB 89.9 MB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.whl (56.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 MB 89.5 MB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.whl (158.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.2/158.2 MB 80.4 MB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.whl (216.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 216.6/216.6 MB 83.5 MB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/nvidia_cusparselt_cu12-0.6.3-py3-none-manylinux2014_x86_64.whl (156.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 156.8/156.8 MB 90.9 MB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (19.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.7/19.7 MB 80.1 MB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl (89 kB)
Using cached https://download.pytorch.org/whl/triton-3.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (166.7 MB)
Using cached https://download.pytorch.org/whl/typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Using cached https://download.pytorch.org/whl/filelock-3.13.1-py3-none-any.whl (11 kB)
Using cached https://download.pytorch.org/whl/fsspec-2024.6.1-py3-none-any.whl (177 kB)
Using cached https://download.pytorch.org/whl/Jinja2-3.1.4-py3-none-any.whl (133 kB)
Using cached https://download.pytorch.org/whl/networkx-3.3-py3-none-any.whl (1.7 MB)
Installing collected packages: triton, nvidia-cusparselt-cu12, mpmath, typing-extensions, sympy, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, networkx, MarkupSafe, fsspec, filelock, nvidia-cusparse-cu12, nvidia-cufft-cu12, nvidia-cudnn-cu12, jinja2, nvidia-cusolver-cu12, torch
Successfully installed MarkupSafe-2.1.5 filelock-3.13.1 fsspec-2024.6.1 jinja2-3.1.4 mpmath-1.3.0 networkx-3.3 nvidia-cublas-cu12-12.6.4.1 nvidia-cuda-cupti-cu12-12.6.80 nvidia-cuda-nvrtc-cu12-12.6.77 nvidia-cuda-runtime-cu12-12.6.77 nvidia-cudnn-cu12-9.5.1.17 nvidia-cufft-cu12-11.3.0.4 nvidia-curand-cu12-10.3.7.77 nvidia-cusolver-cu12-11.7.1.2 nvidia-cusparse-cu12-12.5.4.2 nvidia-cusparselt-cu12-0.6.3 nvidia-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.6.85 nvidia-nvtx-cu12-12.6.77 sympy-1.13.1 torch-2.6.0+cu126 triton-3.2.0 typing-extensions-4.12.2
```

</details>

<details><summary>【この段階で導入されているライブラリ】</summary>

```
$ pip list
Package                  Version
------------------------ -----------
filelock                 3.13.1
fsspec                   2024.6.1
Jinja2                   3.1.4
MarkupSafe               2.1.5
mpmath                   1.3.0
networkx                 3.3
nvidia-cublas-cu12       12.6.4.1
nvidia-cuda-cupti-cu12   12.6.80
nvidia-cuda-nvrtc-cu12   12.6.77
nvidia-cuda-runtime-cu12 12.6.77
nvidia-cudnn-cu12        9.5.1.17
nvidia-cufft-cu12        11.3.0.4
nvidia-curand-cu12       10.3.7.77
nvidia-cusolver-cu12     11.7.1.2
nvidia-cusparse-cu12     12.5.4.2
nvidia-cusparselt-cu12   0.6.3
nvidia-nccl-cu12         2.21.5
nvidia-nvjitlink-cu12    12.6.85
nvidia-nvtx-cu12         12.6.77
pip                      25.1
setuptools               78.1.1
sympy                    1.13.1
torch                    2.6.0+cu126
triton                   3.2.0
typing_extensions        4.12.2
wheel                    0.45.1
```

</details>


> conda-forgeから取得する場合は以下のようにする。
> ```shell:GPU版PyTorchのインストール（cuda-12.x対応版をconda-forgeから取得する場合）
> conda install torch pytorch-cuda=12.6 -c conda-forge
> ```
> `-c pytorch -c nvidia` として公式PyTorchチャンネルを指定するよりも、`-c conda-forge` としてconda-forgeチャンネルからCUDA-12.x対応バイナリを導入するのが良い。


# fairchem-coreをインストールする

続いて、fairchem-coreについてextrasを含めた依存ライブラリをすべてインストールする。PyTorchがインストール済みなので、以下を実行するだけで良い。依存関係を含め、すべての必要なパッケージが収集される。

```shell:fairchem-coreのインストール
pip install fairchem-core==2.2.0
```

<details><summary>【fairchem-coreインストール時のログ】</summary>

```
Collecting fairchem-core==2.2.0 (from fairchem-core[all]==2.2.0)
  Using cached fairchem_core-2.2.0-py3-none-any.whl.metadata (9.3 kB)
Collecting ase-db-backends>=0.10.0 (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached ase_db_backends-0.10.0-py3-none-any.whl.metadata (600 bytes)
Collecting ase>=3.25.0 (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached ase-3.25.0-py3-none-any.whl.metadata (4.2 kB)
Collecting e3nn>=0.5 (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached e3nn-0.5.6-py3-none-any.whl.metadata (5.4 kB)
Collecting huggingface-hub>=0.27.1 (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached huggingface_hub-0.32.4-py3-none-any.whl.metadata (14 kB)
Collecting hydra-core (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached hydra_core-1.3.2-py3-none-any.whl.metadata (5.5 kB)
Collecting lmdb (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached lmdb-1.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.1 kB)
Collecting numba>=0.61.2 (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached numba-0.61.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.8 kB)
Collecting numpy<2.3,>=2.0 (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB)
Collecting orjson (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached orjson-3.10.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (41 kB)
Collecting pymatgen>=2023.10.3 (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached pymatgen-2025.5.28-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (13 kB)
Collecting pyyaml (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
Collecting requests (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting submitit (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached submitit-1.5.3-py3-none-any.whl.metadata (7.9 kB)
Collecting tensorboard (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached tensorboard-2.19.0-py3-none-any.whl.metadata (1.8 kB)
Collecting torchtnt (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached torchtnt-0.2.4-py3-none-any.whl.metadata (3.1 kB)
Requirement already satisfied: torch~=2.6.0 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (2.6.0+cu126)
Collecting tqdm (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)
Collecting wandb (from fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached wandb-0.20.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (10 kB)
Requirement already satisfied: filelock in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (3.13.1)
Requirement already satisfied: typing-extensions>=4.10.0 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (4.12.2)
Requirement already satisfied: setuptools in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (78.1.1)
Requirement already satisfied: sympy==1.13.1 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (1.13.1)
Requirement already satisfied: networkx in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (3.3)
Requirement already satisfied: jinja2 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (3.1.4)
Requirement already satisfied: fsspec in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (2024.6.1)
Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.6.77 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (12.6.77)
Requirement already satisfied: nvidia-cuda-runtime-cu12==12.6.77 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (12.6.77)
Requirement already satisfied: nvidia-cuda-cupti-cu12==12.6.80 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (12.6.80)
Requirement already satisfied: nvidia-cudnn-cu12==9.5.1.17 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (9.5.1.17)
Requirement already satisfied: nvidia-cublas-cu12==12.6.4.1 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (12.6.4.1)
Requirement already satisfied: nvidia-cufft-cu12==11.3.0.4 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (11.3.0.4)
Requirement already satisfied: nvidia-curand-cu12==10.3.7.77 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (10.3.7.77)
Requirement already satisfied: nvidia-cusolver-cu12==11.7.1.2 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (11.7.1.2)
Requirement already satisfied: nvidia-cusparse-cu12==12.5.4.2 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (12.5.4.2)
Requirement already satisfied: nvidia-cusparselt-cu12==0.6.3 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (0.6.3)
Requirement already satisfied: nvidia-nccl-cu12==2.21.5 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (2.21.5)
Requirement already satisfied: nvidia-nvtx-cu12==12.6.77 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (12.6.77)
Requirement already satisfied: nvidia-nvjitlink-cu12==12.6.85 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (12.6.85)
Requirement already satisfied: triton==3.2.0 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (3.2.0)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from sympy==1.13.1->torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (1.3.0)
Collecting scipy>=1.6.0 (from ase>=3.25.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
Collecting matplotlib>=3.3.4 (from ase>=3.25.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached matplotlib-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
Collecting psycopg2-binary (from ase-db-backends>=0.10.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)
Collecting pymysql (from ase-db-backends>=0.10.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached PyMySQL-1.1.1-py3-none-any.whl.metadata (4.4 kB)
Collecting cryptography (from ase-db-backends>=0.10.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached cryptography-45.0.3-cp311-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB)
Collecting opt_einsum_fx>=0.1.4 (from e3nn>=0.5->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached opt_einsum_fx-0.1.4-py3-none-any.whl.metadata (3.3 kB)
Collecting packaging>=20.9 (from huggingface-hub>=0.27.1->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached packaging-25.0-py3-none-any.whl.metadata (3.3 kB)
Collecting hf-xet<2.0.0,>=1.1.2 (from huggingface-hub>=0.27.1->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached hf_xet-1.1.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (879 bytes)
Collecting contourpy>=1.0.1 (from matplotlib>=3.3.4->ase>=3.25.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.5 kB)
Collecting cycler>=0.10 (from matplotlib>=3.3.4->ase>=3.25.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)
Collecting fonttools>=4.22.0 (from matplotlib>=3.3.4->ase>=3.25.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached fonttools-4.58.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (106 kB)
Collecting kiwisolver>=1.3.1 (from matplotlib>=3.3.4->ase>=3.25.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.2 kB)
Collecting pillow>=8 (from matplotlib>=3.3.4->ase>=3.25.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached pillow-11.2.1-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (8.9 kB)
Collecting pyparsing>=2.3.1 (from matplotlib>=3.3.4->ase>=3.25.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached pyparsing-3.2.3-py3-none-any.whl.metadata (5.0 kB)
Collecting python-dateutil>=2.7 (from matplotlib>=3.3.4->ase>=3.25.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
Collecting llvmlite<0.45,>=0.44.0dev0 (from numba>=0.61.2->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached llvmlite-0.44.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.0 kB)
Collecting opt-einsum (from opt_einsum_fx>=0.1.4->e3nn>=0.5->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached opt_einsum-3.4.0-py3-none-any.whl.metadata (6.3 kB)
Collecting bibtexparser>=1.4.0 (from pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached bibtexparser-1.4.3-py3-none-any.whl
Collecting joblib>=1 (from pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached joblib-1.5.1-py3-none-any.whl.metadata (5.6 kB)
Collecting monty>=2025.1.9 (from pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached monty-2025.3.3-py3-none-any.whl.metadata (3.6 kB)
Collecting palettable>=3.3.3 (from pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached palettable-3.3.3-py2.py3-none-any.whl.metadata (3.3 kB)
Collecting pandas>=2 (from pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached pandas-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (91 kB)
Collecting plotly>=5.0.0 (from pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached plotly-6.1.2-py3-none-any.whl.metadata (6.9 kB)
Collecting ruamel.yaml>=0.17.0 (from pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached ruamel.yaml-0.18.13-py3-none-any.whl.metadata (24 kB)
Collecting spglib>=2.5 (from pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached spglib-2.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)
Collecting tabulate>=0.9 (from pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached tabulate-0.9.0-py3-none-any.whl.metadata (34 kB)
Collecting uncertainties>=3.1.4 (from pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached uncertainties-3.2.3-py3-none-any.whl.metadata (7.0 kB)
Collecting pytz>=2020.1 (from pandas>=2->pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached pytz-2025.2-py2.py3-none-any.whl.metadata (22 kB)
Collecting tzdata>=2022.7 (from pandas>=2->pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached tzdata-2025.2-py2.py3-none-any.whl.metadata (1.4 kB)
Collecting narwhals>=1.15.1 (from plotly>=5.0.0->pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached narwhals-1.41.1-py3-none-any.whl.metadata (11 kB)
Collecting six>=1.5 (from python-dateutil>=2.7->matplotlib>=3.3.4->ase>=3.25.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting charset-normalizer<4,>=2 (from requests->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)
Collecting idna<4,>=2.5 (from requests->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting urllib3<3,>=1.21.1 (from requests->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached urllib3-2.4.0-py3-none-any.whl.metadata (6.5 kB)
Collecting certifi>=2017.4.17 (from requests->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached certifi-2025.4.26-py3-none-any.whl.metadata (2.5 kB)
Collecting ruamel.yaml.clib>=0.2.7 (from ruamel.yaml>=0.17.0->pymatgen>=2023.10.3->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.7 kB)
Collecting cffi>=1.14 (from cryptography->ase-db-backends>=0.10.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting pycparser (from cffi>=1.14->cryptography->ase-db-backends>=0.10.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
Collecting omegaconf<2.4,>=2.2 (from hydra-core->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached omegaconf-2.3.0-py3-none-any.whl.metadata (3.9 kB)
Collecting antlr4-python3-runtime==4.9.* (from hydra-core->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached antlr4_python3_runtime-4.9.3-py3-none-any.whl
Requirement already satisfied: MarkupSafe>=2.0 in ./anaconda3/envs/uma312/lib/python3.12/site-packages (from jinja2->torch~=2.6.0->fairchem-core==2.2.0->fairchem-core[all]==2.2.0) (2.1.5)
Collecting cloudpickle>=1.2.1 (from submitit->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached cloudpickle-3.1.1-py3-none-any.whl.metadata (7.1 kB)
Collecting absl-py>=0.4 (from tensorboard->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached absl_py-2.3.0-py3-none-any.whl.metadata (2.4 kB)
Collecting grpcio>=1.48.2 (from tensorboard->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached grpcio-1.72.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.8 kB)
Collecting markdown>=2.6.8 (from tensorboard->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached markdown-3.8-py3-none-any.whl.metadata (5.1 kB)
Collecting protobuf!=4.24.0,>=3.19.6 (from tensorboard->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached protobuf-6.31.1-cp39-abi3-manylinux2014_x86_64.whl.metadata (593 bytes)
Collecting tensorboard-data-server<0.8.0,>=0.7.0 (from tensorboard->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached tensorboard_data_server-0.7.2-py3-none-manylinux_2_31_x86_64.whl.metadata (1.1 kB)
Collecting werkzeug>=1.0.1 (from tensorboard->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached werkzeug-3.1.3-py3-none-any.whl.metadata (3.7 kB)
Collecting psutil (from torchtnt->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB)
Collecting pyre-extensions (from torchtnt->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached pyre_extensions-0.0.32-py3-none-any.whl.metadata (4.0 kB)
Collecting typing-inspect (from pyre-extensions->torchtnt->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached typing_inspect-0.9.0-py3-none-any.whl.metadata (1.5 kB)
Collecting mypy-extensions>=0.3.0 (from typing-inspect->pyre-extensions->torchtnt->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached mypy_extensions-1.1.0-py3-none-any.whl.metadata (1.1 kB)
Collecting click!=8.0.0,>=7.1 (from wandb->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached click-8.2.1-py3-none-any.whl.metadata (2.5 kB)
Collecting gitpython!=3.1.29,>=1.0.0 (from wandb->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached GitPython-3.1.44-py3-none-any.whl.metadata (13 kB)
Collecting platformdirs (from wandb->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached platformdirs-4.3.8-py3-none-any.whl.metadata (12 kB)
Collecting pydantic<3 (from wandb->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached pydantic-2.11.5-py3-none-any.whl.metadata (67 kB)
Collecting sentry-sdk>=2.0.0 (from wandb->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached sentry_sdk-2.29.1-py2.py3-none-any.whl.metadata (10 kB)
Collecting setproctitle (from wandb->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached setproctitle-1.3.6-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (10 kB)
Collecting annotated-types>=0.6.0 (from pydantic<3->wandb->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.33.2 (from pydantic<3->wandb->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.8 kB)
Collecting typing-inspection>=0.4.0 (from pydantic<3->wandb->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached typing_inspection-0.4.1-py3-none-any.whl.metadata (2.6 kB)
Collecting gitdb<5,>=4.0.1 (from gitpython!=3.1.29,>=1.0.0->wandb->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached gitdb-4.0.12-py3-none-any.whl.metadata (1.2 kB)
Collecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->gitpython!=3.1.29,>=1.0.0->wandb->fairchem-core==2.2.0->fairchem-core[all]==2.2.0)
  Using cached smmap-5.0.2-py3-none-any.whl.metadata (4.3 kB)
Using cached fairchem_core-2.2.0-py3-none-any.whl (284 kB)
Using cached numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.5 MB)
Using cached ase-3.25.0-py3-none-any.whl (3.0 MB)
Using cached ase_db_backends-0.10.0-py3-none-any.whl (42 kB)
Using cached e3nn-0.5.6-py3-none-any.whl (448 kB)
Using cached huggingface_hub-0.32.4-py3-none-any.whl (512 kB)
Using cached hf_xet-1.1.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB)
Using cached matplotlib-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB)
Using cached contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (323 kB)
Using cached cycler-0.12.1-py3-none-any.whl (8.3 kB)
Using cached fonttools-4.58.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB)
Using cached kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB)
Using cached numba-0.61.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.9 MB)
Using cached llvmlite-0.44.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (42.4 MB)
Using cached opt_einsum_fx-0.1.4-py3-none-any.whl (13 kB)
Using cached packaging-25.0-py3-none-any.whl (66 kB)
Using cached pillow-11.2.1-cp312-cp312-manylinux_2_28_x86_64.whl (4.6 MB)
Using cached pymatgen-2025.5.28-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB)
Using cached orjson-3.10.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (133 kB)
Using cached joblib-1.5.1-py3-none-any.whl (307 kB)
Using cached monty-2025.3.3-py3-none-any.whl (51 kB)
Using cached palettable-3.3.3-py2.py3-none-any.whl (332 kB)
Using cached pandas-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.0 MB)
Using cached plotly-6.1.2-py3-none-any.whl (16.3 MB)
Using cached narwhals-1.41.1-py3-none-any.whl (358 kB)
Using cached pyparsing-3.2.3-py3-none-any.whl (111 kB)
Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
Using cached pytz-2025.2-py2.py3-none-any.whl (509 kB)
Using cached PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (767 kB)
Using cached requests-2.32.3-py3-none-any.whl (64 kB)
Using cached charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (148 kB)
Using cached idna-3.10-py3-none-any.whl (70 kB)
Using cached urllib3-2.4.0-py3-none-any.whl (128 kB)
Using cached certifi-2025.4.26-py3-none-any.whl (159 kB)
Using cached ruamel.yaml-0.18.13-py3-none-any.whl (118 kB)
Using cached ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (754 kB)
Using cached scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (37.3 MB)
Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
Using cached spglib-2.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (809 kB)
Using cached tabulate-0.9.0-py3-none-any.whl (35 kB)
Using cached tqdm-4.67.1-py3-none-any.whl (78 kB)
Using cached tzdata-2025.2-py2.py3-none-any.whl (347 kB)
Using cached uncertainties-3.2.3-py3-none-any.whl (60 kB)
Using cached cryptography-45.0.3-cp311-abi3-manylinux_2_34_x86_64.whl (4.5 MB)
Using cached cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479 kB)
Using cached hydra_core-1.3.2-py3-none-any.whl (154 kB)
Using cached omegaconf-2.3.0-py3-none-any.whl (79 kB)
Using cached lmdb-1.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (300 kB)
Using cached opt_einsum-3.4.0-py3-none-any.whl (71 kB)
Using cached psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)
Using cached pycparser-2.22-py3-none-any.whl (117 kB)
Using cached PyMySQL-1.1.1-py3-none-any.whl (44 kB)
Using cached submitit-1.5.3-py3-none-any.whl (75 kB)
Using cached cloudpickle-3.1.1-py3-none-any.whl (20 kB)
Using cached tensorboard-2.19.0-py3-none-any.whl (5.5 MB)
Using cached tensorboard_data_server-0.7.2-py3-none-manylinux_2_31_x86_64.whl (6.6 MB)
Using cached absl_py-2.3.0-py3-none-any.whl (135 kB)
Using cached grpcio-1.72.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.8 MB)
Using cached markdown-3.8-py3-none-any.whl (106 kB)
Using cached protobuf-6.31.1-cp39-abi3-manylinux2014_x86_64.whl (321 kB)
Using cached werkzeug-3.1.3-py3-none-any.whl (224 kB)
Using cached torchtnt-0.2.4-py3-none-any.whl (163 kB)
Using cached psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (277 kB)
Using cached pyre_extensions-0.0.32-py3-none-any.whl (12 kB)
Using cached typing_inspect-0.9.0-py3-none-any.whl (8.8 kB)
Using cached mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)
Using cached wandb-0.20.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.2 MB)
Using cached pydantic-2.11.5-py3-none-any.whl (444 kB)
Using cached pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)
Using cached annotated_types-0.7.0-py3-none-any.whl (13 kB)
Using cached click-8.2.1-py3-none-any.whl (102 kB)
Using cached GitPython-3.1.44-py3-none-any.whl (207 kB)
Using cached gitdb-4.0.12-py3-none-any.whl (62 kB)
Using cached smmap-5.0.2-py3-none-any.whl (24 kB)
Using cached sentry_sdk-2.29.1-py2.py3-none-any.whl (341 kB)
Using cached typing_inspection-0.4.1-py3-none-any.whl (14 kB)
Using cached platformdirs-4.3.8-py3-none-any.whl (18 kB)
Using cached setproctitle-1.3.6-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (31 kB)
Installing collected packages: pytz, lmdb, antlr4-python3-runtime, werkzeug, urllib3, uncertainties, tzdata, typing-inspection, tqdm, tensorboard-data-server, tabulate, smmap, six, setproctitle, ruamel.yaml.clib, pyyaml, pyparsing, pymysql, pydantic-core, pycparser, psycopg2-binary, psutil, protobuf, platformdirs, pillow, palettable, packaging, orjson, opt-einsum, numpy, narwhals, mypy-extensions, markdown, llvmlite, kiwisolver, joblib, idna, hf-xet, grpcio, fonttools, cycler, cloudpickle, click, charset-normalizer, certifi, annotated-types, absl-py, typing-inspect, tensorboard, submitit, spglib, sentry-sdk, scipy, ruamel.yaml, requests, python-dateutil, pydantic, plotly, omegaconf, numba, gitdb, contourpy, cffi, bibtexparser, pyre-extensions, pandas, monty, matplotlib, hydra-core, huggingface-hub, gitpython, cryptography, wandb, torchtnt, pymatgen, opt_einsum_fx, ase, e3nn, ase-db-backends, fairchem-core
Successfully installed absl-py-2.3.0 annotated-types-0.7.0 antlr4-python3-runtime-4.9.3 ase-3.25.0 ase-db-backends-0.10.0 bibtexparser-1.4.3 certifi-2025.4.26 cffi-1.17.1 charset-normalizer-3.4.2 click-8.2.1 cloudpickle-3.1.1 contourpy-1.3.2 cryptography-45.0.3 cycler-0.12.1 e3nn-0.5.6 fairchem-core-2.2.0 fonttools-4.58.2 gitdb-4.0.12 gitpython-3.1.44 grpcio-1.72.1 hf-xet-1.1.3 huggingface-hub-0.32.4 hydra-core-1.3.2 idna-3.10 joblib-1.5.1 kiwisolver-1.4.8 llvmlite-0.44.0 lmdb-1.6.2 markdown-3.8 matplotlib-3.10.3 monty-2025.3.3 mypy-extensions-1.1.0 narwhals-1.41.1 numba-0.61.2 numpy-2.2.6 omegaconf-2.3.0 opt-einsum-3.4.0 opt_einsum_fx-0.1.4 orjson-3.10.18 packaging-25.0 palettable-3.3.3 pandas-2.3.0 pillow-11.2.1 platformdirs-4.3.8 plotly-6.1.2 protobuf-6.31.1 psutil-7.0.0 psycopg2-binary-2.9.10 pycparser-2.22 pydantic-2.11.5 pydantic-core-2.33.2 pymatgen-2025.5.28 pymysql-1.1.1 pyparsing-3.2.3 pyre-extensions-0.0.32 python-dateutil-2.9.0.post0 pytz-2025.2 pyyaml-6.0.2 requests-2.32.3 ruamel.yaml-0.18.13 ruamel.yaml.clib-0.2.12 scipy-1.15.3 sentry-sdk-2.29.1 setproctitle-1.3.6 six-1.17.0 smmap-5.0.2 spglib-2.6.0 submitit-1.5.3 tabulate-0.9.0 tensorboard-2.19.0 tensorboard-data-server-0.7.2 torchtnt-0.2.4 tqdm-4.67.1 typing-inspect-0.9.0 typing-inspection-0.4.1 tzdata-2025.2 uncertainties-3.2.3 urllib3-2.4.0 wandb-0.20.1 werkzeug-3.1.3
```

</details>

<details><summary>【この段階で導入されているライブラリ】</summary>

```
$ pip list
Package                  Version
------------------------ -----------
absl-py                  2.3.0
annotated-types          0.7.0
antlr4-python3-runtime   4.9.3
ase                      3.25.0
ase_db_backends          0.10.0
bibtexparser             1.4.3
certifi                  2025.4.26
cffi                     1.17.1
charset-normalizer       3.4.2
click                    8.2.1
cloudpickle              3.1.1
contourpy                1.3.2
cryptography             45.0.3
cycler                   0.12.1
e3nn                     0.5.6
fairchem-core            2.2.0
filelock                 3.13.1
fonttools                4.58.2
fsspec                   2024.6.1
gitdb                    4.0.12
GitPython                3.1.44
grpcio                   1.72.1
hf-xet                   1.1.3
huggingface-hub          0.32.4
hydra-core               1.3.2
idna                     3.10
Jinja2                   3.1.4
joblib                   1.5.1
kiwisolver               1.4.8
llvmlite                 0.44.0
lmdb                     1.6.2
Markdown                 3.8
MarkupSafe               2.1.5
matplotlib               3.10.3
monty                    2025.3.3
mpmath                   1.3.0
mypy_extensions          1.1.0
narwhals                 1.41.1
networkx                 3.3
numba                    0.61.2
numpy                    2.2.6
nvidia-cublas-cu12       12.6.4.1
nvidia-cuda-cupti-cu12   12.6.80
nvidia-cuda-nvrtc-cu12   12.6.77
nvidia-cuda-runtime-cu12 12.6.77
nvidia-cudnn-cu12        9.5.1.17
nvidia-cufft-cu12        11.3.0.4
nvidia-curand-cu12       10.3.7.77
nvidia-cusolver-cu12     11.7.1.2
nvidia-cusparse-cu12     12.5.4.2
nvidia-cusparselt-cu12   0.6.3
nvidia-nccl-cu12         2.21.5
nvidia-nvjitlink-cu12    12.6.85
nvidia-nvtx-cu12         12.6.77
omegaconf                2.3.0
opt_einsum               3.4.0
opt-einsum-fx            0.1.4
orjson                   3.10.18
packaging                25.0
palettable               3.3.3
pandas                   2.3.0
pillow                   11.2.1
pip                      25.1
platformdirs             4.3.8
plotly                   6.1.2
protobuf                 6.31.1
psutil                   7.0.0
psycopg2-binary          2.9.10
pycparser                2.22
pydantic                 2.11.5
pydantic_core            2.33.2
pymatgen                 2025.5.28
PyMySQL                  1.1.1
pyparsing                3.2.3
pyre-extensions          0.0.32
python-dateutil          2.9.0.post0
pytz                     2025.2
PyYAML                   6.0.2
requests                 2.32.3
ruamel.yaml              0.18.13
ruamel.yaml.clib         0.2.12
scipy                    1.15.3
sentry-sdk               2.29.1
setproctitle             1.3.6
setuptools               78.1.1
six                      1.17.0
smmap                    5.0.2
spglib                   2.6.0
submitit                 1.5.3
sympy                    1.13.1
tabulate                 0.9.0
tensorboard              2.19.0
tensorboard-data-server  0.7.2
torch                    2.6.0+cu126
torchtnt                 0.2.4
tqdm                     4.67.1
triton                   3.2.0
typing_extensions        4.12.2
typing-inspect           0.9.0
typing-inspection        0.4.1
tzdata                   2025.2
uncertainties            3.2.3
urllib3                  2.4.0
wandb                    0.20.1
Werkzeug                 3.1.3
wheel                    0.45.1
```

</details>


> もし `fairchem_core-1.10.0` などv1系をインストールする場合は `torch_extras` として以下のものが要求されるので、別途インストールする必要がある。
> ```
> torch_extras = ["torch_scatter", "torch_sparse", "torch_cluster"]
> ```
> 
> <details><summary>【torch_extrasのインストール（fairchem-core v1系の場合のみ）】</summary>
> 
> ```
> conda install -c conda-forge torch_scatter
> conda install -c conda-forge torch_sparse
> conda install -c conda-forge torch_cluster
> ```
> 
> </details>
> 
> fairchem-coreのv1系は今後サポートされなくなると考えられるので、できるだけv2系を導入するのが望ましい。

* * *

以上の手順により、fairchem-core-2.2.0が導入できる。


# 汎用NNP "UMA" の動作テスト

汎用NNP "UMA" は[HuggingFace](https://huggingface.co/)上の[FacebookのUMAに関するページ](https://huggingface.co/facebook/UMA)からダウンロードできる。ただし、HuggingFaceへのユーザー登録および開発チームへの使用許諾の申請が必要である。

記事執筆時点（2025/06/10）では、UMAのスモールモデルである `uma-s-1.pt` のみがダウンロード可能なので、これを利用する。

以上で、当初の目的であった汎用NNP "UMA" の動作テストの準備が整った。

* * *

今回のリリースの目玉である小分子系のトレーニングセット`Omol25`を用いた`omol`タスクについて、テスト計算を実施する。`Omol25`には「小分子、バイオ分子、金属錯体、電解質を含む約8,300万のユニークな分子系」が収録されているため、有機分子に限らず金属錯体などにも適用できる。

公式ドキュメントでは以下のように注意点が記載されている。（和訳は筆者によるもの）

| Task | `omol` |
|:-----------|:-----------|
| **Dataset** | `Omol25` |
| **計算レベル** | ORCA6に実装されている `wB97M-V/def2-TZVPD`（非局所分散を含む）。溶媒和はすべて明示的に扱うこと。| 
| **関連する応用先** | 生物学、有機化学、タンパク質のフォールディング（折りたたみ）、小分子医薬品、有機物質の溶液物性、均一系触媒。|
| **使用上の注意** | 全電荷およびスピン多重度が分からない場合、電荷系や開殻系をモデリングするときは特段の注意を要する。本手法はラジカル化学の研究や、磁気状態が分子構造に与える影響を理解するために利用可能である。すべてのトレーニングデータは非周期的（aperiodic）であるため、周期的系を扱う場合は慎重に取り扱うこと。無機材料にはおそらく適用が難しいであろう。 |

学習データにはimplisitな溶媒モデル（連続誘電体モデルなど）を用いていないため、溶媒効果を考慮する場合は、溶媒分子を露わに配置するなどして系に含める必要がある、ということである。したがって、`omol`タスクを利用する際は溶媒の取り扱いに注意が必要である。（特に、溶液中の系を対象とするDFT計算の結果と比較する場合など）

https://github.com/facebookresearch/fairchem/blob/8f31b4f17e572ee559e232b1faaa5c10efe3709f/docs/core/uma.md


## C4 炭化水素

`omol`タスクで用いられるモデルは、[ORCA](https://www.faccts.de/orca/)-6.x系のSCF計算で得られる "Total Energy" の値を学習データとしている。

そこでまずは、C4アルカンおよびアルケンの異性体のエネルギー差について、UMAとORCAのωB97M-V/def2-TZVPDの計算結果を比較してみる。

> 初期構造および最適化後の構造は末尾に示した。

計算には以下のようなスクリプトが利用できる。fairchem-coreのv1系では `OCPCalculator` という関数でモデルを呼び出していたがv2系では廃止されており、`FAIRChemCalculator` という関数を用いる。

```py:butane_cis.py
from ase.io import read
from ase.optimize import LBFGS
from fairchem.core import FAIRChemCalculator
from fairchem.core.units.mlip_unit import load_predict_unit

uma_predictor = load_predict_unit(
    path="./uma-s-1.pt",
    device="cpu",
)

calc = FAIRChemCalculator(
    uma_predictor,
    task_name="omol", # options: "omol", "omat", "odac", "oc20", "omc"
)

mol = read('./butane_cis.xyz')
mol.info = {"charge": 0, "spin": 1}

mol.calc = calc

energy_init = mol.get_potential_energy()
print("Initial energy [eV]:", energy_init)

opt = LBFGS(mol)
opt.run(0.01, 100)

energy_final = mol.get_potential_energy()
print("Final energy [eV]:  ", energy_final)
```

エネルギーの単位はORCAおよびfairchem.coreの出力に倣い [eV] としている。

> ORCAはソフトウェア名、UMAはモデル名であり、カテゴリ違いでちぐはぐに見えるという指摘が有り得るが、ここでは便宜上下記のように並べて表記する。

| Species | ORCA-6.0.1 | UMA-s-1 |
|:-----------|:-----------|:-----------|
| butane_cis | -4310.28322 | -4310.28269 |
| butane_trans | -4310.30855 | -4310.30803 |
| 2-butene_cis | -4277.13356 | -4277.13306 |
| 2-butene_trans | -4277.18144 | -4277.18109 |

これを見ると、eV単位で小数点以下第2位～3位の精度で一致していることが分かる。

計算速度に関しては、CPU利用で秒間7点程度、GPUを利用した場合は秒間8点程度であった。十数原子程度の大きさの分子では、GPUを利用するメリットはあまり感じられないだろう。

* * *

また、歪んだcis体のブテンについてLBFGS法で構造最適化したところ、ステップ数はCPU利用時で66、GPU利用時で90であった。

一般に、CPU計算が通常64ビット倍精度浮動小数点（float64）を使用するのに対して、GPU計算ではメモリ効率とパフォーマンス最適化のために32ビット単精度浮動小数点（float32）を使用するため、勾配計算の精度が異なる。この事情により、GPU計算ではLBFGS法のヘッセ(逆)行列の近似精度が低下し、収束判定の閾値に到達するまでにより多くのステップ数を要する傾向がある。

> ただ単に、ASEのLBFGS法の実装の問題である可能性も考えられる。

## クライゼン転位反応

アリルビニルエーテルの異性化反応であり、通常は不可逆的に進行する。この反応の最も基本的な系の遷移状態について、エネルギーおよび振動数を比較してみる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697094/f6399e20-cd82-4fa3-9018-de9a76b78558.png)

> 各構造の座標は末尾に示した。

以下の表にエネルギーの計算値を示す。

| Species | ORCA-6.0.1 | UMA-s-1 |
|:-----------|:-----------|:-----------|
| 反応物 | -7360.36385 | -7360.36482 |
| 遷移状態 | -7359.01857 | -7359.02055 |
| 生成物 | -7361.15792 | -7361.15754 |

最も誤差の大きな遷移状態でも、0.19 kJ/molという僅かな誤差でORCAの計算を再現できていることが確かめられた。

次に振動数について見てみる。横軸をORCAのωB97M-V/def2-TZVPDの計算値、縦軸をUMAの計算値として振動数解析の結果をプロットしたところ、$y=x$の直線から大きく外れる振動モードはなかった。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697094/6c158d5f-63f6-47d3-84c9-3ed28ebea09f.png)


<details><summary>【反応物と生成物の振動数】</summary>

```py:反応物の振動数（UMA + ASEの結果）
Potential energy [eV]: -7360.364823535767
---------------------
  #    meV     cm^-1
---------------------
  0    1.1i      9.1i
  1    0.0i      0.3i
  2    0.1       0.4
  3    0.1       0.5
  4    0.5       3.7
  5    0.6       4.8
  6    6.0      48.3
  7   11.0      88.4
  8   14.8     119.4
  9   35.9     289.4
 10   43.6     351.7
 11   52.8     425.6
 12   65.3     526.4
 13   83.7     675.2
 14   88.1     710.7
 15  108.2     872.7
 16  110.9     894.3
 17  115.6     932.4
 18  121.2     977.2
 19  122.3     986.1
 20  123.4     995.2
 21  129.0    1040.6
 22  138.8    1119.4
 23  143.2    1155.3
 24  149.5    1206.1
 25  161.3    1301.3
 26  163.0    1315.1
 27  166.7    1344.4
 28  171.2    1380.7
 29  176.8    1426.1
 30  180.4    1455.3
 31  184.5    1488.3
 32  214.6    1731.2
 33  215.4    1737.0
 34  376.0    3032.9
 35  386.0    3112.9
 36  390.5    3149.3
 37  391.5    3158.0
 38  393.0    3170.1
 39  394.9    3185.1
 40  401.5    3238.1
 41  406.4    3277.5
---------------------
Zero-point energy: 3.219 eV
```

```py:生成物の振動数（UMA + ASEの結果）
Potential energy [eV]: -7361.157535667282
---------------------
  #    meV     cm^-1
---------------------
  0    0.7i      5.3i
  1    0.0i      0.3i
  2    0.0       0.2
  3    0.0       0.4
  4    0.5       4.3
  5    0.6       5.1
  6    7.3      58.8
  7   10.8      87.0
  8   14.0     113.3
  9   32.8     264.7
 10   43.7     352.8
 11   53.3     430.0
 12   63.0     508.2
 13   82.4     664.8
 14   92.9     749.2
 15  107.8     869.3
 16  112.0     903.7
 17  119.8     965.9
 18  123.8     998.6
 19  127.9    1031.9
 20  129.6    1045.5
 21  132.3    1067.5
 22  144.0    1161.4
 23  152.0    1226.1
 24  153.1    1234.9
 25  163.8    1321.0
 26  166.6    1343.8
 27  167.6    1351.8
 28  175.2    1413.5
 29  179.4    1447.3
 30  180.2    1453.2
 31  183.3    1478.2
 32  215.3    1736.6
 33  227.8    1837.5
 34  358.7    2893.5
 35  377.3    3043.3
 36  378.4    3051.9
 37  382.6    3085.5
 38  386.3    3116.0
 39  390.1    3146.0
 40  391.1    3154.7
 41  401.5    3238.4
---------------------
Zero-point energy: 3.215 eV
```

```py:反応物の振動数（ORCAの結果）
$vibrational_frequencies
42
    0        0.0000000000000000
    1        0.0000000000000000
    2        0.0000000000000000
    3        0.0000000000000000
    4        0.0000000000000000
    5        0.0000000000000000
    6       74.9883640232371533
    7       90.9301552745855446
    8      126.9492623772070345
    9      288.6576236534389182
   10      351.3395805381115338
   11      420.5388238978900404
   12      528.0657919757780974
   13      676.1817871811510940
   14      714.3730084966985032
   15      873.8901922621080303
   16      894.2015240264963722
   17      931.9257599355349839
   18      974.7524847344734553
   19      986.1812708133778642
   20      993.1857338801559081
   21     1037.1314482220561786
   22     1118.6547018759874845
   23     1156.6106922429110000
   24     1205.9464794334699036
   25     1300.9001437593590254
   26     1314.7649579605879353
   27     1344.3934779571775380
   28     1380.5580997054748877
   29     1424.4799552026001948
   30     1453.5063449186527578
   31     1488.2694148237728768
   32     1732.5478331280367001
   33     1738.1374718841664162
   34     3034.0978780899558842
   35     3111.8839562736939115
   36     3148.4952061105059329
   37     3158.5635418603278595
   38     3172.4368790901530701
   39     3184.6449390092352587
   40     3240.6310051875661884
   41     3280.0000973548912953
```

```py:生成物の振動数（ORCAの結果）
$vibrational_frequencies
42
    0        0.0000000000000000
    1        0.0000000000000000
    2        0.0000000000000000
    3        0.0000000000000000
    4        0.0000000000000000
    5        0.0000000000000000
    6       63.8666040650782705
    7       94.6924280001958323
    8      127.1116946286074381
    9      266.6589725737520666
   10      355.9600066862305994
   11      427.8016956984284320
   12      511.5546381531314637
   13      665.2947701497770367
   14      754.9545461546490515
   15      868.0471372940571655
   16      906.0536641732217049
   17      965.1480167526805189
   18      998.9911970423327148
   19     1031.9295658842493140
   20     1048.0183822480998970
   21     1067.4274992719333568
   22     1160.7497965753473181
   23     1225.2829439409115366
   24     1234.9074891336838391
   25     1320.4221507172428574
   26     1341.6368034552936024
   27     1352.2228194052393064
   28     1413.7055063539523871
   29     1445.8538731220644422
   30     1451.9637550082582038
   31     1476.8141781916156106
   32     1737.2104663986349351
   33     1839.4806413016253828
   34     2895.4371877476528425
   35     3042.6929917353390920
   36     3048.8517202949246894
   37     3088.3049155616149619
   38     3120.0597786384605570
   39     3146.1716051507814882
   40     3155.2944554488271933
   41     3241.2987520404449242
```

</details>

遷移状態の振動数については以下で議論する。

* * *

### 遷移状態の振動数解析（CPU）

以下の通り、同じ構造での振動数は、虚の振動数だけでなく高次の振動数も含めて良好な精度で再現できているようである。

```py:UMA + ASEでの振動数解析（CPU）
from ase.io import read, write
from ase.vibrations import Vibrations
from fairchem.core import FAIRChemCalculator
from fairchem.core.units.mlip_unit import load_predict_unit

uma_predictor = load_predict_unit(
    path="./uma-s-1.pt",
    device="cpu",
)

calc = FAIRChemCalculator(
    uma_predictor,
    task_name="omol",
)

ts = read("claisen_ts.xyz")
ts.info = {"charge": 0, "spin": 1}

ts.calc = calc

energy = ts.get_potential_energy()
print("Potential energy [eV]:", energy)

vib = Vibrations(atoms=ts, name="claisen_tsvib_cpu", delta=0.005)
vib.run()
vib.summary()
vib.clean()
vib.write_mode(0)

```

<details><summary>【UMA + ASEでの振動数解析の結果（CPU）】</summary>

```py:UMA + ASEでの振動数解析の結果（CPU）
Potential energy [eV]: -7359.020552889195
---------------------
  #    meV     cm^-1
---------------------
  0   75.2i    606.7i
  1    0.2i      1.3i
  2    0.0i      0.3i
  3    0.1       0.6
  4    0.8       6.1
  5    1.3      10.3
  6    2.6      20.8
  7   21.8     175.6
  8   39.3     317.2
  9   40.5     326.7
 10   48.8     393.6
 11   54.8     441.7
 12   58.6     472.9
 13   65.7     529.6
 14   92.7     747.5
 15   99.9     805.9
 16  108.1     871.6
 17  112.5     907.4
 18  118.9     959.1
 19  123.9     999.0
 20  124.4    1003.1
 21  126.9    1023.5
 22  128.4    1035.5
 23  130.7    1054.1
 24  136.4    1099.8
 25  155.3    1252.5
 26  157.2    1267.8
 27  160.2    1291.8
 28  167.1    1347.8
 29  175.7    1416.9
 30  180.4    1455.0
 31  187.5    1512.4
 32  190.2    1533.8
 33  201.9    1628.7
 34  373.5    3012.6
 35  389.5    3141.9
 36  390.4    3148.5
 37  390.6    3150.6
 38  392.8    3167.9
 39  399.1    3219.0
 40  401.1    3235.2
 41  401.4    3237.3
---------------------
Zero-point energy: 3.175 eV
```

</details>

<details><summary>【（参考）ORCA-6.0.1での振動数解析の結果】</summary>

```py:（参考）ORCA-6.0.1での振動数解析の結果
Total Energy       :       -270.43897268117342 Eh           -7359.01857 eV
Zero point energy                ...      0.11723512 Eh      73.57 kcal/mol
                                          # eV単位に換算すると ≈ 3.1901301 eV
$vibrational_frequencies
42
    0        0.0000000000000000
    1        0.0000000000000000
    2        0.0000000000000000
    3        0.0000000000000000
    4        0.0000000000000000
    5        0.0000000000000000
    6     -587.5092404601411999
    7      174.6142659987480954
    8      307.9396725630247715
    9      329.9802237915248497
   10      390.4832906912052408
   11      444.7988409444523086
   12      482.1953484382101465
   13      536.5167981489061049
   14      756.5862975828496246
   15      812.7315626068763095
   16      878.2632549611893182
   17      911.5092571834773025
   18      964.5602919811398124
   19     1001.8709172469359601
   20     1006.9144226047300208
   21     1030.2540944757570287
   22     1039.8711469585466602
   23     1060.5775876974137191
   24     1110.4976681997598007
   25     1254.3532428553878617
   26     1273.4106927198245103
   27     1295.3448387371813624
   28     1343.2870435155007272
   29     1425.6003894521231814
   30     1463.8993560426436034
   31     1524.5284705172921349
   32     1545.3336452250980528
   33     1640.5617869806330873
   34     3020.5466961088195603
   35     3154.8209701278092325
   36     3163.2824572046988578
   37     3168.5316722740922160
   38     3184.2315224409621806
   39     3246.9805428992667657
   40     3256.4408280407742495
   41     3258.9490835835576945
```

</details>

> ASEの`Vibrations`モジュールでは数値微分による固有値解析が行われるため並進・回転のモードは必ずしも完全にゼロにならない。

 * * * 

### 遷移状態の振動数解析（GPU）

一方で、全く同じ構造に対してGPUを用いた振動数解析を実施したところ、ORCAの結果と比べて誤差がやや大きくなった。先ほど言及した数値計算の精度が影響しているものと考えられる。UMAポテンシャルで自由エネルギーなどの議論をする際は、GPUではなくCPUを利用するのが良さそうである。

<details><summary>【UMA + ASEでの振動数解析の結果（GPU版）】</summary>

```py:UMA + ASEでの振動数解析の結果（GPU版）
Potential energy [eV]: -7359.020588651982
---------------------
  #    meV     cm^-1
---------------------
  0   74.9i    604.4i
  1    4.6i     37.2i
  2    1.8i     14.3i
  3    0.8i      6.7i
  4    2.3      18.3
  5    3.1      24.8
  6    5.5      44.6
  7   21.7     175.1
  8   39.3     316.9
  9   40.7     328.3
 10   48.7     393.1
 11   54.6     440.2
 12   58.4     471.1
 13   65.8     530.3
 14   93.0     749.9
 15   99.7     804.3
 16  107.8     869.4
 17  112.6     908.1
 18  118.4     954.8
 19  123.0     992.4
 20  124.4    1003.4
 21  126.6    1021.5
 22  128.0    1032.5
 23  131.1    1057.2
 24  137.4    1108.1
 25  155.1    1250.7
 26  157.1    1267.4
 27  160.4    1293.6
 28  167.3    1349.6
 29  175.7    1417.1
 30  180.5    1455.7
 31  187.4    1511.2
 32  190.2    1534.4
 33  202.0    1628.9
 34  373.7    3014.5
 35  389.4    3140.6
 36  390.2    3147.2
 37  390.7    3151.3
 38  392.3    3164.5
 39  399.0    3218.5
 40  401.1    3234.7
 41  401.4    3237.3
---------------------
Zero-point energy: 3.178 eV
```

</details>

> float64で計算すれば精度は改善すると考えられるが、GPUを用いた計算ではfloat64の演算を行うと計算効率が下がることが知られている。誤差が大きくなりそうな巨大分子では、GPU版とCPU版はそもそも「異なる計算レベル」であると見なし、GPUは大域的な構造探索、CPU版は構造とエネルギーの改善、という別々の用途で利用するのが賢い選択かもしれない。

> とはいえ、エネルギーで言えば数kJ/mol程度しか変わらず、振動数もそこまで大きな誤差がある訳ではないため、UMAポテンシャルを利用して構造や反応経路のinitail guessを得たいというだけであれば、速度重視でGPU版のみ使う、という選択も当然あり得る。

## L-システイン

[L-システイン](https://en.wikipedia.org/wiki/Cysteine)のコンフォメーションのエネルギー差を比較してみる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697094/f9324185-5ef5-408a-bd53-a2534c7d5061.png)


|   | ORCA-6.0.1 | UMA-s-1 |
|:-----------|:-----------|:-----------|
| 分子内水素結合なし | -19645.16772 | -19645.16844 |
| 分子内水素結合あり | -19645.33379 | -19645.33663 |

先ほどと同様に、ORCAとUMAでエネルギーが小数点以下2桁目まで一致した。最適化後の構造はUMAとORCAで同じ（同一の平衡構造）であった。

> 初期構造および最適化後の構造は末尾に示した。
> なお「分子内水素結合なし」とラベリングしているが、この構造ではチオール基とアミノ基が弱く相互作用しているという解釈も成り立つ。

> 今回の結果には含めておらずUMAポテンシャルとも直接関係ないが、より大きなポリペプチドの双性イオンに対してORCAで構造最適化を実施したところ、SCF計算が収束しないことがあった。

## SN2反応

クロロメタンのSN2反応の計算結果を以下に示す。

> 系全体の電荷を -1 として計算を実施した。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697094/8e27028f-ae66-4ac7-869a-9e27de48ce7e.png)

2列目と3列目に `Total Energy` の計算値(eV)、4列目と5列目にクロロメタンをエネルギーの基準とした相対エネルギー(kJ/mol)を示した。

|            | ORCA (eV)| UMA (eV) | ΔE @ ORCA (kJ/mol) | ΔE @ UMA (kJ/mol) |
|:-----------|:-----------|:-----------|:-----------|:-----------|
| **CH₃Cl + Cl⁻** | -26132.79889 | -26132.79253 | 0.00 | 0.00 |
| **Cl...CH₃...Cl⁻ (TS)** | -26132.21494 | -26132.21066 | 56.34 | 56.14 |

|            | ORCA-6.0.1 | UMA-s-1 | ΔE @ ORCA (kJ/mol) | ΔE @ UMA (kJ/mol) |
|:-----------|:-----------|:-----------|:-----------|:-----------|
| **CH₃Cl + Br⁻** | -83653.13344 | -83653.12779 | 0.00 | 0.00 |
| **Cl...CH₃...Br⁻ (TS)** | -83652.43687 | -83652.44185 | 67.21 | 66.18 |
| **Cl⁻ + CH₃Br** | -83652.83920 | -83652.83727 | 28.39 | 28.03 |

UMAポテンシャルの計算値によると、クロロメタンが臭化物イオンに求核攻撃されるときの活性化エネルギーは 66.18 kJ/mol、逆反応の活性化エネルギーは 38.15 kJ/molと求められた。これはORCAの計算値と比較して誤差2%未満であり、電荷を有する系でも活性化エネルギーを精度よく与えている。

遷移状態の構造には僅かな差異があるが、エネルギーは実用的なレベルの精度で求められている。

> Br⁻はCl⁻よりも大きいため分極しやすく、相対的に良い脱離基として働くことが知られている。上記の計算では溶媒分子の存在を考慮していないが、定性的に妥当な結果を与えている。 

<details><summary>【遷移状態における振動数計算のログ】</summary>

```:SN2_Cl_Cl_orca
---------------------
0	   0.00000000
1	   0.00000000
2	   0.00000000
3	   0.00000000
4	   0.00000000
5	   0.00000000
6	-463.66274365
7	 205.07827648
8	 206.58973884
9	 223.77241991
10	 449.97262517
11	 956.11482332
12	1056.92811736
13	1386.05642326
14	1387.91275310
15	3198.67522543
16	3394.19777670
17	3409.01356773
---------------------
```

```:SN2_Cl_Cl_uma
---------------------
  #    meV     cm^-1
---------------------
  0   52.6i    424.6i
  1    1.7i     13.7i
  2    0.6i      4.9i
  3    0.2i      1.3i
  4    0.9       6.9
  5    1.2       9.3
  6    3.2      25.9
  7   26.0     209.6
  8   26.2     211.0
  9   27.2     219.4
 10  119.4     963.1
 11  119.6     964.8
 12  137.6    1109.5
 13  171.9    1386.6
 14  172.0    1387.4
 15  401.2    3235.7
 16  423.9    3419.0
 17  424.0    3419.8
---------------------
Zero-point energy: 1.027 eV
```

```:SN2_Cl_Br_orca
---------------------
0	   0.00000000
1	   0.00000000
2	   0.00000000
3	   0.00000000
4	   0.00000000
5	   0.00000000
6	-433.07631469
7	 112.25939319
8	 183.93004281
9	 188.60164133
10	 886.50576738
11	 934.04319109
12	1032.78281187
13	1132.52238576
14	1388.44322501
15	2935.41459085
16	3315.24569769
17	3429.81147964
---------------------
```

```:SN2_Cl_Br_uma
---------------------
  #    meV     cm^-1
---------------------
  0   49.4i    398.1i
  1    2.3i     18.6i
  2    0.6i      4.5i
  3    0.1i      0.7i
  4    0.4       3.2
  5    0.4       3.5
  6    4.1      33.4
  7   22.2     178.8
  8   23.6     190.5
  9   23.7     191.3
 10  115.2     929.3
 11  115.6     932.3
 12  131.5    1060.9
 13  172.2    1389.0
 14  172.6    1391.9
 15  400.9    3233.5
 16  423.3    3414.0
 17  423.3    3414.4
---------------------
Zero-point energy: 1.015 eV
```

</details>

## All-Benzene Multi-Macrocyclic Nanocarbon

より大きな分子の計算例として、2024年6月に合成が報告された下図に示す計534原子（$\mathrm{C_{324}H_{210}}$、ベンゼン環54個）からなるAll-Benzene Multi-Macrocyclic Nanocarbonについて、CPUとGPUを用いた構造最適化をそれぞれ実行してみる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697094/7cf69a0d-187d-4ec2-9f10-ea0d9a381699.png)

> [ref.] J.-N. Gao, A. Bu, Y. Chen, M. Huang, Z. Chen, X. Li, C.-H. Tung, L.-Z. Wu, H. Cong, *Angew. Chem. Int. Ed.* 2024, **63**, e202408016. https://doi.org/10.1002/anie.202408016

例えば以下のようなスクリプトで構造最適化を実施できる。GPUを利用したい場合は `device="cuda"` とすれば良い。

```py:CPUを利用する場合
from ase.io import read
from ase.optimize import LBFGS
from fairchem.core import FAIRChemCalculator
from fairchem.core.units.mlip_unit import load_predict_unit

uma_predictor = load_predict_unit(
    path="./uma-s-1.pt",
    device="cpu",
)

calc = FAIRChemCalculator(
    uma_predictor,
    task_name="omol", # options: "omol", "omat", "odac", "oc20", "omc"
)

mol = read('cpp_3_init.xyz')
mol.info = {"charge": 0, "spin": 1}

mol.calc = calc

energy = mol.get_potential_energy()
print("Potential energy [eV]:", energy)

opt = LBFGS(mol, trajectory='cpp_3_cpu.traj', logfile='cpp_3_cpu.log')
opt.run(0.01, 10000)


energy = mol.get_potential_energy()
print("Potential energy [eV]:", energy)

```

これを実行したところ、CPUを利用した場合は14分31秒を要したのに対し、GPUを利用した場合では33秒と圧倒的に速い計算速度で収束に至った。**単純計算で26.4倍の加速率**である。型落ちのGPUでこれなので、最新のGPUではさらに数段高速な推論が可能だと思われる。

最適化のステップ数は、CPU利用で114、GPU利用で116とほぼ同等であった。これは論文のSIから取得した初期構造が既にある程度最適化された構造だった（初期構造が極小点のごく近傍だった）ため、CPU/GPUで最適化のステップ数に違いがほとんど見られなかったものと考えられる。

> 上記のスクリプトでは収束判定条件となる `fmax`（勾配の最大値）の値を 0.01 とやや厳しめに設定している。

> (2025/06/14追記) CPUを Intel Core i7 14700KF として同様の計算を実行したところ、9分55秒/104ステップで終了した。メモリは64GB（5600MHz）を使用。

<details><summary>【構造最適化のログ】</summary>

```:UMA + ASEによる構造最適化（CPU利用）
Initial energy [eV]: -339406.515888828
       Step     Time          Energy          fmax
LBFGS:    0 21:58:59  -339406.515889        0.688373
LBFGS:    1 21:59:11  -339406.693885        0.307700
LBFGS:    2 21:59:22  -339406.788087        0.171372
LBFGS:    3 21:59:33  -339406.880219        0.153865
LBFGS:    4 21:59:45  -339406.991288        0.198507
LBFGS:    5 21:59:54  -339407.049048        0.124665
LBFGS:    6 22:00:03  -339407.082652        0.091563
LBFGS:    7 22:00:12  -339407.111647        0.089651
LBFGS:    8 22:00:20  -339407.134780        0.103748
LBFGS:    9 22:00:28  -339407.146605        0.053413
LBFGS:   10 22:00:35  -339407.152026        0.041127
LBFGS:   11 22:00:44  -339407.157134        0.047082
LBFGS:   12 22:00:52  -339407.165000        0.061017
LBFGS:   13 22:01:00  -339407.173030        0.058819
LBFGS:   14 22:01:08  -339407.178702        0.048412
LBFGS:   15 22:01:16  -339407.182974        0.044544
LBFGS:   16 22:01:24  -339407.187279        0.042113
LBFGS:   17 22:01:31  -339407.192034        0.050348
LBFGS:   18 22:01:39  -339407.196564        0.054562
LBFGS:   19 22:01:47  -339407.200400        0.037360
LBFGS:   20 22:01:55  -339407.203890        0.043116
LBFGS:   21 22:02:03  -339407.207259        0.040634
LBFGS:   22 22:02:10  -339407.210532        0.055370
LBFGS:   23 22:02:18  -339407.214076        0.052662
LBFGS:   24 22:02:25  -339407.218072        0.043593
LBFGS:   25 22:02:33  -339407.222323        0.042393
LBFGS:   26 22:02:41  -339407.226065        0.042956
LBFGS:   27 22:02:48  -339407.228942        0.046996
LBFGS:   28 22:02:56  -339407.231419        0.033611
LBFGS:   29 22:03:03  -339407.233977        0.035387
LBFGS:   30 22:03:11  -339407.236369        0.035177
LBFGS:   31 22:03:18  -339407.238213        0.035607
LBFGS:   32 22:03:26  -339407.239392        0.025449
LBFGS:   33 22:03:33  -339407.240170        0.018326
LBFGS:   34 22:03:41  -339407.240779        0.017195
LBFGS:   35 22:03:48  -339407.241530        0.023315
LBFGS:   36 22:03:56  -339407.242600        0.028218
LBFGS:   37 22:04:04  -339407.244033        0.033985
LBFGS:   38 22:04:12  -339407.245545        0.032207
LBFGS:   39 22:04:19  -339407.246716        0.027472
LBFGS:   40 22:04:26  -339407.247599        0.019719
LBFGS:   41 22:04:34  -339407.248339        0.019175
LBFGS:   42 22:04:42  -339407.249093        0.023232
LBFGS:   43 22:04:49  -339407.249827        0.021624
LBFGS:   44 22:04:57  -339407.250537        0.019153
LBFGS:   45 22:05:05  -339407.251307        0.019740
LBFGS:   46 22:05:12  -339407.252135        0.019317
LBFGS:   47 22:05:20  -339407.252989        0.023660
LBFGS:   48 22:05:27  -339407.253901        0.022299
LBFGS:   49 22:05:34  -339407.254910        0.021126
LBFGS:   50 22:05:42  -339407.255856        0.019253
LBFGS:   51 22:05:49  -339407.256703        0.021767
LBFGS:   52 22:05:56  -339407.257470        0.024547
LBFGS:   53 22:06:04  -339407.258189        0.022156
LBFGS:   54 22:06:12  -339407.259001        0.019600
LBFGS:   55 22:06:19  -339407.259831        0.021138
LBFGS:   56 22:06:27  -339407.260707        0.021346
LBFGS:   57 22:06:34  -339407.261511        0.021489
LBFGS:   58 22:06:41  -339407.262276        0.018410
LBFGS:   59 22:06:49  -339407.262911        0.016828
LBFGS:   60 22:06:56  -339407.263524        0.018699
LBFGS:   61 22:07:04  -339407.264063        0.018004
LBFGS:   62 22:07:11  -339407.264603        0.017004
LBFGS:   63 22:07:18  -339407.265076        0.013012
LBFGS:   64 22:07:25  -339407.265496        0.015004
LBFGS:   65 22:07:33  -339407.265956        0.015633
LBFGS:   66 22:07:40  -339407.266490        0.017525
LBFGS:   67 22:07:48  -339407.267079        0.015675
LBFGS:   68 22:07:55  -339407.267548        0.014815
LBFGS:   69 22:08:02  -339407.267909        0.011945
LBFGS:   70 22:08:10  -339407.268218        0.012558
LBFGS:   71 22:08:17  -339407.268542        0.013277
LBFGS:   72 22:08:25  -339407.268830        0.013706
LBFGS:   73 22:08:32  -339407.269107        0.010976
LBFGS:   74 22:08:39  -339407.269421        0.011852
LBFGS:   75 22:08:47  -339407.269736        0.011884
LBFGS:   76 22:08:55  -339407.270108        0.013779
LBFGS:   77 22:09:02  -339407.270476        0.014715
LBFGS:   78 22:09:10  -339407.270867        0.013091
LBFGS:   79 22:09:17  -339407.271252        0.012240
LBFGS:   80 22:09:24  -339407.271605        0.011768
LBFGS:   81 22:09:32  -339407.271958        0.015107
LBFGS:   82 22:09:39  -339407.272347        0.017287
LBFGS:   83 22:09:46  -339407.272790        0.013543
LBFGS:   84 22:09:54  -339407.273167        0.014202
LBFGS:   85 22:10:02  -339407.273520        0.013338
LBFGS:   86 22:10:09  -339407.273881        0.016005
LBFGS:   87 22:10:17  -339407.274253        0.012334
LBFGS:   88 22:10:24  -339407.274586        0.012588
LBFGS:   89 22:10:31  -339407.274907        0.012385
LBFGS:   90 22:10:39  -339407.275229        0.012112
LBFGS:   91 22:10:46  -339407.275517        0.011343
LBFGS:   92 22:10:54  -339407.275777        0.012980
LBFGS:   93 22:11:01  -339407.276038        0.013634
LBFGS:   94 22:11:09  -339407.276229        0.012319
LBFGS:   95 22:11:16  -339407.276498        0.013063
LBFGS:   96 22:11:23  -339407.276749        0.010231
LBFGS:   97 22:11:30  -339407.276969        0.012101
LBFGS:   98 22:11:39  -339407.277249        0.013397
LBFGS:   99 22:11:46  -339407.277512        0.016035
LBFGS:  100 22:11:54  -339407.277804        0.016431
LBFGS:  101 22:12:01  -339407.278071        0.011722
LBFGS:  102 22:12:08  -339407.278346        0.011278
LBFGS:  103 22:12:16  -339407.278617        0.010127
LBFGS:  104 22:12:23  -339407.278899        0.010872
LBFGS:  105 22:12:30  -339407.279181        0.012030
LBFGS:  106 22:12:38  -339407.279513        0.012405
LBFGS:  107 22:12:45  -339407.279860        0.012407
LBFGS:  108 22:12:52  -339407.280188        0.012253
LBFGS:  109 22:13:00  -339407.280514        0.011763
LBFGS:  110 22:13:07  -339407.280766        0.012042
LBFGS:  111 22:13:15  -339407.280989        0.011958
LBFGS:  112 22:13:22  -339407.281224        0.010293
LBFGS:  113 22:13:30  -339407.281445        0.009090
Final energy [eV]: -339407.2814451635
```

```:UMA + ASEによる構造最適化（GPU利用）
Potential energy [eV]: -339406.5104452553
       Step     Time          Energy          fmax
LBFGS:    0 22:23:58  -339406.510445        0.688165
LBFGS:    1 22:23:58  -339406.687804        0.306347
LBFGS:    2 22:23:58  -339406.782515        0.171488
LBFGS:    3 22:23:59  -339406.873963        0.154230
LBFGS:    4 22:23:59  -339406.986006        0.205795
LBFGS:    5 22:23:59  -339407.043885        0.126727
LBFGS:    6 22:24:00  -339407.077698        0.091715
LBFGS:    7 22:24:00  -339407.106888        0.086739
LBFGS:    8 22:24:00  -339407.129029        0.103512
LBFGS:    9 22:24:01  -339407.141133        0.057198
LBFGS:   10 22:24:01  -339407.146111        0.041968
LBFGS:   11 22:24:01  -339407.151719        0.048488
LBFGS:   12 22:24:01  -339407.158019        0.064346
LBFGS:   13 22:24:02  -339407.167479        0.059431
LBFGS:   14 22:24:02  -339407.174273        0.048195
LBFGS:   15 22:24:02  -339407.175967        0.044841
LBFGS:   16 22:24:03  -339407.181502        0.042088
LBFGS:   17 22:24:03  -339407.186452        0.051250
LBFGS:   18 22:24:03  -339407.190528        0.056719
LBFGS:   19 22:24:03  -339407.194367        0.043337
LBFGS:   20 22:24:04  -339407.197211        0.045731
LBFGS:   21 22:24:04  -339407.201306        0.040726
LBFGS:   22 22:24:04  -339407.204819        0.057235
LBFGS:   23 22:24:05  -339407.209677        0.055408
LBFGS:   24 22:24:05  -339407.212104        0.043405
LBFGS:   25 22:24:05  -339407.217166        0.043245
LBFGS:   26 22:24:05  -339407.219100        0.045840
LBFGS:   27 22:24:06  -339407.222968        0.050065
LBFGS:   28 22:24:06  -339407.225541        0.035695
LBFGS:   29 22:24:06  -339407.228076        0.036800
LBFGS:   30 22:24:07  -339407.230391        0.034591
LBFGS:   31 22:24:07  -339407.232737        0.039775
LBFGS:   32 22:24:07  -339407.234326        0.028915
LBFGS:   33 22:24:08  -339407.234723        0.019379
LBFGS:   34 22:24:08  -339407.236058        0.016893
LBFGS:   35 22:24:08  -339407.235596        0.022424
LBFGS:   36 22:24:08  -339407.236556        0.029385
LBFGS:   37 22:24:09  -339407.236319        0.031724
LBFGS:   38 22:24:09  -339407.238604        0.036267
LBFGS:   39 22:24:09  -339407.241492        0.030933
LBFGS:   40 22:24:10  -339407.243088        0.024990
LBFGS:   41 22:24:10  -339407.241673        0.021239
LBFGS:   42 22:24:10  -339407.243508        0.024044
LBFGS:   43 22:24:10  -339407.244801        0.023782
LBFGS:   44 22:24:11  -339407.244115        0.019349
LBFGS:   45 22:24:11  -339407.245272        0.019654
LBFGS:   46 22:24:11  -339407.246760        0.020273
LBFGS:   47 22:24:12  -339407.248179        0.022038
LBFGS:   48 22:24:12  -339407.249184        0.022475
LBFGS:   49 22:24:12  -339407.250020        0.024658
LBFGS:   50 22:24:12  -339407.249776        0.021438
LBFGS:   51 22:24:13  -339407.251208        0.020396
LBFGS:   52 22:24:13  -339407.250525        0.020762
LBFGS:   53 22:24:13  -339407.252427        0.024058
LBFGS:   54 22:24:13  -339407.254323        0.021192
LBFGS:   55 22:24:14  -339407.254910        0.023464
LBFGS:   56 22:24:14  -339407.255217        0.022326
LBFGS:   57 22:24:14  -339407.255915        0.024062
LBFGS:   58 22:24:15  -339407.257775        0.018146
LBFGS:   59 22:24:15  -339407.258443        0.022077
LBFGS:   60 22:24:15  -339407.257647        0.019816
LBFGS:   61 22:24:16  -339407.259061        0.017725
LBFGS:   62 22:24:16  -339407.259020        0.018317
LBFGS:   63 22:24:16  -339407.260123        0.013440
LBFGS:   64 22:24:16  -339407.260138        0.014982
LBFGS:   65 22:24:17  -339407.261515        0.015489
LBFGS:   66 22:24:17  -339407.260171        0.016693
LBFGS:   67 22:24:17  -339407.262683        0.019473
LBFGS:   68 22:24:18  -339407.261075        0.016896
LBFGS:   69 22:24:18  -339407.262692        0.016815
LBFGS:   70 22:24:18  -339407.262461        0.012457
LBFGS:   71 22:24:18  -339407.262646        0.013922
LBFGS:   72 22:24:19  -339407.263404        0.014055
LBFGS:   73 22:24:19  -339407.264483        0.013205
LBFGS:   74 22:24:19  -339407.263768        0.013211
LBFGS:   75 22:24:19  -339407.264012        0.013624
LBFGS:   76 22:24:20  -339407.263705        0.013554
LBFGS:   77 22:24:20  -339407.264598        0.016125
LBFGS:   78 22:24:20  -339407.265214        0.016489
LBFGS:   79 22:24:21  -339407.266028        0.013640
LBFGS:   80 22:24:21  -339407.265532        0.015061
LBFGS:   81 22:24:21  -339407.266503        0.012710
LBFGS:   82 22:24:22  -339407.266219        0.013592
LBFGS:   83 22:24:22  -339407.268246        0.014463
LBFGS:   84 22:24:22  -339407.267573        0.015033
LBFGS:   85 22:24:22  -339407.267987        0.015421
LBFGS:   86 22:24:23  -339407.267733        0.014389
LBFGS:   87 22:24:23  -339407.268376        0.015151
LBFGS:   88 22:24:23  -339407.268389        0.017257
LBFGS:   89 22:24:24  -339407.269608        0.015159
LBFGS:   90 22:24:24  -339407.269423        0.013760
LBFGS:   91 22:24:24  -339407.270871        0.012214
LBFGS:   92 22:24:24  -339407.269667        0.012451
LBFGS:   93 22:24:25  -339407.270392        0.012865
LBFGS:   94 22:24:25  -339407.271500        0.013253
LBFGS:   95 22:24:25  -339407.270545        0.011503
LBFGS:   96 22:24:26  -339407.271372        0.012333
LBFGS:   97 22:24:26  -339407.271975        0.012782
LBFGS:   98 22:24:26  -339407.271441        0.014463
LBFGS:   99 22:24:26  -339407.272587        0.010633
LBFGS:  100 22:24:27  -339407.272103        0.013269
LBFGS:  101 22:24:27  -339407.271304        0.012146
LBFGS:  102 22:24:27  -339407.273137        0.015132
LBFGS:  103 22:24:28  -339407.272751        0.011818
LBFGS:  104 22:24:28  -339407.272235        0.011239
LBFGS:  105 22:24:28  -339407.272803        0.011866
LBFGS:  106 22:24:28  -339407.273204        0.013803
LBFGS:  107 22:24:29  -339407.273921        0.012429
LBFGS:  108 22:24:29  -339407.273215        0.014053
LBFGS:  109 22:24:29  -339407.274150        0.014119
LBFGS:  110 22:24:30  -339407.275843        0.015322
LBFGS:  111 22:24:30  -339407.275099        0.011096
LBFGS:  112 22:24:30  -339407.275010        0.013901
LBFGS:  113 22:24:30  -339407.275593        0.012098
LBFGS:  114 22:24:31  -339407.275387        0.012459
LBFGS:  115 22:24:31  -339407.275551        0.009838
Potential energy [eV]: -339407.27555145643
```

</details>

> 初期構造および最適化後の構造は末尾に示した。


### 鎖を4つに増やした場合

鎖を4つに増やした712原子からなる分子の構造を作成し、UMAで計算を実施してみた。

`fmax=0.03` の条件で最適化し、ともにステップ数は277であった。計算時間はCPU計算では46分31秒、GPU計算では1分41秒であり、やはり**GPU計算の方がCPU計算に比べて27.6倍も速い**という結果となった。

このように、GPUを用いた推論は非常に効率的に実行できることが確かめられた。

<details><summary>【構造最適化のログ】</summary>

```:CPU
       Step     Time          Energy          fmax
LBFGS:    0 00:16:36  -452517.670587       19.832589
LBFGS:    1 00:16:45  -452526.823473        6.148534
LBFGS:    2 00:16:56  -452531.527803        3.344507
LBFGS:    3 00:17:06  -452534.515541        2.806852
LBFGS:    4 00:17:16  -452535.524068        1.919322
LBFGS:    5 00:17:26  -452536.280475        1.448389
LBFGS:    6 00:17:36  -452537.048811        1.584875
LBFGS:    7 00:17:46  -452537.576137        0.977498
LBFGS:    8 00:17:56  -452538.005020        0.830794
LBFGS:    9 00:18:05  -452538.315837        0.881901
LBFGS:   10 00:18:16  -452538.544124        0.725888
LBFGS:   11 00:18:26  -452538.777790        0.592174
LBFGS:   12 00:18:35  -452539.057182        0.666215
LBFGS:   13 00:18:45  -452539.317073        0.725424
LBFGS:   14 00:18:56  -452539.533218        0.584175
LBFGS:   15 00:19:06  -452539.698310        0.427466
LBFGS:   16 00:19:16  -452539.843101        0.441206
LBFGS:   17 00:19:26  -452539.991622        0.484938
LBFGS:   18 00:19:35  -452540.124977        0.457695
LBFGS:   19 00:19:45  -452540.228435        0.440532
LBFGS:   20 00:19:55  -452540.322917        0.385982
LBFGS:   21 00:20:05  -452540.424762        0.369278
LBFGS:   22 00:20:15  -452540.519592        0.354950
LBFGS:   23 00:20:24  -452540.599777        0.363211
LBFGS:   24 00:20:34  -452540.675647        0.392975
LBFGS:   25 00:20:44  -452540.750694        0.316479
LBFGS:   26 00:20:54  -452540.818317        0.277217
LBFGS:   27 00:21:04  -452540.873436        0.270808
LBFGS:   28 00:21:14  -452540.919735        0.309145
LBFGS:   29 00:21:24  -452540.963905        0.261848
LBFGS:   30 00:21:34  -452541.007381        0.237177
LBFGS:   31 00:21:44  -452541.046463        0.240482
LBFGS:   32 00:21:54  -452541.081203        0.300639
LBFGS:   33 00:22:03  -452541.116405        0.329135
LBFGS:   34 00:22:13  -452541.153038        0.238708
LBFGS:   35 00:22:23  -452541.186546        0.189677
LBFGS:   36 00:22:33  -452541.213970        0.205752
LBFGS:   37 00:22:43  -452541.237628        0.245055
LBFGS:   38 00:22:52  -452541.260616        0.221470
LBFGS:   39 00:23:02  -452541.284271        0.205127
LBFGS:   40 00:23:12  -452541.308746        0.238424
LBFGS:   41 00:23:22  -452541.333309        0.241223
LBFGS:   42 00:23:31  -452541.355842        0.196037
LBFGS:   43 00:23:41  -452541.375576        0.189685
LBFGS:   44 00:23:51  -452541.393936        0.182980
LBFGS:   45 00:24:01  -452541.412723        0.164168
LBFGS:   46 00:24:10  -452541.431461        0.187248
LBFGS:   47 00:24:20  -452541.448093        0.147530
LBFGS:   48 00:24:30  -452541.462635        0.149575
LBFGS:   49 00:24:40  -452541.477561        0.184443
LBFGS:   50 00:24:49  -452541.494602        0.194989
LBFGS:   51 00:25:00  -452541.513050        0.163941
LBFGS:   52 00:25:10  -452541.530635        0.143923
LBFGS:   53 00:25:19  -452541.546871        0.135242
LBFGS:   54 00:25:30  -452541.562885        0.132078
LBFGS:   55 00:25:39  -452541.579059        0.130837
LBFGS:   56 00:25:49  -452541.594604        0.154202
LBFGS:   57 00:25:59  -452541.609142        0.157427
LBFGS:   58 00:26:09  -452541.622722        0.114197
LBFGS:   59 00:26:19  -452541.635234        0.119652
LBFGS:   60 00:26:29  -452541.646995        0.135608
LBFGS:   61 00:26:39  -452541.659282        0.138939
LBFGS:   62 00:26:48  -452541.673282        0.119931
LBFGS:   63 00:26:58  -452541.688682        0.140983
LBFGS:   64 00:27:08  -452541.704036        0.155425
LBFGS:   65 00:27:18  -452541.718200        0.132592
LBFGS:   66 00:27:28  -452541.731254        0.123756
LBFGS:   67 00:27:38  -452541.743206        0.114921
LBFGS:   68 00:27:48  -452541.754135        0.105099
LBFGS:   69 00:27:58  -452541.764270        0.115186
LBFGS:   70 00:28:08  -452541.774578        0.113940
LBFGS:   71 00:28:18  -452541.785411        0.100799
LBFGS:   72 00:28:28  -452541.796459        0.106843
LBFGS:   73 00:28:38  -452541.807544        0.143837
LBFGS:   74 00:28:47  -452541.819339        0.150170
LBFGS:   75 00:28:58  -452541.831890        0.137828
LBFGS:   76 00:29:08  -452541.843582        0.136239
LBFGS:   77 00:29:18  -452541.853313        0.116795
LBFGS:   78 00:29:28  -452541.861465        0.108734
LBFGS:   79 00:29:38  -452541.869220        0.127895
LBFGS:   80 00:29:48  -452541.877162        0.108470
LBFGS:   81 00:29:58  -452541.885021        0.102556
LBFGS:   82 00:30:08  -452541.893096        0.119137
LBFGS:   83 00:30:18  -452541.902118        0.120276
LBFGS:   84 00:30:28  -452541.911987        0.141155
LBFGS:   85 00:30:38  -452541.922035        0.122146
LBFGS:   86 00:30:48  -452541.931610        0.107093
LBFGS:   87 00:30:58  -452541.940502        0.089158
LBFGS:   88 00:31:08  -452541.948211        0.080127
LBFGS:   89 00:31:19  -452541.954521        0.101410
LBFGS:   90 00:31:28  -452541.960136        0.107408
LBFGS:   91 00:31:38  -452541.966259        0.086044
LBFGS:   92 00:31:48  -452541.973587        0.082826
LBFGS:   93 00:31:58  -452541.981208        0.075650
LBFGS:   94 00:32:08  -452541.988243        0.085716
LBFGS:   95 00:32:18  -452541.995483        0.100712
LBFGS:   96 00:32:28  -452542.003578        0.076941
LBFGS:   97 00:32:38  -452542.012115        0.085065
LBFGS:   98 00:32:48  -452542.019847        0.081656
LBFGS:   99 00:32:58  -452542.026725        0.077103
LBFGS:  100 00:33:08  -452542.033355        0.076268
LBFGS:  101 00:33:18  -452542.040180        0.082869
LBFGS:  102 00:33:28  -452542.047439        0.090820
LBFGS:  103 00:33:38  -452542.054874        0.095669
LBFGS:  104 00:33:47  -452542.062461        0.080130
LBFGS:  105 00:33:58  -452542.069530        0.078232
LBFGS:  106 00:34:08  -452542.075981        0.072745
LBFGS:  107 00:34:18  -452542.082195        0.077412
LBFGS:  108 00:34:28  -452542.088531        0.079724
LBFGS:  109 00:34:38  -452542.094741        0.080679
LBFGS:  110 00:34:48  -452542.100479        0.075229
LBFGS:  111 00:34:58  -452542.105987        0.078268
LBFGS:  112 00:35:09  -452542.112083        0.085668
LBFGS:  113 00:35:18  -452542.118980        0.074021
LBFGS:  114 00:35:29  -452542.126049        0.087731
LBFGS:  115 00:35:39  -452542.132667        0.080974
LBFGS:  116 00:35:48  -452542.138801        0.090207
LBFGS:  117 00:35:58  -452542.144947        0.090894
LBFGS:  118 00:36:09  -452542.151340        0.076310
LBFGS:  119 00:36:19  -452542.157894        0.079114
LBFGS:  120 00:36:29  -452542.164596        0.076202
LBFGS:  121 00:36:39  -452542.171737        0.080358
LBFGS:  122 00:36:49  -452542.179222        0.085716
LBFGS:  123 00:36:59  -452542.186882        0.086452
LBFGS:  124 00:37:10  -452542.194946        0.086216
LBFGS:  125 00:37:20  -452542.203357        0.076786
LBFGS:  126 00:37:30  -452542.211578        0.074003
LBFGS:  127 00:37:40  -452542.218921        0.078908
LBFGS:  128 00:37:50  -452542.225437        0.079414
LBFGS:  129 00:38:01  -452542.231670        0.069495
LBFGS:  130 00:38:11  -452542.237823        0.073274
LBFGS:  131 00:38:21  -452542.243724        0.087928
LBFGS:  132 00:38:31  -452542.249240        0.076851
LBFGS:  133 00:38:41  -452542.254428        0.062756
LBFGS:  134 00:38:51  -452542.259380        0.068527
LBFGS:  135 00:39:01  -452542.264308        0.064910
LBFGS:  136 00:39:11  -452542.269626        0.068294
LBFGS:  137 00:39:21  -452542.275447        0.067964
LBFGS:  138 00:39:31  -452542.281116        0.054962
LBFGS:  139 00:39:42  -452542.285968        0.050035
LBFGS:  140 00:39:51  -452542.290164        0.061064
LBFGS:  141 00:40:02  -452542.294311        0.061779
LBFGS:  142 00:40:13  -452542.299037        0.063933
LBFGS:  143 00:40:22  -452542.303962        0.061200
LBFGS:  144 00:40:33  -452542.308780        0.066109
LBFGS:  145 00:40:43  -452542.313484        0.059287
LBFGS:  146 00:40:53  -452542.318367        0.067145
LBFGS:  147 00:41:03  -452542.323398        0.057254
LBFGS:  148 00:41:14  -452542.328624        0.067425
LBFGS:  149 00:41:24  -452542.333747        0.067630
LBFGS:  150 00:41:34  -452542.338638        0.061637
LBFGS:  151 00:41:44  -452542.343009        0.051881
LBFGS:  152 00:41:54  -452542.347129        0.057182
LBFGS:  153 00:42:04  -452542.351577        0.064403
LBFGS:  154 00:42:15  -452542.356777        0.081655
LBFGS:  155 00:42:25  -452542.362274        0.072731
LBFGS:  156 00:42:35  -452542.367588        0.061674
LBFGS:  157 00:42:46  -452542.372432        0.057488
LBFGS:  158 00:42:55  -452542.376953        0.053599
LBFGS:  159 00:43:06  -452542.381019        0.051161
LBFGS:  160 00:43:16  -452542.384613        0.051331
LBFGS:  161 00:43:26  -452542.387943        0.056862
LBFGS:  162 00:43:36  -452542.391307        0.048766
LBFGS:  163 00:43:46  -452542.394981        0.051487
LBFGS:  164 00:43:56  -452542.398922        0.060137
LBFGS:  165 00:44:06  -452542.403205        0.053016
LBFGS:  166 00:44:16  -452542.407714        0.058799
LBFGS:  167 00:44:26  -452542.412063        0.058962
LBFGS:  168 00:44:36  -452542.415996        0.056967
LBFGS:  169 00:44:46  -452542.419578        0.058940
LBFGS:  170 00:44:57  -452542.423206        0.049743
LBFGS:  171 00:45:07  -452542.426963        0.051581
LBFGS:  172 00:45:17  -452542.430671        0.050457
LBFGS:  173 00:45:28  -452542.434242        0.053041
LBFGS:  174 00:45:38  -452542.438114        0.057695
LBFGS:  175 00:45:47  -452542.442321        0.064423
LBFGS:  176 00:45:58  -452542.446880        0.063607
LBFGS:  177 00:46:08  -452542.451450        0.062460
LBFGS:  178 00:46:18  -452542.455898        0.058714
LBFGS:  179 00:46:28  -452542.460163        0.056804
LBFGS:  180 00:46:39  -452542.464351        0.058888
LBFGS:  181 00:46:49  -452542.468601        0.065096
LBFGS:  182 00:46:59  -452542.472934        0.061331
LBFGS:  183 00:47:09  -452542.477321        0.057476
LBFGS:  184 00:47:19  -452542.481479        0.058062
LBFGS:  185 00:47:29  -452542.485363        0.053525
LBFGS:  186 00:47:40  -452542.489231        0.046643
LBFGS:  187 00:47:49  -452542.493145        0.059527
LBFGS:  188 00:48:00  -452542.497051        0.050324
LBFGS:  189 00:48:10  -452542.500698        0.056705
LBFGS:  190 00:48:20  -452542.504123        0.048418
LBFGS:  191 00:48:30  -452542.507400        0.049203
LBFGS:  192 00:48:40  -452542.510711        0.046467
LBFGS:  193 00:48:50  -452542.513992        0.054165
LBFGS:  194 00:49:00  -452542.517440        0.049246
LBFGS:  195 00:49:10  -452542.520996        0.043511
LBFGS:  196 00:49:20  -452542.524620        0.049509
LBFGS:  197 00:49:30  -452542.528194        0.051106
LBFGS:  198 00:49:41  -452542.531776        0.049614
LBFGS:  199 00:49:51  -452542.535377        0.050571
LBFGS:  200 00:50:01  -452542.539009        0.046040
LBFGS:  201 00:50:11  -452542.542442        0.047877
LBFGS:  202 00:50:21  -452542.545707        0.049266
LBFGS:  203 00:50:31  -452542.548866        0.045325
LBFGS:  204 00:50:42  -452542.552150        0.041950
LBFGS:  205 00:50:52  -452542.555713        0.052490
LBFGS:  206 00:51:02  -452542.559700        0.052144
LBFGS:  207 00:51:12  -452542.563816        0.051337
LBFGS:  208 00:51:22  -452542.567832        0.051633
LBFGS:  209 00:51:32  -452542.571514        0.051149
LBFGS:  210 00:51:42  -452542.575004        0.055183
LBFGS:  211 00:51:52  -452542.578395        0.046988
LBFGS:  212 00:52:02  -452542.581626        0.040664
LBFGS:  213 00:52:12  -452542.584495        0.045443
LBFGS:  214 00:52:22  -452542.587196        0.048652
LBFGS:  215 00:52:32  -452542.590076        0.043731
LBFGS:  216 00:52:41  -452542.593265        0.053321
LBFGS:  217 00:52:52  -452542.596462        0.051458
LBFGS:  218 00:53:02  -452542.599559        0.049813
LBFGS:  219 00:53:12  -452542.602371        0.045871
LBFGS:  220 00:53:22  -452542.605022        0.060317
LBFGS:  221 00:53:32  -452542.607406        0.044203
LBFGS:  222 00:53:42  -452542.609733        0.040335
LBFGS:  223 00:53:53  -452542.612110        0.043523
LBFGS:  224 00:54:03  -452542.614730        0.047276
LBFGS:  225 00:54:13  -452542.617488        0.052288
LBFGS:  226 00:54:24  -452542.620361        0.041030
LBFGS:  227 00:54:35  -452542.623394        0.045093
LBFGS:  228 00:54:46  -452542.626609        0.053383
LBFGS:  229 00:54:56  -452542.629875        0.050479
LBFGS:  230 00:55:08  -452542.632995        0.050971
LBFGS:  231 00:55:18  -452542.635913        0.038776
LBFGS:  232 00:55:28  -452542.638759        0.043435
LBFGS:  233 00:55:43  -452542.641571        0.043188
LBFGS:  234 00:55:54  -452542.644466        0.042447
LBFGS:  235 00:56:05  -452542.647583        0.047922
LBFGS:  236 00:56:15  -452542.651008        0.049854
LBFGS:  237 00:56:25  -452542.654514        0.050008
LBFGS:  238 00:56:36  -452542.658042        0.050431
LBFGS:  239 00:56:46  -452542.661472        0.048964
LBFGS:  240 00:56:56  -452542.664886        0.043079
LBFGS:  241 00:57:06  -452542.668094        0.043775
LBFGS:  242 00:57:17  -452542.670990        0.042485
LBFGS:  243 00:57:27  -452542.673542        0.042249
LBFGS:  244 00:57:37  -452542.675914        0.044330
LBFGS:  245 00:57:47  -452542.678298        0.036493
LBFGS:  246 00:57:57  -452542.680725        0.037617
LBFGS:  247 00:58:08  -452542.683090        0.040991
LBFGS:  248 00:58:18  -452542.685569        0.041755
LBFGS:  249 00:58:28  -452542.687915        0.050267
LBFGS:  250 00:58:38  -452542.690033        0.049097
LBFGS:  251 00:58:49  -452542.692001        0.034767
LBFGS:  252 00:58:59  -452542.694114        0.035331
LBFGS:  253 00:59:09  -452542.696426        0.036922
LBFGS:  254 00:59:20  -452542.698810        0.040763
LBFGS:  255 00:59:30  -452542.701107        0.043580
LBFGS:  256 00:59:40  -452542.703357        0.036122
LBFGS:  257 00:59:50  -452542.705791        0.037493
LBFGS:  258 01:00:01  -452542.708404        0.039870
LBFGS:  259 01:00:11  -452542.710983        0.040661
LBFGS:  260 01:00:21  -452542.713527        0.038191
LBFGS:  261 01:00:31  -452542.716064        0.039209
LBFGS:  262 01:00:42  -452542.718540        0.042267
LBFGS:  263 01:00:52  -452542.720775        0.038162
LBFGS:  264 01:01:02  -452542.722820        0.031929
LBFGS:  265 01:01:13  -452542.724803        0.032662
LBFGS:  266 01:01:23  -452542.726875        0.031645
LBFGS:  267 01:01:33  -452542.729026        0.036289
LBFGS:  268 01:01:44  -452542.731201        0.033823
LBFGS:  269 01:01:54  -452542.733364        0.037905
LBFGS:  270 01:02:04  -452542.735492        0.035952
LBFGS:  271 01:02:15  -452542.737426        0.040271
LBFGS:  272 01:02:25  -452542.739196        0.036634
LBFGS:  273 01:02:36  -452542.741001        0.032404
LBFGS:  274 01:02:46  -452542.742855        0.031843
LBFGS:  275 01:02:56  -452542.744617        0.031439
LBFGS:  276 01:03:07  -452542.746219        0.029525
```

```:GPU
       Step     Time          Energy          fmax
LBFGS:    0 01:03:26  -452517.666173       19.835621
LBFGS:    1 01:03:26  -452526.821718        6.149104
LBFGS:    2 01:03:27  -452531.525165        3.344012
LBFGS:    3 01:03:27  -452534.512863        2.808691
LBFGS:    4 01:03:27  -452535.521921        1.925726
LBFGS:    5 01:03:28  -452536.277635        1.448719
LBFGS:    6 01:03:28  -452537.046926        1.585292
LBFGS:    7 01:03:29  -452537.574291        0.980445
LBFGS:    8 01:03:29  -452538.003543        0.831254
LBFGS:    9 01:03:29  -452538.313598        0.878633
LBFGS:   10 01:03:30  -452538.543060        0.724931
LBFGS:   11 01:03:30  -452538.776767        0.592139
LBFGS:   12 01:03:30  -452539.057621        0.666980
LBFGS:   13 01:03:31  -452539.314308        0.726378
LBFGS:   14 01:03:31  -452539.532093        0.583313
LBFGS:   15 01:03:32  -452539.697155        0.427009
LBFGS:   16 01:03:32  -452539.841636        0.443812
LBFGS:   17 01:03:32  -452539.989864        0.485564
LBFGS:   18 01:03:33  -452540.124149        0.456904
LBFGS:   19 01:03:33  -452540.226924        0.439189
LBFGS:   20 01:03:33  -452540.321247        0.383025
LBFGS:   21 01:03:34  -452540.423061        0.369686
LBFGS:   22 01:03:34  -452540.517257        0.355262
LBFGS:   23 01:03:34  -452540.597934        0.361123
LBFGS:   24 01:03:35  -452540.674514        0.389857
LBFGS:   25 01:03:35  -452540.749626        0.315862
LBFGS:   26 01:03:35  -452540.816333        0.279586
LBFGS:   27 01:03:36  -452540.870513        0.273134
LBFGS:   28 01:03:36  -452540.918388        0.315816
LBFGS:   29 01:03:37  -452540.962146        0.260959
LBFGS:   30 01:03:37  -452541.006450        0.238206
LBFGS:   31 01:03:37  -452541.045028        0.238482
LBFGS:   32 01:03:38  -452541.079971        0.304746
LBFGS:   33 01:03:38  -452541.115352        0.329883
LBFGS:   34 01:03:38  -452541.150775        0.236581
LBFGS:   35 01:03:39  -452541.185646        0.192435
LBFGS:   36 01:03:39  -452541.212890        0.205813
LBFGS:   37 01:03:39  -452541.236431        0.240569
LBFGS:   38 01:03:40  -452541.260032        0.223195
LBFGS:   39 01:03:40  -452541.281776        0.201173
LBFGS:   40 01:03:40  -452541.305496        0.244016
LBFGS:   41 01:03:41  -452541.331375        0.238450
LBFGS:   42 01:03:41  -452541.354667        0.198776
LBFGS:   43 01:03:42  -452541.373947        0.192019
LBFGS:   44 01:03:42  -452541.392288        0.184455
LBFGS:   45 01:03:42  -452541.410419        0.166643
LBFGS:   46 01:03:43  -452541.428737        0.184071
LBFGS:   47 01:03:43  -452541.445999        0.146576
LBFGS:   48 01:03:43  -452541.461231        0.154644
LBFGS:   49 01:03:44  -452541.474960        0.180307
LBFGS:   50 01:03:44  -452541.493244        0.192279
LBFGS:   51 01:03:44  -452541.509853        0.160246
LBFGS:   52 01:03:45  -452541.528934        0.147486
LBFGS:   53 01:03:45  -452541.544055        0.133550
LBFGS:   54 01:03:45  -452541.562076        0.129435
LBFGS:   55 01:03:46  -452541.577190        0.135741
LBFGS:   56 01:03:46  -452541.591495        0.159299
LBFGS:   57 01:03:47  -452541.606514        0.154724
LBFGS:   58 01:03:47  -452541.620224        0.112743
LBFGS:   59 01:03:47  -452541.632278        0.124542
LBFGS:   60 01:03:48  -452541.643772        0.131535
LBFGS:   61 01:03:48  -452541.656402        0.130401
LBFGS:   62 01:03:48  -452541.671398        0.123749
LBFGS:   63 01:03:49  -452541.687000        0.146043
LBFGS:   64 01:03:49  -452541.701637        0.160180
LBFGS:   65 01:03:49  -452541.714458        0.131757
LBFGS:   66 01:03:50  -452541.729034        0.122690
LBFGS:   67 01:03:50  -452541.740642        0.118548
LBFGS:   68 01:03:50  -452541.751464        0.109612
LBFGS:   69 01:03:51  -452541.761322        0.115347
LBFGS:   70 01:03:51  -452541.771923        0.109713
LBFGS:   71 01:03:52  -452541.782314        0.096790
LBFGS:   72 01:03:52  -452541.793479        0.109098
LBFGS:   73 01:03:52  -452541.804805        0.145719
LBFGS:   74 01:03:53  -452541.817298        0.145109
LBFGS:   75 01:03:53  -452541.827159        0.132379
LBFGS:   76 01:03:53  -452541.839988        0.143841
LBFGS:   77 01:03:54  -452541.850662        0.115541
LBFGS:   78 01:03:54  -452541.857921        0.105119
LBFGS:   79 01:03:54  -452541.866725        0.127623
LBFGS:   80 01:03:55  -452541.873699        0.101685
LBFGS:   81 01:03:55  -452541.882141        0.100558
LBFGS:   82 01:03:56  -452541.891193        0.112535
LBFGS:   83 01:03:56  -452541.900180        0.119455
LBFGS:   84 01:03:56  -452541.908985        0.130289
LBFGS:   85 01:03:57  -452541.919513        0.114481
LBFGS:   86 01:03:57  -452541.927604        0.110026
LBFGS:   87 01:03:57  -452541.938167        0.090709
LBFGS:   88 01:03:58  -452541.945980        0.079520
LBFGS:   89 01:03:58  -452541.952590        0.099031
LBFGS:   90 01:03:58  -452541.958320        0.105763
LBFGS:   91 01:03:59  -452541.963073        0.076213
LBFGS:   92 01:03:59  -452541.971000        0.087027
LBFGS:   93 01:04:00  -452541.977935        0.070992
LBFGS:   94 01:04:00  -452541.984848        0.087419
LBFGS:   95 01:04:00  -452541.992469        0.093474
LBFGS:   96 01:04:01  -452541.999469        0.079980
LBFGS:   97 01:04:01  -452542.008884        0.083603
LBFGS:   98 01:04:01  -452542.016151        0.089075
LBFGS:   99 01:04:02  -452542.024108        0.072694
LBFGS:  100 01:04:02  -452542.030376        0.070931
LBFGS:  101 01:04:02  -452542.037307        0.084624
LBFGS:  102 01:04:03  -452542.044036        0.089374
LBFGS:  103 01:04:03  -452542.051116        0.089589
LBFGS:  104 01:04:04  -452542.060478        0.085496
LBFGS:  105 01:04:04  -452542.065147        0.076243
LBFGS:  106 01:04:04  -452542.072502        0.073002
LBFGS:  107 01:04:05  -452542.078556        0.074895
LBFGS:  108 01:04:05  -452542.085166        0.071647
LBFGS:  109 01:04:05  -452542.091060        0.084871
LBFGS:  110 01:04:06  -452542.097801        0.071438
LBFGS:  111 01:04:06  -452542.101516        0.072048
LBFGS:  112 01:04:06  -452542.109115        0.080040
LBFGS:  113 01:04:07  -452542.113807        0.079595
LBFGS:  114 01:04:07  -452542.121856        0.081713
LBFGS:  115 01:04:08  -452542.130531        0.083539
LBFGS:  116 01:04:08  -452542.135864        0.081665
LBFGS:  117 01:04:08  -452542.142307        0.071479
LBFGS:  118 01:04:09  -452542.148555        0.089443
LBFGS:  119 01:04:09  -452542.154941        0.080469
LBFGS:  120 01:04:09  -452542.161281        0.077507
LBFGS:  121 01:04:10  -452542.166305        0.089881
LBFGS:  122 01:04:10  -452542.176113        0.080403
LBFGS:  123 01:04:10  -452542.182136        0.082550
LBFGS:  124 01:04:11  -452542.190681        0.082713
LBFGS:  125 01:04:11  -452542.198524        0.071505
LBFGS:  126 01:04:12  -452542.207511        0.072910
LBFGS:  127 01:04:12  -452542.212810        0.090127
LBFGS:  128 01:04:12  -452542.222118        0.085164
LBFGS:  129 01:04:13  -452542.227333        0.063173
LBFGS:  130 01:04:13  -452542.234245        0.075361
LBFGS:  131 01:04:13  -452542.239654        0.074412
LBFGS:  132 01:04:14  -452542.246467        0.076754
LBFGS:  133 01:04:14  -452542.252586        0.066457
LBFGS:  134 01:04:14  -452542.255024        0.072518
LBFGS:  135 01:04:15  -452542.259605        0.063907
LBFGS:  136 01:04:15  -452542.265651        0.064034
LBFGS:  137 01:04:16  -452542.271881        0.057594
LBFGS:  138 01:04:16  -452542.278911        0.057086
LBFGS:  139 01:04:16  -452542.282428        0.052452
LBFGS:  140 01:04:17  -452542.287052        0.066540
LBFGS:  141 01:04:17  -452542.291153        0.064761
LBFGS:  142 01:04:17  -452542.295532        0.061795
LBFGS:  143 01:04:18  -452542.300190        0.060040
LBFGS:  144 01:04:18  -452542.306198        0.061956
LBFGS:  145 01:04:18  -452542.309101        0.057298
LBFGS:  146 01:04:19  -452542.315853        0.054651
LBFGS:  147 01:04:19  -452542.318187        0.066330
LBFGS:  148 01:04:20  -452542.324417        0.072125
LBFGS:  149 01:04:20  -452542.330677        0.067807
LBFGS:  150 01:04:20  -452542.335399        0.058222
LBFGS:  151 01:04:21  -452542.338764        0.048763
LBFGS:  152 01:04:21  -452542.343696        0.056170
LBFGS:  153 01:04:21  -452542.348903        0.056935
LBFGS:  154 01:04:22  -452542.353675        0.056905
LBFGS:  155 01:04:22  -452542.357196        0.066935
LBFGS:  156 01:04:23  -452542.363597        0.058076
LBFGS:  157 01:04:23  -452542.368858        0.067571
LBFGS:  158 01:04:23  -452542.372608        0.062652
LBFGS:  159 01:04:24  -452542.375305        0.062627
LBFGS:  160 01:04:24  -452542.380241        0.057626
LBFGS:  161 01:04:24  -452542.384433        0.051937
LBFGS:  162 01:04:25  -452542.389308        0.045226
LBFGS:  163 01:04:25  -452542.391861        0.056010
LBFGS:  164 01:04:25  -452542.394832        0.052111
LBFGS:  165 01:04:26  -452542.399574        0.062861
LBFGS:  166 01:04:26  -452542.404495        0.055981
LBFGS:  167 01:04:27  -452542.407520        0.056647
LBFGS:  168 01:04:27  -452542.411296        0.059152
LBFGS:  169 01:04:27  -452542.415363        0.057686
LBFGS:  170 01:04:28  -452542.420471        0.060669
LBFGS:  171 01:04:28  -452542.423080        0.067587
LBFGS:  172 01:04:28  -452542.427124        0.051422
LBFGS:  173 01:04:29  -452542.429832        0.057615
LBFGS:  174 01:04:29  -452542.433437        0.053546
LBFGS:  175 01:04:29  -452542.437995        0.067298
LBFGS:  176 01:04:30  -452542.443340        0.076403
LBFGS:  177 01:04:30  -452542.445743        0.070372
LBFGS:  178 01:04:31  -452542.450378        0.051934
LBFGS:  179 01:04:31  -452542.454639        0.056162
LBFGS:  180 01:04:31  -452542.459831        0.060028
LBFGS:  181 01:04:32  -452542.462387        0.054753
LBFGS:  182 01:04:32  -452542.467182        0.052622
LBFGS:  183 01:04:32  -452542.471206        0.058425
LBFGS:  184 01:04:33  -452542.476524        0.053126
LBFGS:  185 01:04:33  -452542.480251        0.050070
LBFGS:  186 01:04:33  -452542.484489        0.049137
LBFGS:  187 01:04:34  -452542.487567        0.055258
LBFGS:  188 01:04:34  -452542.494358        0.055857
LBFGS:  189 01:04:35  -452542.496650        0.049583
LBFGS:  190 01:04:35  -452542.501583        0.043539
LBFGS:  191 01:04:35  -452542.502376        0.050299
LBFGS:  192 01:04:36  -452542.507335        0.045368
LBFGS:  193 01:04:36  -452542.510219        0.044985
LBFGS:  194 01:04:36  -452542.513019        0.051113
LBFGS:  195 01:04:37  -452542.515445        0.053974
LBFGS:  196 01:04:37  -452542.521156        0.054239
LBFGS:  197 01:04:38  -452542.522735        0.049646
LBFGS:  198 01:04:38  -452542.526889        0.046866
LBFGS:  199 01:04:38  -452542.530361        0.047899
LBFGS:  200 01:04:39  -452542.534961        0.048942
LBFGS:  201 01:04:39  -452542.537803        0.046023
LBFGS:  202 01:04:39  -452542.542053        0.046956
LBFGS:  203 01:04:40  -452542.544067        0.040363
LBFGS:  204 01:04:40  -452542.547676        0.049377
LBFGS:  205 01:04:40  -452542.550563        0.045506
LBFGS:  206 01:04:41  -452542.554466        0.042843
LBFGS:  207 01:04:41  -452542.558357        0.049164
LBFGS:  208 01:04:42  -452542.561626        0.052845
LBFGS:  209 01:04:42  -452542.566555        0.049954
LBFGS:  210 01:04:42  -452542.570068        0.045590
LBFGS:  211 01:04:43  -452542.572769        0.042973
LBFGS:  212 01:04:43  -452542.576355        0.047200
LBFGS:  213 01:04:43  -452542.579246        0.049534
LBFGS:  214 01:04:44  -452542.581729        0.040574
LBFGS:  215 01:04:44  -452542.584892        0.041293
LBFGS:  216 01:04:45  -452542.588031        0.048310
LBFGS:  217 01:04:45  -452542.591720        0.049372
LBFGS:  218 01:04:45  -452542.594112        0.037771
LBFGS:  219 01:04:46  -452542.597129        0.047435
LBFGS:  220 01:04:46  -452542.600734        0.042661
LBFGS:  221 01:04:46  -452542.602375        0.036399
LBFGS:  222 01:04:47  -452542.606765        0.041447
LBFGS:  223 01:04:47  -452542.608009        0.035973
LBFGS:  224 01:04:47  -452542.610569        0.040590
LBFGS:  225 01:04:48  -452542.612503        0.046445
LBFGS:  226 01:04:48  -452542.615200        0.039841
LBFGS:  227 01:04:49  -452542.618316        0.041343
LBFGS:  228 01:04:49  -452542.620903        0.041987
LBFGS:  229 01:04:49  -452542.624919        0.056738
LBFGS:  230 01:04:50  -452542.627571        0.047685
LBFGS:  231 01:04:50  -452542.630363        0.042569
LBFGS:  232 01:04:50  -452542.634471        0.045577
LBFGS:  233 01:04:51  -452542.636577        0.036840
LBFGS:  234 01:04:51  -452542.640251        0.038714
LBFGS:  235 01:04:52  -452542.642742        0.047969
LBFGS:  236 01:04:52  -452542.646137        0.047584
LBFGS:  237 01:04:52  -452542.648258        0.053639
LBFGS:  238 01:04:53  -452542.651653        0.050272
LBFGS:  239 01:04:53  -452542.653846        0.044469
LBFGS:  240 01:04:53  -452542.658798        0.053356
LBFGS:  241 01:04:54  -452542.662090        0.047043
LBFGS:  242 01:04:54  -452542.664749        0.040917
LBFGS:  243 01:04:54  -452542.667694        0.042314
LBFGS:  244 01:04:55  -452542.670787        0.039968
LBFGS:  245 01:04:55  -452542.672458        0.038937
LBFGS:  246 01:04:56  -452542.677135        0.043878
LBFGS:  247 01:04:56  -452542.677185        0.047536
LBFGS:  248 01:04:56  -452542.681743        0.039857
LBFGS:  249 01:04:57  -452542.683162        0.038993
LBFGS:  250 01:04:57  -452542.686199        0.036076
LBFGS:  251 01:04:57  -452542.687290        0.034429
LBFGS:  252 01:04:58  -452542.689075        0.036826
LBFGS:  253 01:04:58  -452542.691501        0.039804
LBFGS:  254 01:04:59  -452542.693557        0.038328
LBFGS:  255 01:04:59  -452542.694980        0.041195
LBFGS:  256 01:04:59  -452542.698478        0.045980
LBFGS:  257 01:05:00  -452542.701133        0.038297
LBFGS:  258 01:05:00  -452542.702869        0.038867
LBFGS:  259 01:05:00  -452542.705162        0.040391
LBFGS:  260 01:05:01  -452542.707759        0.043106
LBFGS:  261 01:05:01  -452542.709968        0.043874
LBFGS:  262 01:05:02  -452542.713504        0.036210
LBFGS:  263 01:05:02  -452542.714847        0.040469
LBFGS:  264 01:05:02  -452542.717552        0.039176
LBFGS:  265 01:05:03  -452542.720840        0.046139
LBFGS:  266 01:05:03  -452542.722332        0.038285
LBFGS:  267 01:05:03  -452542.724475        0.034612
LBFGS:  268 01:05:04  -452542.726127        0.039285
LBFGS:  269 01:05:04  -452542.727348        0.037254
LBFGS:  270 01:05:04  -452542.731967        0.034547
LBFGS:  271 01:05:05  -452542.733402        0.034891
LBFGS:  272 01:05:05  -452542.735897        0.035649
LBFGS:  273 01:05:06  -452542.737098        0.035092
LBFGS:  274 01:05:06  -452542.737712        0.038817
LBFGS:  275 01:05:06  -452542.740348        0.030400
LBFGS:  276 01:05:07  -452542.742874        0.029249
```

</details>

> 最適化後の構造は以下のようになった。
> 
> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697094/875ba9d9-19e0-4904-9656-523174e6f25a.png)


# まとめ

ここまで、fairchem-coreを導入し、UMAポテンシャルを用いた計算環境を整備した。実際にUMAモデルを用いていくつかの有機分子のエネルギー計算を行い、リファレンスとしてORCAによる計算値とも比較した。また、CPU版とGPU版の推論速度を比較し、GPU版では大幅な高速化が可能であることを確認した。

本稿では簡単なテスト計算のみであったが、検証した範囲ではエネルギー精度は概ね良好であった。今後、金属元素を含む系や電荷を有する分子についても更なる検証が必要である。近くリリース予定のmiddleモデルやlargeモデルについても、より高い汎用性や精度が期待される。

今後、他のニューラルネットワークポテンシャル（NNP）との性能比較ベンチマークも報告されると考えられるため、それらの結果も参考にしつつ、大規模な反応経路探索や分子動力学（MD）シミュレーションへの応用を推奨したい。

# 【参考】whlファイルの一括ダウンロードについて

`fairchem-core-2.2.0` 用の仮想環境を `activate` した後に
```
pip freeze > requirements.txt
```
を実行して得られる`requirements.txt`に各種パッケージのバージョンが書き出される。

例えば `Python3.12` 対応かつ `glibc_2_17` 対応の `linux_x86_64` 版パッケージを一括ダウンロードしたい場合、以下のコマンドを実行する。

```:CPU版パッケージのダウンロード
  pip download \
    --requirement requirements.txt \
    --dest ./wheels \
    --platform linux_x86_64 \
    --platform manylinux1_x86_64 \
    --platform manylinux2010_x86_64 \
    --platform manylinux2014_x86_64 \
    --platform manylinux_2_17_x86_64 \
    --python-version 3.12 \
    --abi cp312 \
    --implementation cp \
    --only-binary=:all: \
    --index-url https://pypi.org/simple/ \
    --extra-index-url https://pypi.python.org/simple/ \
    --extra-index-url https://download.pytorch.org/whl/cpu
```


<details><summary>【requirements.txt の例】</summary>

```:requirements.txt の例
absl-py==2.3.0
annotated-types==0.7.0
antlr4-python3-runtime==4.9.3
ase==3.25.0
ase_db_backends==0.10.0
bibtexparser==1.4.3
certifi==2025.4.26
cffi==1.17.1
charset-normalizer==3.4.2
click==8.2.1
cloudpickle==3.1.1
contourpy==1.3.2
cryptography==45.0.3
cycler==0.12.1
e3nn==0.5.6
fairchem-core==2.2.0
filelock==3.13.1
fonttools==4.58.2
fsspec==2024.6.1
gitdb==4.0.12
GitPython==3.1.44
grpcio==1.72.1
hf-xet==1.1.3
huggingface-hub==0.32.4
hydra-core==1.3.2
idna==3.10
Jinja2==3.1.4
joblib==1.5.1
kiwisolver==1.4.8
llvmlite==0.44.0
lmdb==1.6.2
Markdown==3.8
MarkupSafe==2.1.5
matplotlib==3.10.3
monty==2025.3.3
mpmath==1.3.0
mypy_extensions==1.1.0
narwhals==1.41.1
networkx==3.3
numba==0.61.2
numpy==2.2.6
nvidia-cublas-cu12==12.6.4.1
nvidia-cuda-cupti-cu12==12.6.80
nvidia-cuda-nvrtc-cu12==12.6.77
nvidia-cuda-runtime-cu12==12.6.77
nvidia-cudnn-cu12==9.5.0.50
nvidia-cufft-cu12==11.3.0.4
nvidia-curand-cu12==10.3.7.77
nvidia-cusolver-cu12==11.7.1.2
nvidia-cusparse-cu12==12.5.4.2
nvidia-cusparselt-cu12==0.6.3
nvidia-nccl-cu12==2.21.5
nvidia-nvjitlink-cu12==12.6.85
nvidia-nvtx-cu12==12.6.77
omegaconf==2.3.0
opt-einsum-fx==0.1.4
opt_einsum==3.4.0
orjson==3.10.18
packaging==25.0
palettable==3.3.3
pandas==2.3.0
pillow==11.2.1
platformdirs==4.3.8
plotly==6.1.2
protobuf==6.31.1
psutil==7.0.0
psycopg2-binary==2.9.10
pycparser==2.22
pydantic==2.11.5
pydantic_core==2.33.2
pymatgen==2025.5.28
PyMySQL==1.1.1
pyparsing==3.2.3
pyre-extensions==0.0.32
python-dateutil==2.9.0.post0
pytz==2025.2
PyYAML==6.0.2
requests==2.32.3
ruamel.yaml==0.18.13
ruamel.yaml.clib==0.2.12
scipy==1.15.3
sentry-sdk==2.29.1
setproctitle==1.3.6
setuptools==78.1.1
six==1.17.0
smmap==5.0.2
spglib==2.6.0
submitit==1.5.3
sympy==1.13.1
tabulate==0.9.0
tensorboard==2.19.0
tensorboard-data-server==0.7.2
torch==2.6.0
torchtnt==0.2.4
tqdm==4.67.1
triton==3.2.0
typing-inspect==0.9.0
typing-inspection==0.4.1
typing_extensions==4.12.2
tzdata==2025.2
uncertainties==3.2.3
urllib3==2.4.0
wandb==0.20.1
Werkzeug==3.1.3
wheel==0.45.1
```

</details>

> ただし上記の場合はCPU版のPyTorchがインストールされる。GPU対応版をインストールする場合はrequirements.txtのtorchの行を `torch==2.6.0+cu126` に変更し、`pip download` のオプションを以下のように変更する。
> ```:GPU版パッケージのダウンロード
>   pip download \
>     --requirement requirements.txt \
>     --dest ./wheels \
>     --platform manylinux2014_x86_64 \
>     --platform manylinux_2_17_x86_64 \
>     --python-version 3.12 \
>     --abi cp312 \
>     --implementation cp \
>     --only-binary=:all: \
>     --index-url https://download.pytorch.org/whl/cu126 \
>     --extra-index-url https://pypi.org/simple/ \
>     --extra-index-url https://pypi.python.org/simple/
> ```
> `index-url`をPyPIのままにしてしまうとCPU対応版のPyTorchが先に見つかってしまい、GPU対応版PyTorchがダウンロードできなくなってしまう。そのため、`index-url`にはPyTorchのURLを指定する必要がある。
> また、一部のライブラリについてはソースコード（tar.gz）を別途入手する必要がある。

ダウンロードされたパッケージは `./wheels` に置かれるので、これをtarで圧縮するなどして所望の環境に移動すればよい。このときrequirements.txtも一緒に移動すること。

展開後、仮想環境を立ち上げて以下のコマンドを実行する。

```
pip install --find-links ./wheels --no-index -r requirements.txt
```


# 補足資料

<details><summary>【C4化合物の座標】</summary>

```:butane_cis.xyz
14
Coordinates for butane_cis
  C          -0.45626403761155     -0.21828760445967     -1.45108540706761
  H          -1.50096201028764     -0.45707155522402     -1.23822997955834
  H           0.14705413039995     -1.07995265739171     -1.16326266612702
  H          -0.16836197699003      0.61260873234773     -0.80610132729148
  C          -0.26763646428860      0.11978677067875     -2.92585839474876
  H           0.77920529088884      0.38188745993094     -3.11020481755513
  H          -0.47086806358281     -0.77022622874538     -3.52689137216225
  C          -1.15965356913750      1.26075328510539     -3.41180054618367
  H          -1.04039747151852      1.36926233454463     -4.49285024092344
  H          -2.20737358835563      0.99092613880135     -3.24437273802820
  C          -0.86436601226933      2.59700621428798     -2.73928242662960
  H          -1.47511866260798      3.39537567493964     -3.16229164344915
  H          -1.06604580466478      2.56351092924304     -1.66809624049792
  H           0.18403578942857      2.87473326504332     -2.87148780142440
```

```:butane_trans.xyz
14
Coordinates for butane_trans
  C          -0.45368627158607     -0.21206658938994     -1.46185868071740
  H          -1.48501846433364     -0.50449598387288     -1.25368791581930
  H           0.19464144017124     -1.03011550419494     -1.14622643300330
  H          -0.22512838406441      0.65466967770936     -0.83820496855113
  C          -0.26858323784226      0.11667979844520     -2.93752836763169
  H           0.77631107958275      0.38019489949569     -3.12929372936480
  H          -0.47430567760128     -0.77147541123958     -3.54310198233371
  C          -1.16421598579625      1.25757037405228     -3.40510203046878
  H          -2.20926773600897      0.99335821112384     -3.21543133188157
  H          -0.95984475454321      2.14499326858749     -2.79791363465787
  C          -0.97682353086737      1.58863393512854     -4.87996112392855
  H          -1.62649122384689      2.40558842120560     -5.19574362364901
  H           0.05430707518215      1.88372123790995     -5.08510514670058
  H          -1.20225036262080      0.72261652795739     -5.50580196444730
```

```:butene_cis.xyz
12
Coordinates for butene_cis
  C           0.08424233599090     -0.11259801494431     -1.57653590835079
  H          -0.11970892018818      0.71795925199968     -0.90406227194062
  H          -0.43530748734101     -0.99261239441347     -1.19079697217522
  H           1.15329378371080     -0.33094703962964     -1.52587359142069
  C          -0.32941984183713      0.16607138030855     -2.98940823131744
  H          -0.13949976705610     -0.63822986330852     -3.69411494178991
  C          -0.89338112972921      1.27115604259994     -3.46437285158492
  H          -1.12578119540920      1.29482945488792     -4.52500887664052
  C          -1.25457178858738      2.51020071568037     -2.70339800494228
  H          -2.32420365407744      2.71462251026826     -2.78846140608475
  H          -1.01008943060889      2.44293617584891     -1.64546738859095
  H          -0.73468049100515      3.37862339773030     -3.11412559194486
```

```:butene_trans.xyz
12
Coordinates for butene_trans
  C          -0.07390236803001     -0.05999279423152     -1.57706528261144
  H          -0.30382497102009      0.85337987194408     -1.02808061857366
  H          -0.56784133497235     -0.89387412101111     -1.07328916622820
  H           1.00128222302749     -0.23893064748105     -1.50609846065028
  C          -0.51082571793853      0.04295953077080     -3.00540570037970
  H          -0.32069622413641     -0.82302826084910     -3.63598147215858
  C          -1.10277856599522      1.10026833150590     -3.54280930822588
  H          -1.29249444754356      1.96634439711240     -2.91222864025164
  C          -1.53956817004947      1.20345765468552     -4.97117060271770
  H          -1.30851460045663      0.29075632596927     -5.52078254604749
  H          -2.61495108850415      1.38118989415075     -5.04223690575454
  H          -1.04647012866206      2.03828466304005     -5.47420214902689
```

```
12
A distorted coordinates for butene_cis (input structure)
C    -0.705046643753     -0.725942808188     -1.845644084552
H    -1.128368971093     -0.180600594979     -1.004785976484
H    -1.436323955330     -1.472010062375     -2.164656622989
H     0.167608947308     -1.274888424020     -1.484749508450
C    -0.329419841837      0.166071380309     -2.989408231317
H    -0.157360970226     -0.523707990719     -3.810493998505
C    -0.949323702954      1.318909071686     -3.216433110769
H    -1.733487772475      1.322638180646     -3.967826352980
C    -0.931794636213      3.016524533083     -2.460845653561
H    -1.912284650043      3.262459260679     -2.046971490885
H    -0.197777911763      3.117148429011     -1.664223026158
H    -0.711596357321      3.772019931410     -3.218395313851
```

</details>

<details><summary>【クライゼン転位の各構造の座標】</summary>

クライゼン転位の反応物：

```:claisen_rct.xyz
14
The RCT for claisen rearrangement of allyl vinyl ether
  C          -0.95828687606299      0.34720368883157     -5.00897014694143
  O          -0.59664926419534      1.47063257779500     -4.33367651320257
  C           0.79420726608380      1.78211839554579     -4.38622768963203
  C           1.61830581558901      0.82299935116836     -3.58443312879385
  C           2.66190069082371      0.16857571507165     -4.06877390622584
  C          -2.19272430907355     -0.12886017538449     -4.97965103489850
  H          -0.16627982868148     -0.12762706099480     -5.58111965164397
  H          -2.43541496171351     -1.01200850377880     -5.54997957387751
  H          -2.96723928054255      0.35075211652599     -4.39737378049682
  H           1.13790644276250      1.80737175808989     -5.42572752783714
  H           0.87012732770476      2.78984147883659     -3.97797809121587
  H           1.31083816524697      0.68540799411307     -2.55249609105285
  H           2.97175185676174      0.29054800942258     -5.10082480578105
  H           3.24672235026993     -0.50336287898539     -3.45483681066156
```

クライゼン転位の遷移状態：

```:claisen_ts.xyz
14
The TS for claisen rearrangement of allyl vinyl ether
  C          -0.90543502927919      0.64442365169854     -5.14048055452429
  O          -0.77749357068573      1.74927919727154     -4.50447803160282
  C           1.04783568251424      2.03729843169715     -4.22271601984667
  C           1.42472872692340      0.85608508611517     -3.58688742407350
  C           1.41158219438336     -0.31555341526835     -4.31086042949386
  C          -0.77803344408384     -0.58021161251713     -4.52938683241473
  H          -0.90956226236003      0.67938051513908     -6.23822491829570
  H          -0.91037071543998     -1.48309074007011     -5.11335790585425
  H          -0.90827797691070     -0.65913241224689     -3.45996355564752
  H           1.28661717997436      2.17235789316551     -5.26964871771412
  H           0.95776257991063      2.95422668580626     -3.65868759638935
  H           1.36368100718599      0.80809537385713     -2.50618412767186
  H           1.60559651058365     -0.29610940171860     -5.37491243869715
  H           1.58655321915385     -1.26957408090830     -3.83052633150214
```

クライゼン転位の生成物：

```:claisen_prd.xyz
14
The PRD for claisen rearrangement of allyl vinyl ether
  C          -1.00190271613351      0.80245252216766     -5.16863498749949
  O          -1.99597608990912      1.38267408803826     -4.82483594612584
  C           2.28376907265457      1.94393042897168     -3.98237988340149
  C           1.55215105327906      0.93736787635736     -3.52969244252763
  C           1.13172441180940     -0.24782817987801     -4.34709357706182
  C          -0.39335360351058     -0.36532422596838     -4.43817586753785
  H          -0.46590829119434      1.10778760547454     -6.09238803859260
  H          -0.65921761353629     -1.26639386427655     -5.00140227521387
  H          -0.85671832156865     -0.43951387816410     -3.45366482320147
  H           2.64659669413719      1.96159052050692     -5.00411191921150
  H           2.54740159347276      2.78162816190157     -3.35071024931197
  H           1.19942163146488      0.95664274694501     -2.50155372711832
  H           1.56012213518141     -0.17175184640090     -5.35018536742566
  H           1.52684022747121     -1.16455710962703     -3.90285343162147
```

</details>

<details><summary>【L-システインの各構造の座標】</summary>

```:分子内水素結合なしの初期構造（UMAとORCAで共通）
C     1.483978416475     -0.277455946439     -1.370709416152
C     1.372733772524     -0.297739230705      0.165895257001
C     2.263207442341     -1.420986589089      0.730265574089
N     1.814835753730      0.996593424340      0.706968648973
O     3.475522477090     -1.284581682810      0.753892623133
O     1.672122806884     -2.641450500092      1.185482786321
S     0.437470333371      1.042239143657     -2.034073875832
H     1.158913684711     -1.228406340829     -1.768011239108
H     2.511189519767     -0.099539963277     -1.655297654661
H     0.345597941179     -0.475304245392      0.450247645808
H     1.743292590594      0.983106961328      1.715286560714
H     1.231758457842      1.734519967524      0.336222608612
H     0.725446240710     -2.795087827528      1.138198165908
H     0.456231973375      1.217516021374     -3.362439398096
```

```:分子内水素結合ありの初期構造（UMAとORCAで共通）
C     1.483978416475     -0.277455946439     -1.370709416152
C     1.372733772524     -0.297739230705      0.165895257001
C     2.263207442341     -1.420986589089      0.730265574089
N     1.814835753730      0.996593424340      0.706968648973
O     3.475522477090     -1.284581682810      0.753892623133
O     1.672122806884     -2.641450500092      1.185482786321
S     0.437470333371      1.042239143657     -2.034073875832
H     1.158913684711     -1.228406340829     -1.768011239108
H     2.511189519767     -0.099539963277     -1.655297654661
H     0.345597941179     -0.475304245392      0.450247645808
H     1.743292590594      0.983106961328      1.715286560714
H     1.231758457842      1.734519967524      0.336222608612
H     2.826683573958      1.325271126320      0.477691987405
H     0.456231973375      1.217516021374     -3.362439398096
```

```:分子内水素結合なし（UMA）
14
Properties=species:S:1:pos:R:3:forces:R:3 charge=0 spin=1 energy=-19645.16843530807 stress="-0.015272552147507668 -0.002861426677554846 0.000481288181617856 -0.002861426677554846 -0.013819992542266846 -0.00515572028234601 0.000481288181617856 -0.00515572028234601 -0.0011064920108765364" free_energy=-19645.16843530807 pbc="F F F"
C        1.43812817      -0.55309955      -1.42055605
C        1.27357039      -0.22805762       0.06973231
C        2.10437237      -1.23713653       0.86686272
N        1.66851132       1.14245182       0.31892053
O        3.19144995      -0.99870450       1.30424945
O        1.55886055      -2.46492335       1.01882522
S        0.28341766       0.36765206      -2.46516346
H        1.24544157      -1.60845006      -1.61761437
H        2.46749981      -0.34775326      -1.71709178
H        0.21778455      -0.34138624       0.33198193
H        2.68091369       1.18592639       0.38307373
H        1.31013429       1.46304743       1.20910776
H        0.66990136      -2.48811536       0.64392866
H        0.58231537       1.56197067      -1.93432727
```

```:分子内水素結合なし（ORCA）
14
Coordinates from ORCA-job peptide1 E -721.946673319190
  C           1.45489591067881     -0.52091115051120     -1.42670180347240
  C           1.26876768504770     -0.23741111601701      0.06928495502783
  C           2.09601676759815     -1.26116764437985      0.85213246578316
  N           1.65007242651661      1.12845143347454      0.36173302023359
  O           3.17118935640740     -1.02369400096258      1.31873286095141
  O           1.56208656458764     -2.49882023892493      0.95773597610942
  S           0.31019908579448      0.42250147113577     -2.46184519629235
  H           1.26942664652047     -1.57129707904918     -1.65510898779856
  H           2.48706745014258     -0.30314262539267     -1.70379737227661
  H           0.21058402891102     -0.36617667904640      0.31463083329952
  H           2.66049294717432      1.17468234540019      0.45342881021672
  H           1.26709134403021      1.42589924700586      1.24984950083067
  H           0.68094902198139     -2.52089734881379      0.56483307473524
  H           0.60346217520218      1.60540657814326     -1.90297985063762
```

```:分子内水素結合あり（UMA）
14
Properties=species:S:1:pos:R:3:forces:R:3 charge=0 spin=1 energy=-19645.33663389358 stress="-0.01067496370524168 -0.015448457561433315 -0.009271287359297276 -0.015448457561433315 0.016899939626455307 -0.004302574787288904 -0.009271287359297276 -0.004302574787288904 -0.010466237552464008" free_energy=-19645.33663389358 pbc="F F F"
C        1.28941693      -0.28259118      -1.35454565
C        1.30556362      -0.21261912       0.17262001
C        2.26215907      -1.31248942       0.65121289
N        1.77136418       1.09465408       0.62415607
O        3.44977061      -0.86318381       1.06304657
O        1.97587270      -2.47585450       0.61805359
S        0.05739007       0.87412395      -2.03923204
H        1.05417062      -1.29930083      -1.65769230
H        2.27297866      -0.01627243      -1.74065407
H        0.31341444      -0.47878237       0.54931095
H        1.40227837       1.32206976       1.53903701
H        1.45564137       1.81582176      -0.01538625
H        3.39744088       0.11411538       1.00043829
H        0.78607704       1.29409156      -3.07894317
```

```:分子内水素結合あり（ORCA）
14
Coordinates from ORCA-job peptide2 E -721.952776235772
  C           1.31254524644612     -0.17877605375334     -1.39931581832065
  C           1.42864134092761     -0.16886774479885      0.11928811078994
  C           2.36578338716074     -1.30231086643839      0.56773900432388
  N           1.86113100080863      1.10112768104590      0.70272163866465
  O           3.14405555408561     -0.98715730309465      1.60299785153887
  O           2.37282088529037     -2.38279204275962      0.04750988250251
  S           0.08983585470727      1.07210560998428     -1.89924350339737
  H           1.00115215035136     -1.16697195197186     -1.72475728734745
  H           2.28327612211156      0.04456895868360     -1.84517112935419
  H           0.45293604418326     -0.41812087375521      0.54606480009722
  H           1.07727967666536      1.69506181510113      0.93528557936037
  H           2.45304451587480      1.61710260910202      0.06141196039305
  H           2.95523430088726     -0.04434081449240      1.79608148035073
  H          -0.00419733565901      0.69315312305738     -3.17919046139456
```


</details>


<details><summary>【最適化計算に用いたAll-Benzene Multi-Macrocyclic Nanocarbonの初期構造】</summary>

https://onlinelibrary.wiley.com/doi/abs/10.1002/anie.202408016

Supporting Informationより引用した下記のxyz座標を初期構造として用いた。

```:cpp_3_init.xyz
534
cpp_3
C     0.29582128     2.46388366   -16.01472807
C     1.01982765     3.64798201   -16.19542631
C    -4.15914137    -0.37936531     0.69558360
C    -4.03723689     0.63563602    -1.91669410
C    -3.06620757     0.37493999     0.27691936
C    -3.00271741     0.86948725    -1.01403157
C    -5.04402318    -0.25431578    -1.54308045
C    -5.10119939    -0.75764168    -0.26303385
C    -4.53528565    -0.56738694     2.10278527
C   -12.28510819     0.94696626     6.35838113
C   -12.09794975     3.60000155     5.64568614
C    -1.22688719     3.07676515   -12.64224207
C    -2.00297389     3.99849113   -11.94422806
C    -2.19408153     3.87188377   -10.58005060
C    -0.89126554     1.86463241   -10.58591271
C    -0.73572828     1.96892900   -11.95129955
C    -1.58521233     2.83950992    -9.87517481
C     8.88292800     4.06106499   -15.81252482
C     8.16637026     2.86311713   -15.76838902
C     6.98354915     2.71936040   -16.45459476
C     6.46469967     3.75795450   -17.23453706
C     2.95919964     2.52037959   -17.25861956
C     4.30682648     2.53803024   -17.53840066
C     5.02818585     3.73589672   -17.53072443
C     4.27924530     4.91554253   -17.51178304
C     2.92445638     4.89707837   -17.25571329
C     2.25634588     3.69921988   -16.98452499
C    -0.53879807     2.29638193   -14.92904099
C    10.63190180     4.41191080   -12.02050440
C     9.35100358     3.03260725    -8.84954054
C     9.96286992     3.08480074   -10.08154621
C    10.49820316     4.28049298   -10.56567081
C    10.58089992     5.35607384    -9.68365025
C    10.00745703     5.28904794    -8.43056947
C     9.28354225     4.16326142    -8.03175232
C     6.23968590     5.37121204    -6.29980798
C     7.50544854     5.38990790    -6.84135813
C     8.23245648     4.20829611    -7.01087122
C     7.72723616     3.05541241    -6.40699709
C     6.45407919     3.03494477    -5.87708217
C     5.64097135     4.16792544    -5.91851712
C     4.18188020     4.05576325    -5.81564389
C     3.41522551     4.83450165    -6.68642549
C     2.06893379     4.60275802    -6.84921548
C    -0.16732946     4.56464022   -14.29743333
C    -0.71357734     3.31810871   -13.99685810
C     0.68482042     4.72474234   -15.36840334
C     7.28700949     4.86998716   -17.43646681
C     8.46627116     5.02461995   -16.72977556
C    -4.18567033     1.40158737    -3.16473547
C    -5.44748315     1.92082513    -3.44137384
C    -3.14532286     1.67308120    -4.04438333
C    -3.36111204     2.44622053    -5.18341105
C   -10.96999582     2.90825750     6.02419503
C   -11.02530056     1.53898743     6.28443417
C    -8.54449867    -0.78489022     4.82141690
C    -9.74221947    -0.29122978     5.28946561
C    -9.77279911     0.77977643     6.18169649
C    -8.56178059     1.22943905     6.70718167
C    -7.36199890     0.72993055     6.24092699
C    -5.19035113    -1.71276275     2.55766916
C    -4.62905843     2.96660392    -5.43152491
C    -5.68278514     2.70086182    -4.56792221
C    -9.68099725     4.19170637    -4.70408872
C    -8.60964351     5.04279915    -4.96864916
C    -7.31311569     4.56015819    -5.01237156
C    -7.04721537     3.21554523    -4.76935219
C    -8.12644584     2.34815614    -4.60784665
C    -9.41832774     2.82509177    -4.58707855
C   -15.77159379     3.18199811     2.73580195
C   -15.22796725     2.75267703     3.92645291
C   -14.35632964     3.56399678     4.66092403
C   -14.29613681     4.91001796     4.28242049
C   -14.81632075     5.33169014     3.07924331
C   -15.45005936     4.43709125     2.20953684
C   -14.80886963     3.79224202    -1.37373256
C   -15.32336319     3.62249836    -0.10916486
C   -15.45368093     4.70356824     0.76834034
C   -15.26581424     5.98097782     0.22852115
C   -14.73650936     6.14915226    -1.03462884
C   -14.39056956     5.04740273    -1.81963830
C   -12.16692449     3.91945199    -4.60304154
C   -13.33503686     4.13641312    -3.90366658
C   -13.39643524     5.10076682    -2.89538891
C   -12.31006735     5.96749778    -2.76485630
C   -11.14347678     5.75408378    -3.46764932
C   -11.01889934     4.66349201    -4.32738109
C     2.16437534     2.86811393    -5.20770382
C     3.51881363     3.10273399    -5.04344726
C     0.05649688     3.22609259    -6.55123210
C     1.42926707     3.57670455    -6.15377771
C    -0.98157873     2.98227806    -5.66187244
C    -0.20132455     3.14294373    -7.91545075
C    -1.47182569     2.86540018    -8.40158474
C    -2.50565683     2.65844869    -7.50317721
C    -2.26281680     2.70020871    -6.12975069
C    10.99965514     3.34002216   -12.83679172
C    10.59416471     3.28607926   -14.15400355
C     9.80812637     4.30417689   -14.69821069
C     9.65529433     5.47417871   -13.95256009
C    10.06278951     5.52814680   -12.63646444
C   -13.42105999     1.65114972     6.00817884
C   -13.33912986     2.96413217     5.53130230
C    -4.52081199     0.55065681     2.93663737
C    -5.31801505     0.59379182     4.06137315
C    -5.97757259    -1.67242800     3.68925057
C    -7.32975259    -0.22983393     5.22739987
C    -6.14827117    -0.47864177     4.39406206
C     8.94575166    -6.49476017     3.93679505
C     9.74479668    -7.36065213     4.68856559
C     6.49343586    -0.57342532    -7.51398775
C     9.04314304    -0.40130831    -6.32681703
C     6.64140888    -0.56393420    -6.12655167
C     7.89227451    -0.47452691    -5.54374179
C     8.90283856    -0.56162570    -7.70551780
C     7.65741202    -0.63588572    -8.28542147
C     5.22758945    -0.30529101    -8.20291410
C     4.29671675     4.91199283   -14.20048558
C     3.57479820     7.54539339   -13.80298027
C    11.23239572    -5.44927088     1.19811854
C    12.53289948    -4.97075832     1.36115565
C    12.99750493    -3.91647333     0.60353682
C    10.93989900    -3.88455479    -0.61396144
C    10.46863089    -4.93085640     0.15372446
C    12.18377300    -3.31258275    -0.35317557
C     9.31564907    -3.31857706    11.26844813
C     8.24316634    -3.48998555    10.38720424
C     8.05068516    -4.67287042     9.71434116
C     8.93163785    -5.74534610     9.87158079
C     8.14936188    -7.39365291     6.62744760
C     7.94063655    -6.99481215     7.93127499
C     9.01889925    -6.71234804     8.77476597
C    10.28328468    -7.11957379     8.34188313
C    10.49527911    -7.49921617     7.03543371
C     9.44432008    -7.51569786     6.11534072
C     9.38986887    -5.97651367     2.74028753
C    10.97947803     0.56956597    11.25254603
C    11.49859021     3.52683943     9.02297263
C    11.00139819     2.79875833    10.08418521
C    11.66382626     1.65818059    10.54903733
C    12.95468327     1.43495944    10.05899806
C    13.45265763     2.16119161     9.00131486
C    12.68403975     3.15187167     8.38762783
C    14.55585750     3.45144723     5.15718905
C    14.31210973     3.54366098     6.51273275
C    13.00685256     3.52718670     7.00746496
C    11.96189492     3.60248087     6.08445182
C    12.20545687     3.51623076     4.73124589
C    13.50343725     3.34719143     4.24763329
C    13.67596649     2.82829097     2.88525236
C    14.53721924     1.74685137     2.69224985
C    14.46154358     0.97979226     1.54956286
C    11.38128150    -7.28445014     2.91258369
C    10.65372492    -6.29920192     2.24580071
C    10.93269232    -7.80952407     4.10803413
C     9.87041598    -5.64698280    10.90064461
C    10.05107803    -4.46544857    11.58931834
C    10.35215113    -0.01830925    -5.77870586
C    11.12249000     0.87591021    -6.51480308
C    10.82032748    -0.42921885    -4.53793661
C    12.03337215     0.04445708    -4.04393001
C     2.78211565     6.52909634   -13.30761101
C     3.16835776     5.19505836   -13.43149261
C     2.57089713     1.75713830   -12.09032045
C     2.55465513     2.79487779   -12.99890444
C     2.66978335     4.11623793   -12.57130816
C     2.62202879     4.36288282   -11.19952263
C     2.68926498     3.32541665   -10.29628430
C     5.03915473    -0.67690571    -9.53677237
C    12.79268501     0.93091902    -4.80362258
C    12.34424979     1.35247555    -6.05053364
C    13.81505988     4.46873951    -8.57422943
C    14.01823275     4.52544774    -7.19381862
C    13.62835558     3.48758751    -6.36880368
C    13.02989942     2.34407405    -6.89174189
C    12.96787782     2.22478946    -8.28020988
C    13.34464686     3.26265675    -9.10042522
C     8.21488212     8.59085055   -15.06617269
C     6.98207764     8.04814163   -15.35865235
C     5.89496149     8.23922129   -14.50201311
C     6.02853080     9.23147771   -13.52694241
C     7.25692519     9.78787220   -13.24715926
C     8.41037585     9.35668610   -13.91191460
C    12.04767436     8.71041886   -13.24513038
C    10.92480663     9.12074688   -13.93677696
C     9.72870797     9.40777367   -13.27210801
C     9.77850301     9.45595007   -11.87509137
C    10.90089502     9.06249947   -11.18548782
C    12.03146308     8.58725266   -11.85524716
C    13.88829917     5.54196661   -10.83486465
C    13.44308875     6.56688978   -11.64176122
C    12.96818141     7.75887997   -11.08989706
C    13.17352185     7.95568464    -9.72138217
C    13.59503356     6.92095928    -8.91416918
C    13.85048669     5.65159362    -9.44131682
C    12.78610901     2.44533772     0.67555541
C    12.85146224     3.20600266     1.82657730
C    13.20791478     0.28296015    -0.48286901
C    13.53272991     1.27516879     0.55341889
C    12.91965374     0.61516502    -1.80050626
C    13.02631181    -1.03222133    -0.06633519
C    12.53790058    -2.00696854    -0.93017150
C    12.25816369    -1.65530379    -2.24501271
C    12.44636063    -0.34864484    -2.68681992
C     9.60148709     0.39431111    11.09105823
C     9.01086741    -0.83529699    11.27711047
C     9.77337062    -1.96534619    11.59510845
C    11.09244246    -1.72918358    11.99541878
C    11.67432603    -0.48981360    11.84447163
C     5.10738051     5.92506754   -14.65974738
C     4.80451227     7.26488016   -14.40388014
C     4.27148824     0.54340283    -7.64168542
C     3.32729384     1.17049938    -8.42643338
C     4.11306750    -0.03302865   -10.32573221
C     2.75765045     1.99745191   -10.72555475
C     3.31509949     0.99453703    -9.81294997
C    -9.25664012    -4.70830848     4.53209635
C   -10.27452884    -3.88474658     5.02286086
C     7.68866127    -2.63494287     6.52533620
C     4.90444364    -2.81316622     6.82012466
C     6.89323145    -1.48899654     6.51489195
C     5.52029883    -1.57673316     6.65241289
C     5.67926396    -3.96127134     6.67084261
C     7.04529568    -3.87376364     6.50990624
C     9.13202749    -2.60234639     6.78940406
C    14.79322268    -5.38328969    13.08337223
C    13.83703061    -3.48771988    14.83861020
C    -6.39743852    -3.71490267     6.69964021
C    -6.13660344    -2.43578392     7.19741434
C    -4.85345441    -1.94051053     7.23760097
C    -4.01466232    -4.03165750     6.44287460
C    -5.30507892    -4.52391229     6.38458604
C    -3.77579835    -2.70938286     6.80439849
C   -12.55509774     2.15090236     0.45272281
C   -12.87819397     0.98752321    -0.24876102
C   -13.10134662    -0.20068077     0.41633063
C   -13.01177657    -0.26362802     1.80756327
C   -11.04538605    -3.22588800     2.78118690
C   -11.73272557    -2.33495336     1.98934507
C   -12.71433108    -1.50458751     2.53225540
C   -13.12250606    -1.75873762     3.84112789
C   -12.44898559    -2.67319651     4.62776301
C   -11.32002742    -3.34437950     4.14723335
C    -8.03139666    -4.77198499     5.15982326
C    -9.69260841     5.04015802    -0.61168563
C    -6.02822319     5.65264366    -1.03552903
C    -7.35288574     5.52297448    -1.40037617
C    -8.37282730     5.65815724    -0.45559482
C    -8.02025122     6.13887646     0.80745727
C    -6.69926461     6.26839921     1.17080483
C    -5.67286056     5.92416855     0.28785129
C    -2.96991920     5.47659071     2.82488925
C    -3.89884569     6.13816868     2.04908635
C    -4.36582301     5.57953884     0.85577400
C    -3.69401494     4.45887217     0.36345509
C    -2.74549235     3.81432336     1.12737133
C    -2.45128165     4.24618589     2.42012314
C    -1.85827896     3.29050896     3.36489018
C    -2.48204501     3.14204300     4.60514568
C    -2.21537414     2.05147451     5.40293648
C    -8.87162520    -3.42934468     6.93870351
C    -7.77710465    -4.03782500     6.32094874
C   -10.08954984    -3.34764814     6.30020943
C   -12.88753916     0.93562066     2.50877315
C   -12.66434836     2.12105421     1.84370832
C     3.54520011    -2.92818322     7.38087907
C     3.47364598    -3.55706249     8.61858994
C     2.39011113    -2.40195736     6.82210168
C     1.17276476    -2.50839226     7.49412545
C    14.13419126    -3.13760576    13.54020906
C    14.49363267    -4.10671704    12.60046477
C    12.88935501    -4.53921774     9.29995456
C    13.58955982    -4.84039723    10.44579334
C    14.22285057    -3.83776189    11.18399547
C    14.28465777    -2.56283850    10.61765696
C    13.57155556    -2.25953421     9.47490986
C     9.99156971    -3.62074076     6.37400018
C     1.12967071    -3.12235813     8.74469477
C     2.27711692    -3.65273563     9.32075804
C     2.86993867    -5.06116625    13.30554796
C     1.91951091    -4.07443052    13.04344815
C     1.65311635    -3.66843735    11.74909505
C     2.32622173    -4.23574051    10.66935419
C     3.18059814    -5.30829727    10.92344142
C     3.45019160    -5.70900953    12.21216251
C    11.17095926    -6.60683579    16.97748661
C    12.33182591    -6.41509725    16.26163199
C    13.06547716    -5.23221227    16.38663658
C    12.71418824    -4.36552560    17.42504098
C    11.54499362    -4.55099101    18.13378048
C    10.69377070    -5.61761505    17.83949377
C     7.10919862    -6.69234388    18.00666652
C     8.46493000    -6.72304935    18.26692548
C     9.25024509    -5.58240363    18.09868629
C     8.59299150    -4.37525662    17.85234408
C     7.24497766    -4.34922188    17.57554042
C     6.49167639    -5.52589997    17.54751592
C     4.01911846    -6.53571799    14.96213469
C     4.90680055    -6.63990500    16.01084475
C     5.23359530    -5.52914476    16.79314749
C     4.47745136    -4.37009816    16.60203145
C     3.60394650    -4.25997864    15.54050122
C     3.43288769    -5.31070420    14.63721097
C    -0.58301479     1.29298786     3.82851986
C    -0.86789623     2.37486538     3.01474149
C    -1.22510727    -0.18279220     5.75437507
C    -1.29790283     1.08239021     5.00320805
C    -0.04591727    -0.74162881     6.22845104
C    -2.42638907    -0.84525762     5.97937050
C    -2.46275350    -2.06723117     6.64164047
C    -1.27442552    -2.61768289     7.10085388
C    -0.06361418    -1.95120810     6.92100356
C    -9.77212277     3.82641236    -1.29578433
C   -10.82027218     2.96124491    -1.07760729
C   -11.81830064     3.26518433    -0.15074549
C   -11.84506409     4.55914154     0.37043132
C   -10.80600264     5.43418606     0.13437125
C    14.50913115    -5.73162375    14.38750806
C    13.90324644    -4.81955769    15.25615964
C     9.63500641    -1.64804156     7.67495971
C    10.88616571    -1.78689906     8.23442324
C    11.23842021    -3.76847820     6.94486572
C    12.78040784    -3.22377314     8.85160472
C    11.67857683    -2.89675735     7.94119512
H     0.42331624     1.64088445   -16.70250273
H    -2.28335379     0.60174755     0.98742503
H    -2.17816435     1.50399026    -1.30863262
H    -5.81122741    -0.51899041    -2.25635173
H    -5.93105688    -1.38449807     0.02935392
H   -12.36863623    -0.09158747     6.64511805
H   -11.98812569     4.62932632     5.34197003
H    -2.43780611     4.83696039   -12.46971647
H    -2.76695063     4.61561862   -10.04387103
H    -0.43618302     1.04270822   -10.05152395
H    -0.15675963     1.22837821   -12.48179059
H     8.48923167     2.07745415   -15.10122602
H     6.40608820     1.82071877   -16.30212258
H     2.46723272     1.56365845   -17.16993439
H     4.81826700     1.60078086   -17.70273442
H     4.77398010     5.87021878   -17.60773764
H     2.39792473     5.83762205   -17.19757942
H    -1.03312827     1.34717444   -14.77758821
H     8.81713450     2.13700641    -8.56632877
H     9.91917965     2.22033034   -10.72831941
H    11.05300218     6.27062581   -10.00529821
H    10.06703060     6.14839821    -7.77842770
H     5.68421529     6.29480699    -6.22382494
H     7.89873482     6.31978548    -7.22418298
H     8.31099905     2.14798288    -6.40324092
H     6.06157775     2.10105067    -5.50522286
H     3.89573307     5.58768882    -7.29256868
H     1.50170123     5.20250705    -7.54694363
H    -0.33705042     5.39294998   -13.62526578
H     1.16618454     5.68002561   -15.50542498
H     6.97450472     5.64799452   -18.11905042
H     9.05096563     5.92440229   -16.85782113
H    -6.25269459     1.75117729    -2.74101302
H    -2.16818874     1.24908831    -3.86387968
H   -10.01162563     3.40676714     6.01316684
H    -8.55735879    -1.55044068     4.06063898
H   -10.66688053    -0.67280323     4.88362608
H    -8.56253784     2.00811498     7.45723515
H    -6.43564797     1.12070139     6.63736336
H    -5.12664097    -2.62594030     1.98286987
H    -4.79575366     3.58136391    -6.30404978
H    -8.78971953     6.09835620    -5.11479419
H    -6.49123098     5.24345178    -5.17496084
H    -7.94105331     1.29227976    -4.47080349
H   -10.23503814     2.14245780    -4.40500112
H   -16.39291206     2.50200565     2.17260540
H   -15.41170560     1.73576250     4.23706373
H   -13.77187543     5.62426470     4.89995512
H   -14.64294401     6.35177136     2.77013905
H   -14.62541858     2.92025307    -1.98231923
H   -15.52166157     2.61989119     0.23590035
H   -15.48098162     6.85546212     0.82558394
H   -14.54172680     7.14805309    -1.39794294
H   -12.12858646     3.13503476    -5.34581808
H   -14.19891222     3.52080187    -4.10998106
H   -12.34401546     6.75806992    -2.03068820
H   -10.28679834     6.38258561    -3.27319633
H     1.68157465     2.08894650    -4.63467847
H     4.07331575     2.52320460    -4.31887730
H    -0.80336837     3.05574109    -4.59871327
H     0.59543844     3.29597501    -8.62799567
H    -3.49579068     2.42722472    -7.86816802
H    11.54708230     2.50872521   -12.41482444
H    10.82913390     2.41611390   -14.75118813
H     9.10272009     6.30479770   -14.36477913
H     9.82912344     6.40310420   -12.04844154
H   -14.37892713     1.15294992     6.05007961
H    -3.97029430     1.43189802     2.64133529
H    -5.37781471     1.51465934     4.62272659
H    -6.51732322    -2.55558406     3.99843604
H     8.00019454    -6.15515870     4.33355717
H     5.76506774    -0.59595202    -5.49488000
H     7.97459576    -0.39483064    -4.46902099
H     9.78337427    -0.58961740    -8.33095941
H     7.58513551    -0.67210320    -9.36175667
H     4.59804984     3.88524740   -14.34734569
H     3.26199015     8.57170209   -13.67258688
H    13.15595990    -5.38161736     2.14231074
H    13.99136908    -3.52972874     0.77759659
H    10.30809311    -3.45742952    -1.37940691
H     9.48242653    -5.33008790    -0.03569225
H     7.59234775    -2.66505816    10.14528871
H     7.26735909    -4.72351207     8.97449367
H     7.29972202    -7.55016862     5.97787971
H     6.93094092    -6.83895318     8.28286518
H    11.12477554    -7.03551814     9.01212835
H    11.50491021    -7.68250840     6.69860807
H     8.78819981    -5.24130967     2.22615421
H    10.93546801     4.36980386     8.64847223
H    10.05861054     3.09066444    10.52321254
H    13.54116275     0.61709465    10.44677101
H    14.40828687     1.88821089     8.57826936
H    15.57524609     3.41706349     4.79975948
H    15.14463644     3.58413577     7.20056832
H    10.94136850     3.63087942     6.43679384
H    11.37306537     3.48101711     4.04377434
H    15.21353273     1.45856886     3.48373758
H    15.09976081     0.11437849     1.44213022
H    12.32589078    -7.61639756     2.50565486
H    11.53144566    -8.55066280     4.61771247
H    10.49923768    -6.49289582    11.13877199
H    10.81639206    -4.42629976    12.35050539
H    10.73939110     1.26411500    -7.44541405
H    10.22922666    -1.10581308    -3.93854239
H     1.87093640     6.77181885   -12.77912369
H     2.50912553     0.74200714   -12.45508548
H     2.50288755     2.58270055   -14.05693235
H     2.66024389     5.38203300   -10.84219266
H     2.81100527     3.55784834    -9.24913636
H     5.66600641    -1.43817980    -9.97776835
H    13.74438946     1.27616099    -4.42638916
H    14.45762183     5.40635540    -6.74905396
H    13.73544301     3.59154960    -5.29845254
H    12.58688467     1.31519637    -8.72111282
H    13.20628134     3.15790507   -10.16483168
H     9.05823349     8.34395456   -15.69416368
H     6.87973783     7.40343526   -16.21817485
H     5.18147465     9.49644336   -12.91194042
H     7.33065276    10.51399200   -12.45131737
H    12.93828042     8.44225593   -13.79506318
H    10.96772202     9.17130234   -15.01499834
H     8.89459724     9.71051058   -11.31138402
H    10.86210227     9.02621906   -10.10665983
H    14.20831992     4.62038178   -11.29713137
H    13.37045653     6.40625402   -12.70734601
H    12.93540406     8.91101141    -9.27570688
H    13.63749293     7.07937373    -7.84731153
H    12.09236855     2.71740606    -0.10711344
H    12.22622847     4.08221660     1.92264751
H    13.03000640     1.63713358    -2.13302745
H    13.18707785    -1.28144611     0.97225127
H    11.89502950    -2.40455679    -2.93348782
H     8.99427165     1.21075069    10.73015532
H     7.94954693    -0.92501554    11.10349987
H    11.70117340    -2.54314691    12.35646129
H    12.70724438    -0.35954741    12.13009180
H     6.03954551     5.66480684   -15.13618818
H     4.31243543     0.78756715    -6.59141254
H     2.63499652     1.85183533    -7.95634828
H     4.07339979    -0.27165258   -11.37764512
H    -9.40128212    -5.25773479     3.61334363
H     7.35790414    -0.51632089     6.44136391
H     4.92499196    -0.67616556     6.70911963
H     5.20384729    -4.93053071     6.73517615
H     7.63713746    -4.77543051     6.46688109
H    15.20071153    -6.12627231    12.41271294
H    13.44048557    -2.73640082    15.50499218
H    -6.95597574    -1.79540236     7.48425009
H    -4.67994607    -0.93147016     7.58236785
H    -3.18658107    -4.65994742     6.14666411
H    -5.46576654    -5.54366318     6.06524271
H   -12.89548874     1.00374266    -1.32929313
H   -13.29172554    -1.10319512    -0.14766859
H   -10.21565684    -3.76380891     2.34921168
H   -11.43179874    -2.19701812     0.96114859
H   -13.94370680    -1.19592616     4.26138113
H   -12.76925774    -2.82469834     5.64859375
H    -7.23319321    -5.33167664     4.69407912
H    -5.25936611     5.48523498    -1.77627381
H    -7.59651261     5.25563875    -2.41844141
H    -8.78724061     6.30583802     1.54877716
H    -6.46195272     6.53576016     2.18954002
H    -2.67396633     5.89378976     3.77708198
H    -4.31027071     7.07359406     2.40009096
H    -3.98711178     4.02622953    -0.58190945
H    -2.30429489     2.90286428     0.75845507
H    -3.23727192     3.85396639     4.90558026
H    -2.74336584     1.92483057     6.33728018
H    -8.75226102    -2.95823832     7.90307679
H   -10.87969474    -2.77893362     6.76582965
H   -12.85149629     0.92110774     3.58733058
H   -12.46450912     3.01424316     2.41607566
H     4.38563226    -3.92239117     9.06811197
H     2.43265697    -1.92967584     5.85152774
H    13.97846800    -2.11737436    13.22410688
H    12.33248498    -5.31003844     8.79222042
H    13.56594404    -5.84946526    10.83034902
H    14.86362242    -1.79158739    11.10642172
H    13.58810354    -1.25504216     9.07796617
H     9.67176902    -4.32651866     5.62069929
H     0.19301652    -3.17491144     9.27979106
H     1.40205739    -3.59747792    13.86335813
H     0.95725144    -2.85962406    11.57727583
H     3.66299011    -5.81347362    10.09930783
H     4.17497362    -6.49199731    12.37678897
H    10.56328943    -7.47770027    16.77965426
H    12.61110898    -7.14091629    15.51254705
H    13.33006551    -3.50294583    17.63548265
H    11.25553741    -3.82837654    18.88353555
H     6.53271998    -7.60040501    18.10930491
H     8.93078087    -7.65433916    18.55675738
H     9.16826828    -3.46504200    17.76674910
H     6.79459374    -3.41558903    17.27501747
H     3.81869910    -7.40514229    14.35307082
H     5.41849824    -7.57704864    16.17168084
H     4.61494970    -3.52355603    17.25884381
H     3.10989350    -3.31617920    15.36199435
H     0.15833298     0.56864608     3.52123983
H    -0.33274464     2.49881793     2.08359725
H     0.88566136    -0.21107711     6.09446040
H    -3.34251866    -0.42602129     5.58889364
H    -1.29245593    -3.57115144     7.60845375
H    -8.95151079     3.51250631    -1.92256399
H   -10.80173889     1.98646316    -1.54185831
H   -12.66231088     4.85857040     1.00990677
H   -10.82907346     6.41606680     0.58554587
H    14.70184551    -6.74158888    14.71984585
H     9.00913186    -0.82855647     7.99573463
H    11.21709757    -1.07342293     8.97394514
H    11.86547625    -4.59158579     6.63347374
```

</details>

<details><summary>【鎖を4つにしたCPPの初期構造】</summary>

```:cpp_4_init.xyz
712
energy=-452517.6661734827
C       -1.18551710       0.78107244     -17.81046777
C       -0.33260629       1.79465097     -18.26227269
C       -4.28290513       0.21556173      -0.96352382
C       -4.16100065       1.23056306      -3.57580152
C       -3.18997133       0.96986703      -1.38218806
C       -3.12648117       1.46441429      -2.67313899
C       -5.16778694       0.34061126      -3.20218787
C       -5.22496315      -0.16271464      -1.92214127
C       -4.65904941       0.02754010       0.44367785
C      -12.40887195       1.54189330       4.69927371
C      -12.22171351       4.19492859       3.98657872
C       -2.19411017       2.14752881     -14.46629916
C       -2.74683199       3.27716112     -13.86835072
C       -2.78856747       3.39861030     -12.49101999
C       -1.78412693       1.23768539     -12.27210300
C       -1.78057614       1.09982092     -13.64335484
C       -2.24725696       2.40838133     -11.67874117
C        7.50130371       1.03498919     -18.70765593
C        6.63743966      -0.01479500     -18.38800912
C        5.37242410      -0.07927032     -18.92297515
C        4.91147796       0.89118311     -19.81848688
C        1.29181729       0.22573631     -19.29318763
C        2.58572421      -0.01077029     -19.69884343
C        3.46051045       1.04636078     -19.96814863
C        2.88850051       2.31616435     -20.08320732
C        1.58459684       2.54925120     -19.69996927
C        0.79560346       1.52783556     -19.16240139
C       -1.89898311       0.91879324     -16.63770950
C        9.72382185       1.70328103     -15.21835512
C        8.65506724       1.05764984     -11.74861244
C        9.11612722       0.81904762     -13.02353801
C        9.74874127       1.82541131     -13.75679774
C       10.08360538       3.00054256     -13.08701735
C        9.66081322       3.22202964     -11.79251709
C        8.84215779       2.29970680     -11.13705779
C        6.22299621       4.22423575      -9.35941374
C        7.40516930       3.96018775     -10.01403318
C        7.93729073       2.66812637     -10.04413040
C        7.35452508       1.71771418      -9.20380117
C        6.16344313       1.97934901      -8.55957417
C        5.51469042       3.20410221      -8.71959272
C        4.07698997       3.33787437      -8.46030007
C        3.32579485       4.07913763      -9.37609927
C        1.95071700       4.03684984      -9.36716973
C       -1.14632376       3.17256035     -16.44810311
C       -1.81866301       2.08936421     -15.88488107
C       -0.41487344       3.02721891     -17.60682015
C        5.84859518       1.81584888     -20.28794427
C        7.11406173       1.89471507     -19.73444951
C       -4.30943409       1.99651441      -4.82384289
C       -5.57124691       2.51575217      -5.10048126
C       -3.26908662       2.26800824      -5.70349075
C       -3.48487580       3.04114757      -6.84251847
C      -11.09375958       3.50318454       4.36508761
C      -11.14906432       2.13391447       4.62532675
C       -8.66826243      -0.18996318       3.16230948
C       -9.86598323       0.30369726       3.63035819
C       -9.89656287       1.37470347       4.52258907
C       -8.68554435       1.82436609       5.04807425
C       -7.48576266       1.32485759       4.58181957
C       -5.31411489      -1.11783571       0.89856174
C       -4.75282219       3.56153096      -7.09063233
C       -5.80654890       3.29578886      -6.22702963
C       -9.80476101       4.78663341      -6.36319614
C       -8.73340727       5.63772619      -6.62775658
C       -7.43687945       5.15508523      -6.67147898
C       -7.17097913       3.81047227      -6.42845961
C       -8.25020960       2.94308318      -6.26695407
C       -9.54209150       3.42001881      -6.24618597
C      -15.89535755       3.77692515       1.07669453
C      -15.35173101       3.34760407       2.26734549
C      -14.48009340       4.15892382       3.00181661
C      -14.41990057       5.50494500       2.62331307
C      -14.94008451       5.92661718       1.42013589
C      -15.57382312       5.03201829       0.55042942
C      -14.93263339       4.38716906      -3.03283998
C      -15.44712695       4.21742540      -1.76827228
C      -15.57744469       5.29849528      -0.89076708
C      -15.38957800       6.57590486      -1.43058627
C      -14.86027312       6.74407930      -2.69373626
C      -14.51433332       5.64232977      -3.47874572
C      -12.29068825       4.51437903      -6.26214896
C      -13.45880062       4.73134016      -5.56277400
C      -13.52019900       5.69569386      -4.55449633
C      -12.43383111       6.56242482      -4.42396372
C      -11.26724054       6.34901082      -5.12675674
C      -11.14266310       5.25841905      -5.98648851
C        2.00301091       2.58939463      -7.46590738
C        3.38666981       2.63345176      -7.47467511
C       -0.18141639       3.05436808      -8.64423063
C        1.26416634       3.24546983      -8.44632294
C       -1.12895282       3.11834449      -7.63127020
C       -0.60990985       2.79818547      -9.94239932
C       -1.95553063       2.64844319     -10.24966434
C       -2.89274343       2.74913397      -9.23464446
C       -2.48356352       2.96873839      -7.91883244
C        9.84024260       0.47206450     -15.86725020
C        9.27620596       0.27474302     -17.11035367
C        8.57799985       1.30394846     -17.74579433
C        8.67790897       2.58627331     -17.20365241
C        9.24378636       2.78313151     -15.96183831
C      -13.54482375       2.24607676       4.34907142
C      -13.46289362       3.55905921       3.87219488
C       -4.64457575       1.14558385       1.27752995
C       -5.44177881       1.18871886       2.40226573
C       -6.10133635      -1.07750096       2.03014315
C       -7.45351635       0.36509311       3.56829245
C       -6.27203493       0.11628527       2.73495464
C       14.99596501      -9.57417152      -0.96318006
C       16.11584225     -10.38593919      -0.76240909
C        7.74314362      -3.60615266     -10.36316641
C       10.41828746      -2.88579118      -9.84868600
C        8.28241415      -3.71223938      -9.08063069
C        9.59379846      -3.35412872      -8.82695021
C        9.92311525      -2.92285154     -11.15238606
C        8.61417242      -3.26533249     -11.40191673
C        6.30532532      -3.61451312     -10.64863324
C        2.50326136       1.79417109     -15.15949601
C        1.34715562       4.07321685     -14.11865725
C       15.77993810      -7.88824999      -4.18268200
C       16.97473684      -7.23691834      -4.49104614
C       16.97063595      -6.04529467      -5.18485993
C       14.59631320      -6.19331520      -5.42516050
C       14.59801567      -7.37925828      -4.71825283
C       15.77360987      -5.46993600      -5.60703649
C       18.18347269      -7.22398410       5.98624539
C       16.85729056      -7.45799449       5.60852728
C       16.50390289      -8.57312298       4.88699007
C       17.46119270      -9.50822466       4.48675626
C       15.51712705     -10.88168946       1.62537995
C       15.85250083     -10.66889904       2.94630793
C       17.15751063     -10.32073126       3.30636637
C       18.14524274     -10.47744033       2.33080580
C       17.80992394     -10.67058641       1.00939143
C       16.47223024     -10.74482799       0.61388996
C       14.83420745      -8.86255264      -2.13146207
C       19.31582903      -3.14947136       5.93775914
C       18.55489858       0.08424976       4.22021033
C       18.63011992      -0.82630193       5.25399537
C       19.52926681      -1.89645328       5.20787642
C       20.49941615      -1.86202824       4.20094882
C       20.42658150      -0.95356837       3.16969659
C       19.38187153      -0.03015238       3.10102207
C       19.65035737       0.91505980      -0.51334802
C       20.00452182       0.81563634       0.81710212
C       19.04539007       0.54316308       1.79411403
C       17.70343425       0.56026800       1.40885966
C       17.34955995       0.66525438       0.08157724
C       18.32390767       0.75324132      -0.91346714
C       17.94187470       0.42361164      -2.29205370
C       18.73199936      -0.48392112      -2.99958828
C       18.24391213      -1.12003334      -4.12073598
C       16.81738825      -9.85979217      -3.01385385
C       15.78729119      -8.92942391      -3.14789537
C       16.97529872     -10.57868201      -1.84582204
C       18.73734049      -9.38310331       5.03969706
C       19.08701507      -8.27289609       5.78003552
C       11.70656455      -2.22732761      -9.58910137
C       12.00378659      -1.08183983     -10.32013237
C       12.59658230      -2.63259893      -8.60362297
C       13.75925284      -1.90728108      -8.35462498
C        0.98695316       2.83186225     -13.63297324
C        1.61425201       1.67421483     -14.09181481
C        2.23448888      -1.92488251     -13.29381677
C        1.71796226      -0.83525401     -13.96359428
C        1.64777970       0.41169609     -13.34530991
C        1.94651734       0.48130705     -11.98486150
C        2.50880076      -0.59369260     -11.33301080
C        5.82672939      -3.87165548     -11.93611402
C       14.04113217      -0.76955139      -9.10670131
C       13.16523599      -0.34808068     -10.10106521
C       13.08550080       3.31144200     -12.30219216
C       13.66323000       3.26620176     -11.03167600
C       13.77815146       2.07613810     -10.33860366
C       13.33094470       0.87941796     -10.89277350
C       12.89628963       0.90382938     -12.21806513
C       12.77058603       2.08982363     -12.90326062
C        5.05153175       6.46720463     -16.30164479
C        3.94493875       5.64800070     -16.36676829
C        3.14076313       5.44141222     -15.24303054
C        3.32224282       6.31739744     -14.16930271
C        4.41791783       7.14991809     -14.11262951
C        5.39440098       7.12334206     -15.11464943
C        9.11526577       7.41290985     -15.51902388
C        7.77702839       7.57944706     -15.81728904
C        6.79380705       7.45665138     -14.83087219
C        7.23582473       7.35997911     -13.50734249
C        8.56917253       7.20968241     -13.20781817
C        9.53299803       7.13534993     -14.21684558
C       12.25034302       4.61033500     -14.27273536
C       11.36782058       5.56050483     -14.73974000
C       10.81518576       6.51051441     -13.87776076
C       11.35948394       6.60116926     -12.59352910
C       12.22231911       5.63519055     -12.12201864
C       12.59593193       4.54916186     -12.91912922
C       16.22915151       0.15943527      -3.97075864
C       16.71212461       0.78674603      -2.83896723
C       16.30909632      -1.76820194      -5.54351660
C       16.95479706      -0.86079536      -4.58249667
C       15.45427123      -1.33817778      -6.55048021
C       16.44503807      -3.13407358      -5.31526913
C       15.72472525      -4.06888550      -6.05158899
C       14.87697826      -3.61876191      -7.05629891
C       14.73689778      -2.25740022      -7.31133051
C       18.02430084      -3.51518387       6.33001022
C       17.68596462      -4.83399922       6.53406361
C       18.61106378      -5.86191184       6.31696398
C       19.94654522      -5.47232814       6.17313934
C       20.29120037      -4.14922140       6.00576886
C        2.89141768       3.03326252     -15.61600956
C        2.37868703       4.20418916     -15.05179937
C        5.38673642      -3.12379363      -9.71869927
C        4.13790252      -2.69129646     -10.11105447
C        4.58966080      -3.41775011     -12.33398847
C        2.75049508      -1.79721818     -12.00050618
C        3.76304550      -2.70785172     -11.45743772
C        6.54085407     -10.04006372      18.56889284
C        6.59898591      -9.59753556      19.89403093
C       12.59987846      -5.48116250       4.38452566
C       12.53555561      -5.48801390       7.18922658
C       12.04784613      -4.41190082       5.09018170
C       12.00888519      -4.41811934       6.47220814
C       12.93904885      -6.61954901       6.48381994
C       12.95564290      -6.62231433       5.10566256
C       13.03759820      -5.37471028       2.98768287
C       20.65932716      -5.65236624      -1.61980742
C       21.42234309      -3.21691313      -0.58311879
C        9.44000062      -8.25054835      17.06798668
C        9.88866703      -6.96962752      17.39949698
C       10.30858851      -6.09313558      16.42542822
C       10.01006363      -7.78515922      14.76530873
C        9.57047273      -8.66058838      15.74063993
C       10.31978554      -6.46645921      15.08353563
C        1.05134256      -4.47389177      22.23670932
C        0.38102013      -5.65915531      21.92729059
C        1.03095699      -6.87502090      21.98408554
C        2.37413039      -6.94574998      22.35610169
C        4.18226148      -9.15472588      20.02356954
C        3.13750208      -8.50667704      20.64140781
C        3.25607620      -8.04763928      21.95405131
C        4.37348391      -8.45559765      22.68159256
C        5.41073092      -9.13018717      22.06701359
C        5.38627227      -9.39326953      20.69364861
C        7.54035994      -9.72837098      17.67270482
C        0.75558945      -0.79488389      20.22374139
C        1.51435053       0.96362760      17.01213433
C        0.74525476       0.42960597      18.02602338
C        1.28647471       0.20626117      19.29423670
C        2.55096019       0.73804538      19.55688375
C        3.31744597       1.27080118      18.54570918
C        2.85374265       1.29635138      17.22816093
C        6.16770857       1.66016598      15.54648072
C        5.07731135       2.01354527      16.31369448
C        3.84713042       1.36954509      16.15230015
C        3.69795619       0.53539889      15.04255021
C        4.78222927       0.20473027      14.25914966
C        6.05943697       0.67080049      14.56865163
C        7.22226510      -0.07296811      14.06646208
C        8.19535889      -0.44743337      14.99502235
C        9.12350940      -1.41868627      14.69149711
C        8.82572930      -8.77408395      19.43629316
C        8.65568822      -8.98480408      18.06642910
C        7.81702352      -9.06606575      20.32789213
C        2.97568778      -5.78976906      22.85325806
C        2.32601716      -4.57651734      22.79558317
C       12.89661325      -5.35907265       8.61338560
C       14.25539383      -5.46989892       8.88536022
C       12.02167463      -5.06521529       9.64852165
C       12.50193542      -4.88845859      10.94582006
C       20.14452947      -3.39072650      -1.06655557
C       19.69696141      -4.64979186      -1.47390233
C       16.60272500      -6.27586955      -0.27569381
C       17.86610943      -6.13121598      -0.80188530
C       18.25944903      -4.93407743      -1.40472891
C       17.27329447      -3.97068032      -1.62688719
C       16.01009227      -4.11198132      -1.08769019
C       13.16098081      -6.48865816       2.15557882
C       13.87103037      -4.98108106      11.19022729
C       14.76225955      -5.27209201      10.16513940
C       19.02529823      -5.07249420      10.18322292
C       18.27976691      -4.24344624      11.02138709
C       16.90362697      -4.35469455      11.09216225
C       16.22290748      -5.30039985      10.32861361
C       16.97930652      -6.21028480       9.59046237
C       18.34877404      -6.09634187       9.51543770
C       24.16311882      -5.24630862       2.54439063
C       23.60270341      -5.35985457       1.29144818
C       23.38124599      -4.23035676       0.49880798
C       23.95864756      -3.02873055       0.91777728
C       24.50900064      -2.91194398       2.17761756
C       24.51497848      -3.99619222       3.05695936
C       24.55317958      -4.86751498       6.69996404
C       24.99842310      -4.81961285       5.39376776
C       24.53144393      -3.84133350       4.51570350
C       23.76027944      -2.80727452       5.05039782
C       23.30272962      -2.86590404       6.34718235
C       23.60791384      -3.95252956       7.17115267
C       21.25954388      -5.82686030       9.35964853
C       22.38736421      -5.53994920       8.62186092
C       22.73659935      -4.22097539       8.32032550
C       22.01976230      -3.20881349       8.96324148
C       20.88002012      -3.49533712       9.68495848
C       20.41992386      -4.80727335       9.81283876
C        8.24338167      -1.57318311      12.47334638
C        7.29490869      -0.61550571      12.78496253
C        9.96468740      -3.23073798      13.24064443
C        9.12989583      -2.03365477      13.44152360
C       10.84533228      -3.39853784      12.18052970
C        9.83494216      -4.24715312      14.18012714
C       10.54658063      -5.43549916      14.05951360
C       11.41556800      -5.59202285      12.98883217
C       11.59058296      -4.57006048      12.05740232
C        0.18606257      -1.95085727      19.68815127
C        0.11709549      -3.11042788      20.42664478
C        0.63477033      -3.16637741      21.72140159
C        1.00942252      -1.96358012      22.32105250
C        1.05776048      -0.79703321      21.58763058
C       21.94361390      -5.47494643      -1.14869741
C       22.31183534      -4.29154687      -0.50255904
C       13.56525294      -4.16419758       2.53587120
C       14.31001578      -4.10105582       1.37871007
C       13.91888784      -6.42933209       1.00474984
C       15.68497299      -5.22738117      -0.31674186
C       14.56984611      -5.25213183       0.63493877
C      -11.53812653      -3.76611357       4.67647605
C      -12.58920713      -2.84776907       4.59236643
C        2.79584440      -3.19857965      13.63578987
C        0.15437725      -2.89941123      12.73930721
C        2.28620388      -1.93936499      13.31852715
C        0.98693564      -1.79211247      12.86933627
C        0.71135018      -4.16583648      12.90278582
C        2.01410434      -4.31342018      13.32781690
C        3.98233371      -3.39042475      14.47813124
C        5.95890228      -6.72846483      22.49981916
C        4.70347871      -4.61068469      23.73564579
C       -9.87499465      -2.69369026       7.82989259
C       -9.75050564      -1.38410471       8.30047413
C       -8.58227086      -0.95018919       8.88384961
C       -7.66866601      -3.15057346       8.70582425
C       -8.83499259      -3.58301054       8.10285841
C       -7.49885329      -1.81114682       9.04237387
C      -12.02898827       2.78611990      -0.92684225
C      -12.10726701       1.57345858      -1.61477157
C      -12.71052356       0.47268897      -1.04174408
C      -13.25920089       0.54976283       0.23908621
C      -12.21233992      -2.38777157       2.20494292
C      -12.38918741      -1.55125279       1.12690074
C      -13.43071398      -0.62251404       1.10510188
C      -14.40259140      -0.71975685       2.10026238
C      -14.23782722      -1.57951385       3.16906093
C      -13.07878370      -2.35080902       3.30196615
C      -10.73473513      -3.82388059       5.79475264
C       -8.74557524       5.40739028      -0.77601374
C       -5.24052146       5.79417456       0.46797052
C       -6.26744323       5.69188859      -0.44834147
C       -7.58557118       5.97344274      -0.08169051
C       -7.79390878       6.56459387       1.16644298
C       -6.76959946       6.66675760       2.07976451
C       -5.49222621       6.18360922       1.78566896
C       -4.26330218       5.87030683       5.29770069
C       -4.68292695       6.49235552       4.14036304
C       -4.61460398       5.83657233       2.90771959
C       -3.89749607       4.63970418       2.85423455
C       -3.45358251       4.03239212       4.00871240
C       -3.73154153       4.58091228       5.26016629
C       -3.71290400       3.70047725       6.43576918
C       -4.83635902       3.71158866       7.26467525
C       -5.05442280       2.69777461       8.17107054
C      -12.15753737      -2.26519507       6.89893343
C      -10.96206438      -2.98672631       6.88990644
C      -12.94797479      -2.19099539       5.77314813
C      -13.35449153       1.80768087       0.83397236
C      -12.75146260       2.90569912       0.26118088
C       -1.31256311      -2.75880756      12.67985989
C       -1.99707715      -3.30065382      13.76170114
C       -2.02325926      -2.07976720      11.70149822
C       -3.40794889      -1.94819716      11.80249571
C        5.56684790      -4.38380926      22.68690795
C        6.11054812      -5.44743958      21.96263263
C        5.96853147      -5.78417633      18.28559973
C        6.06827027      -6.13539758      19.61249015
C        6.50116383      -5.21312789      20.56815692
C        7.01011477      -3.99774234      20.10577614
C        6.89793259      -3.64213779      18.77636283
C        4.74751762      -4.55720092      14.43779190
C       -4.06978161      -2.47936489      12.90819598
C       -3.37378747      -3.16031606      13.89899345
C       -4.73576081      -4.43358210      17.73793698
C       -5.30714576      -3.31898077      17.12406423
C       -4.93959836      -2.94394084      15.84523648
C       -3.98846345      -3.67098614      15.13285206
C       -3.51437847      -4.85470046      15.69761859
C       -3.87582666      -5.22536581      16.97277168
C        0.89844908      -7.12950197      24.50305823
C        2.26546710      -7.17007350      24.34045882
C        3.07292993      -6.11938988      24.78448010
C        2.47805887      -5.15274064      25.59968010
C        1.10762096      -5.10499560      25.75247251
C        0.28513716      -6.03078110      25.10802425
C       -3.17309028      -6.48938679      23.74329367
C       -2.07424539      -6.72933061      24.54432551
C       -1.10646243      -5.74433867      24.74252719
C       -1.38440361      -4.46015753      24.26977128
C       -2.47030362      -4.22696487      23.45682495
C       -3.33441347      -5.26314546      23.09286966
C       -4.64791370      -5.98733925      19.69173283
C       -4.30650484      -6.18061381      21.01260835
C       -4.14724830      -5.09897867      21.88282871
C       -4.54472131      -3.84293366      21.41803397
C       -4.86712963      -3.64683453      20.09154180
C       -4.82676351      -4.70144428      19.17754648
C       -2.96576262       1.70212979       7.56702022
C       -2.75752771       2.70653928       6.63876840
C       -4.53195210       0.46645485       9.08994036
C       -4.14653795       1.64915427       8.30069034
C       -3.74536606      -0.09689160      10.08566051
C       -5.76110280      -0.11009093       8.79103423
C       -6.19995437      -1.25376559       9.44872779
C       -5.39783074      -1.81076342      10.43480514
C       -4.18004686      -1.22602570      10.77785485
C       -8.61945949       4.13467041      -1.33437835
C       -9.72757709       3.34861379      -1.55556492
C      -11.00298698       3.79490121      -1.20675275
C      -11.14351019       5.13560662      -0.84699026
C      -10.03458414       5.93006620      -0.64650845
C        5.10514737      -6.95543732      23.55925341
C        4.36077703      -5.91113347      24.11500389
C        4.22942815      -2.48644477      15.51237437
C        5.09232938      -2.79977519      16.53946052
C        5.60031984      -4.87796113      15.47325857
C        6.28296839      -4.49446340      17.86009823
C        5.73119680      -4.03907636      16.58025945
H       -1.25571605      -0.14980057     -18.35375792
H       -2.40711755       1.19667459      -0.67168239
H       -2.30192811       2.09891730      -2.96774004
H       -5.93499117       0.07593663      -3.91545915
H       -6.05482064      -0.78957103      -1.62975350
H      -12.49239999       0.50333957       4.98601063
H      -12.11188945       5.22425336       3.68286261
H       -3.12216076       4.07953340     -14.48768493
H       -3.18534206       4.29754039     -12.04012789
H       -1.38554678       0.44970175     -11.64884826
H       -1.37668470       0.20394450     -14.08980536
H        6.92691848      -0.72591080     -17.62831930
H        4.69944260      -0.84172735     -18.56239107
H        0.68726709      -0.61671548     -18.99317779
H        2.94009309      -1.03019768     -19.74578899
H        3.49461957       3.15504487     -20.39025079
H        1.20310922       3.55748573     -19.75625309
H       -2.49729864       0.09393715     -16.27725685
H        8.04104011       0.31200187     -11.26456105
H        8.87683117      -0.11917558     -13.50312962
H       10.63489717       3.76821388     -13.60615255
H        9.91566633       4.15363656     -11.30828655
H        5.81286606       5.22325883      -9.39250121
H        7.87373769       4.74541129     -10.58828829
H        7.80425514       0.74263316      -9.09805876
H        5.69377973       1.18835694      -7.99544409
H        3.82906621       4.64326862     -10.14685354
H        1.39175318       4.59985402     -10.10124192
H       -1.11878424       4.11271712     -15.91701151
H        0.17325864       3.86229276     -17.95294844
H        5.56639841       2.51545607     -21.06240525
H        7.79724095       2.66101264     -20.07197841
H       -6.37645835       2.34610433      -4.40012044
H       -2.29195250       1.84401535      -5.52298710
H      -10.13538939       4.00169418       4.35405942
H       -8.68112255      -0.95551364       2.40153156
H      -10.79064429      -0.07787619       3.22451866
H       -8.68630160       2.60304202       5.79812773
H       -6.55941173       1.71562843       4.97825594
H       -5.25040473      -2.03101326       0.32376245
H       -4.91951742       4.17629095      -7.96315720
H       -8.91348329       6.69328324      -6.77390161
H       -6.61499474       5.83837882      -6.83406826
H       -8.06481707       1.88720680      -6.12991091
H      -10.35880190       2.73738484      -6.06410854
H      -16.51667582       3.09693269       0.51349798
H      -15.53546936       2.33068954       2.57795631
H      -13.89563919       6.21919174       3.24084770
H      -14.76670777       6.94669840       1.11103163
H      -14.74918234       3.51518011      -3.64142665
H      -15.64542533       3.21481823      -1.42320707
H      -15.60474538       7.45038916      -0.83352348
H      -14.66549056       7.74298013      -3.05705036
H      -12.25235022       3.72996180      -7.00492550
H      -14.32267598       4.11572891      -5.76908848
H      -12.46777922       7.35299696      -3.68979562
H      -10.41056210       6.97751265      -4.93230375
H        1.48994399       1.99506134      -6.72288200
H        3.93911348       2.09637887      -6.71659382
H       -0.81616337       3.32997304      -6.61892674
H        0.10908597       2.71110186     -10.74329355
H       -3.94180863       2.62006685      -9.45791951
H       10.31485149      -0.35715436     -15.36135499
H        9.31608686      -0.70435394     -17.56692605
H        8.19931496       3.41716926     -17.69938463
H        9.20477423       3.76544863     -15.51523743
H      -14.50269089       1.74787696       4.39097219
H       -4.09405806       2.02682506       0.98222787
H       -5.50157847       2.10958638       2.96361917
H       -6.64108698      -1.96065702       2.33932862
H       14.28542845      -9.43077364      -0.16230401
H        7.65948422      -4.05011782      -8.26466225
H        9.96499964      -3.37584055      -7.81211458
H       10.56545499      -2.64192648     -11.97444727
H        8.24190783      -3.19914732     -12.41289233
H        2.97483730       0.91004112     -15.56261638
H        0.86022425       4.95567165     -13.72835963
H       17.90742218      -7.63234318      -4.11561312
H       17.90301525      -5.53242877      -5.37266710
H       13.66102063      -5.78503346      -5.78020313
H       13.66707332      -7.90147752      -4.54944253
H       16.09313229      -6.72100642       5.79695204
H       15.48717547      -8.66003218       4.53734631
H       14.48923943     -11.09288339       1.36621269
H       15.08176762     -10.71065789       3.70236314
H       19.18131357     -10.34095834       2.59974960
H       18.58944589     -10.65742924       0.26201273
H       14.00562558      -8.17546915      -2.22219250
H       17.81100418       0.86733958       4.25678403
H       17.94457385      -0.73405460       6.08364575
H       21.26769688      -2.61838036       4.17086492
H       21.12879211      -1.02706047       2.35225401
H       20.41617417       1.07821659      -1.25832838
H       21.04407491       0.90597876       1.09821479
H       16.93495994       0.39163297       2.14874818
H       16.30980290       0.58005660      -0.19838592
H       19.70575031      -0.75198973      -2.61630266
H       18.85055359      -1.85940712      -4.62384288
H       17.52200998      -9.99467824      -3.82217361
H       17.79989225     -11.27153867      -1.75887751
H       19.48202785     -10.14364813       4.85341093
H       20.09776526      -8.20243859       6.15428639
H       11.28829756      -0.70998560     -11.03658501
H       12.37639781      -3.50628016      -8.00809524
H        0.23889656       2.75885803     -12.85609333
H        2.30262987      -2.87159072     -13.81001528
H        1.41024965      -0.93385500     -14.99447396
H        1.85340918       1.42632920     -11.46903574
H        2.87372932      -0.45561056     -10.32646994
H        6.45448305      -4.38112058     -12.65258410
H       14.95632658      -0.22457321      -8.92599043
H       13.99984377       4.17756926     -10.55947147
H       14.16554974       2.08480870      -9.32975541
H       12.62160068      -0.01963444     -12.70660513
H       12.35604025       2.07128735     -13.89869382
H        5.70855489       6.52902709     -17.15667135
H        3.74677676       5.09990550     -17.27518568
H        2.65387098       6.27330753     -13.32238268
H        4.55237170       7.77526582     -13.24262238
H        9.84377255       7.45842675     -16.31571873
H        7.49142398       7.75993240     -16.84335633
H        6.52065853       7.30172290     -12.70173716
H        8.85552495       7.04389427     -12.17961218
H       12.62344108       3.86708399     -14.96106535
H       11.02675777       5.50640588     -15.76311661
H       11.04994366       7.40065998     -11.93552061
H       12.53622783       5.67887539     -11.09020658
H       15.24500889       0.40791563      -4.34168767
H       16.11128608       1.53999621      -2.34957492
H       15.31719507      -0.28055354      -6.72313268
H       17.05796151      -3.47084704      -4.49214762
H       14.32384170      -4.33267572      -7.64926729
H       17.24904647      -2.76644098       6.39245889
H       16.66596819      -5.06569780       6.79960882
H       20.72299463      -6.21842285       6.11060666
H       21.33002361      -3.89468315       5.85905478
H        3.67812830       3.08934200     -16.35194743
H        5.67483650      -2.99665688      -8.68661371
H        3.47606507      -2.27920371      -9.36498142
H        4.30100713      -3.53905952     -13.36694479
H        5.67438960     -10.58058222      18.21679028
H       11.68419843      -3.54774302       4.55313734
H       11.63883950      -3.55367405       7.00552649
H       13.29144740      -7.48385801       7.03008798
H       13.33813807      -7.48252675       4.57758771
H       20.38083937      -6.60092918      -2.05630156
H       21.69537454      -2.26244330      -0.15857854
H        9.83554444      -6.63170613      18.42259100
H       10.60683517      -5.09157403      16.69939028
H       10.05624296      -8.10858462      13.73503163
H        9.30124622      -9.66894272      15.46058427
H       -0.64226153      -5.61854600      21.58180927
H        0.51217700      -7.77477020      21.68376918
H        4.09384549      -9.38813122      18.97375212
H        2.25830133      -8.25095675      20.06835958
H        4.45163421      -8.19555884      23.72754310
H        6.27774602      -9.40470946      22.65057573
H        7.41158749      -9.99147728      16.63275587
H        1.08491987       1.07073103      16.02623988
H       -0.27050169       0.12772108      17.81534917
H        2.98158426       0.63109623      20.54117479
H        4.33174883       1.57068138      18.76223118
H        7.12640287       2.12258522      15.73459723
H        5.19468323       2.75903723      17.08697386
H        2.74789865       0.05906000      14.84944020
H        4.65584915      -0.50806774      13.46073929
H        8.17027123      -0.02169439      15.98778640
H        9.83866302      -1.73329242      15.43808290
H        9.73322563      -8.31712255      19.80213674
H        7.94759178      -8.79184157      21.36342117
H        4.00315146      -5.82273915      23.18193296
H        2.85655472      -3.68283236      23.08744556
H       14.93511500      -5.65235547       8.06563904
H       10.96199908      -4.99738573       9.45012649
H       19.45146633      -2.56435709      -1.02389965
H       16.34503977      -7.17237169       0.26462551
H       18.59190562      -6.91830817      -0.65917984
H       17.51661740      -3.08134526      -2.19150779
H       15.27363409      -3.33370636      -1.22465680
H       12.68811205      -7.42211704       2.42559144
H       14.24611777      -4.81109864      12.18863922
H       18.77852734      -3.48250678      11.60422796
H       16.34393202      -3.66018747      11.70235094
H       16.48216408      -6.99835423       9.04374737
H       18.89639928      -6.77016826       8.87391974
H       24.21947353      -6.11690201       3.18133371
H       23.22746984      -6.32017951       0.97064242
H       23.91812394      -2.16115145       0.27489415
H       24.88457963      -1.95416049       2.50879795
H       24.90327399      -5.65900144       7.34681824
H       25.67886996      -5.57881677       5.03471099
H       23.42482677      -2.00730791       4.40674771
H       22.61383812      -2.10884641       6.68941365
H       20.99715703      -6.85893702       9.54129684
H       22.95838575      -6.35428325       8.20146179
H       22.32538829      -2.17873991       8.85151406
H       20.29286086      -2.68184485      10.08518940
H        8.25848016      -2.01491145      11.48676812
H        6.58534620      -0.30126255      12.03226514
H       10.98264265      -2.59553613      11.47087382
H        9.13114579      -4.13030577      14.99163320
H       11.96564252      -6.51570105      12.88242918
H       -0.10704412      -1.96934676      18.64962328
H       -0.23304854      -4.01501596      19.95210129
H        1.31677262      -1.95809945      23.35641943
H        1.39352507       0.11320994      22.06397093
H       22.65305029      -6.28627051      -1.22660794
H       13.46307830      -3.27403328       3.13864742
H       14.76898595      -3.16588952       1.09539557
H       14.03118401      -7.31930599       0.40224973
H      -11.30508448      -4.39998678       3.83339047
H        2.89927377      -1.06190906      13.46563736
H        0.58618615      -0.80399621      12.69142049
H        0.09307034      -5.03864465      12.74291247
H        2.40590325      -5.30132122      13.51669818
H        6.47303690      -7.56301641      22.04479887
H        4.20233097      -3.76995417      24.19151461
H      -10.55019289      -0.67847542       8.13823401
H       -8.49132046       0.07949341       9.19787761
H       -6.85594525      -3.84558302       8.86284055
H       -8.92688054      -4.62132501       7.81798611
H      -11.63756150       1.47860481      -2.58352919
H      -12.70876230      -0.47303159      -1.56565336
H      -11.32924610      -3.00713225       2.23576011
H      -11.64882323      -1.53521617       0.34053264
H      -15.27060877      -0.07729550       2.06115428
H      -14.99332806      -1.60885151       3.94105850
H       -9.86653613      -4.46683361       5.78279455
H       -4.24000829       5.51390305       0.17083253
H       -6.05260558       5.33278510      -1.44441815
H       -8.79305797       6.84439006       1.46497113
H       -6.99035309       7.02626193       3.07356765
H       -4.38860248       6.36893626       6.24848073
H       -5.12181029       7.47793758       4.19956471
H       -3.77410215       4.12630028       1.91190239
H       -2.97803497       3.06732110       3.94543118
H       -5.57861879       4.48658517       7.13860232
H       -5.95378045       2.69426344       8.77019953
H      -12.44054310      -1.70318139       7.77657413
H      -13.80813592      -1.53948252       5.78801988
H      -13.80647943       1.90311582       1.80936713
H      -12.74939257       3.84256215       0.79747369
H       -1.43078772      -3.78695008      14.54278136
H       -1.50219832      -1.67318238      10.84706389
H        5.73395633      -3.37011187      22.35594753
H        5.54839995      -6.47849602      17.57604184
H        5.71443303      -7.10489687      19.93112692
H        7.45792368      -3.30764894      20.80731559
H        7.24979371      -2.67663789      18.44342725
H        4.65214832      -5.23958838      13.60526009
H       -5.13761074      -2.34827797      13.00289618
H       -6.02711314      -2.72038162      17.66334184
H       -5.35140471      -2.04174865      15.41582580
H       -2.82885706      -5.47554032      15.13930005
H       -3.43075284      -6.10727250      17.40823763
H        0.28740598      -7.89752010      24.05186018
H        2.70041965      -7.97074811      23.76108242
H        3.08979361      -4.39356555      26.06558584
H        0.66274627      -4.30576425      26.32815038
H       -3.88704242      -7.28322517      23.57737126
H       -1.93796409      -7.70795767      24.98254549
H       -0.67821140      -3.66309495      24.45072526
H       -2.58793023      -3.24914802      23.01538615
H       -4.72442434      -6.84292240      19.03663823
H       -4.07684438      -7.17941555      21.35259679
H       -4.54815761      -2.99697708      22.08981334
H       -5.07255751      -2.64532516      19.74298934
H       -2.23390573       0.91476149       7.68158549
H       -1.85347443       2.70736029       6.04592099
H       -2.80878343       0.37111000      10.35224040
H       -6.36363910       0.31045398       7.99881161
H       -5.72695551      -2.70458641      10.94455249
H       -7.63710611       3.71814214      -1.49648888
H       -9.59110408       2.33128219      -1.89095048
H      -12.12985615       5.53890292      -0.67105690
H      -10.16860186       6.95331743      -0.32529704
H        4.96614876      -7.96426026      23.92060151
H        3.67808794      -1.55912205      15.55999648
H        5.20467696      -2.11237284      17.36427126
H        6.14820872      -5.80854810      15.43458023
```

</details>

<details><summary>【鎖を4つにしたCPPの最適化構造】</summary>

```:cpp_4_opt.xyz
712
energy=-452542.74287369323
C       -1.21183817       0.87863031     -17.92043463
C       -0.41965070       1.98812973     -18.22771928
C       -4.72007212       0.16128873      -0.58736258
C       -4.46710461       0.88197996      -3.29550381
C       -3.71817389       1.03686945      -1.00379982
C       -3.58969095       1.38971535      -2.34093989
C       -5.39048297      -0.08146316      -2.89601564
C       -5.51136514      -0.43987800      -1.56559733
C       -5.12609987       0.02494082       0.83410988
C      -12.59704443       1.40630994       5.23342562
C      -12.27951915       4.11740401       4.90113701
C       -2.48123636       1.86045633     -14.51895107
C       -3.11249026       2.88826376     -13.81972734
C       -3.14594541       2.88494893     -12.43089255
C       -1.99793270       0.78592687     -12.40712430
C       -1.98573945       0.78037406     -13.79021651
C       -2.53300283       1.86364376     -11.70681191
C        7.61451718       1.89782085     -18.44969210
C        6.91493748       0.69306912     -18.47000458
C        5.65590478       0.60561966     -19.03153761
C        5.03092426       1.71555844     -19.60329506
C        1.45976220       0.65317234     -19.16181167
C        2.79425520       0.57784239     -19.51264677
C        3.54697975       1.72851912     -19.75982326
C        2.83075791       2.92284422     -19.87526836
C        1.48496450       2.99501090     -19.54907918
C        0.79873440       1.87851593     -19.07146063
C       -2.01088293       0.86481795     -16.78953143
C        9.80007270       2.09194677     -14.84231473
C        8.77574509       0.82807310     -11.51479634
C        9.28408005       0.81040377     -12.80332881
C        9.84219208       1.95632328     -13.36512037
C       10.08311656       3.04175463     -12.52277700
C        9.59802586       3.04919293     -11.22646037
C        8.82733248       1.98675397     -10.74304527
C        5.96178477       3.55650014      -8.94878723
C        7.20180583       3.41865189      -9.54357396
C        7.80721298       2.16750538      -9.67699160
C        7.20299683       1.09036883      -9.02670701
C        5.95015035       1.22746867      -8.44885988
C        5.26615081       2.44159195      -8.48332965
C        3.79607882       2.49705307      -8.28353825
C        3.05432248       3.33214927      -9.12108463
C        1.67538296       3.27416993      -9.15053721
C       -1.43713087       3.13947891     -16.35938802
C       -2.06424512       1.97034031     -15.93974969
C       -0.62087604       3.14538859     -17.47728175
C        5.81389471       2.86457440     -19.75033151
C        7.07776055       2.95443050     -19.18492413
C       -4.60297797       1.49394755      -4.64492936
C       -5.83114947       2.08460160      -4.91727791
C       -3.60849712       1.54485182      -5.61419975
C       -3.83857214       2.18354960      -6.83529143
C      -11.21526394       3.33906722       5.31608737
C      -11.32378030       1.95215431       5.39683809
C       -8.90052748      -0.44274176       3.92225471
C      -10.08434567       0.04154715       4.44960082
C      -10.08550073       1.13636099       5.31172874
C       -8.85096799       1.59099720       5.78375867
C       -7.66553267       1.11260031       5.24787053
C       -5.62621790      -1.16621270       1.36151938
C       -5.06632779       2.80929038      -7.06148613
C       -6.07613915       2.75502403      -6.10960110
C       -9.93351198       4.60281265      -5.96483343
C       -8.81641531       5.35586465      -6.31916239
C       -7.57138134       4.75795729      -6.46657894
C       -7.41049116       3.39234811      -6.25003335
C       -8.54486129       2.62655021      -5.98991916
C       -9.78432553       3.22084438      -5.85385080
C      -15.93731704       4.14910228       1.73821524
C      -15.43363577       3.63158323       2.92059480
C      -14.42942496       4.28957929       3.63552919
C      -14.14153272       5.59588755       3.23309386
C      -14.62475270       6.10382314       2.04136562
C      -15.44434750       5.34171437       1.20874481
C      -14.96399204       4.68257048      -2.41603840
C      -15.45640824       4.55037604      -1.13023616
C      -15.46459482       5.62878064      -0.24876945
C      -15.15442950       6.88736689      -0.77432291
C      -14.65705142       7.01939942      -2.06035273
C      -14.45705790       5.89738312      -2.86949266
C      -12.43579583       4.58276581      -5.74594164
C      -13.55576275       4.91138942      -5.00364122
C      -13.48504733       5.87044652      -3.99128227
C      -12.30631938       6.60435250      -3.87559890
C      -11.18349962       6.27478531      -4.61721848
C      -11.20872842       5.20339662      -5.50459115
C        1.70430919       1.58270185      -7.46542992
C        3.09292312       1.64598781      -7.43047305
C       -0.48335494       2.21566684      -8.58878723
C        0.97580712       2.36923443      -8.35487471
C       -1.44754508       2.24872590      -7.58771393
C       -0.89597981       2.07166732      -9.90879838
C       -2.23965274       1.99249023     -10.25262025
C       -3.19069609       2.04360772      -9.24192604
C       -2.80451680       2.16286528      -7.90403841
C       10.02479124       1.02304543     -15.71037218
C        9.46731062       1.01291201     -16.97994620
C        8.66558172       2.07026941     -17.41518345
C        8.62196289       3.21707333     -16.62441996
C        9.18140508       3.22927148     -15.35934388
C      -13.66277240       2.18805177       4.81664479
C      -13.50366711       3.54980479       4.54255047
C       -5.23766183       1.17616831       1.60860604
C       -5.94277481       1.17127327       2.79981616
C       -6.33679015      -1.17210421       2.55140145
C       -7.68110013       0.15791369       4.22882513
C       -6.57046996       0.01162489       3.25314900
C       14.77135674      -9.51445875      -0.79122103
C       15.90954474     -10.24608784      -0.45687821
C        7.72905571      -2.90895796     -10.03740349
C       10.49176641      -2.43524955      -9.68462497
C        8.29792099      -2.87847118      -8.76346165
C        9.65461258      -2.64155000      -8.58992899
C        9.94379953      -2.57449263     -10.95734936
C        8.59187709      -2.79905917     -11.12934682
C        6.26395622      -2.84180354     -10.27573071
C        2.07532858       1.73905779     -15.52644765
C        1.52160571       4.30314657     -14.69836439
C       15.74765867      -7.93490145      -4.03906838
C       16.96376260      -7.31080756      -4.31470766
C       17.01694789      -6.15117604      -5.06632177
C       14.65351524      -6.25913917      -5.39505740
C       14.60097246      -7.42294183      -4.64378061
C       15.85322292      -5.57011893      -5.56595714
C       18.14354661      -7.03659711       6.38238526
C       16.83627943      -7.03603777       5.89706877
C       16.34954175      -8.10935677       5.17311272
C       17.14865036      -9.21734951       4.90415909
C       15.22181123     -10.54191600       1.95915801
C       15.52204426     -10.29209098       3.28886687
C       16.82822713     -10.00209385       3.68489589
C       17.83795765     -10.15470479       2.73712065
C       17.53581192     -10.39007832       1.40761744
C       16.21460324     -10.49470931       0.97664473
C       14.66345801      -8.87334066      -2.01356251
C       19.80401579      -3.18006494       5.92414365
C       19.24148449       0.08883688       4.13460425
C       19.31962151      -0.80653130       5.19072976
C       20.07544631      -1.97823662       5.09128478
C       20.90850787      -2.10225062       3.97943418
C       20.85954413      -1.19041904       2.94346396
C       19.94939563      -0.13694899       2.95503321
C       20.08769310       0.77114396      -0.69543610
C       20.49293973       0.67640538       0.62680535
C       19.56697164       0.44469083       1.64460732
C       18.21396780       0.47101297       1.31120260
C       17.80977585       0.56363548      -0.00909675
C       18.74261468       0.63710056      -1.04267039
C       18.30248623       0.31004568      -2.42182416
C       19.07752287      -0.55853377      -3.19050228
C       18.54617195      -1.19415975      -4.29995145
C       16.74474629      -9.81853318      -2.68902271
C       15.69085967      -8.94174589      -2.95134176
C       16.85015796     -10.46159937      -1.46726061
C       18.37016038      -9.30870806       5.57247199
C       18.85510336      -8.23769478       6.30663304
C       11.88439664      -1.94351140      -9.54212959
C       12.28644014      -0.89900169     -10.36711054
C       12.77540061      -2.41787119      -8.58673629
C       14.04835908      -1.86289036      -8.46013224
C        1.01254788       3.22323837     -13.99642537
C        1.38697348       1.92143817     -14.32998163
C        1.95021149      -1.47650346     -12.81721416
C        1.37225709      -0.52315538     -13.64066792
C        1.45607949       0.83287440     -13.32405338
C        1.97183983       1.17449371     -12.07591627
C        2.55318806       0.22528590     -11.25483719
C        5.71622102      -3.21741571     -11.50225544
C       14.42905993      -0.81701930      -9.30259242
C       13.55097993      -0.32699172     -10.26284909
C       13.69784557       3.15996598     -12.73456587
C       14.24038377       3.19474929     -11.44951070
C       14.30382750       2.04824581     -10.66887924
C       13.83076539       0.82978963     -11.15144540
C       13.42764966       0.76954237     -12.48268786
C       13.35676067       1.91101349     -13.25575458
C        5.59697809       5.62965798     -17.09741855
C        4.38912978       4.95155838     -17.10190949
C        3.43679440       5.16769650     -16.10369822
C        3.66155111       6.25123657     -15.24986859
C        4.86321061       6.93729031     -15.25341125
C        5.90011146       6.56178002     -16.10646190
C        9.66974671       6.83571704     -16.36551422
C        8.33653088       6.92355561     -16.74178543
C        7.31598338       6.87979923     -15.78996386
C        7.69140493       6.89076592     -14.44644410
C        9.01901013       6.80548639     -14.07205252
C       10.03321626       6.70098969     -15.02395691
C       12.90833418       4.32900042     -14.80899473
C       11.98520180       5.19897624     -15.36351355
C       11.34747931       6.16422992     -14.58480797
C       11.82449350       6.35373659     -13.28602468
C       12.72899230       5.46654690     -12.72490693
C       13.20438049       4.36904097     -13.44633085
C       16.50062278       0.00840935      -4.00502884
C       17.02901451       0.63582459      -2.88816418
C       16.54640328      -1.88379913      -5.63371334
C       17.22718237      -0.96802830      -4.68444583
C       15.71509353      -1.44825239      -6.65746062
C       16.62519804      -3.24557846      -5.36352663
C       15.86450282      -4.17262124      -6.06862098
C       15.04654760      -3.71815119      -7.09903143
C       14.96773365      -2.35904952      -7.40325836
C       18.57599634      -3.32586583       6.57523253
C       18.09015744      -4.57412432       6.91939314
C       18.80819232      -5.72716006       6.60227674
C       20.11901914      -5.56150604       6.15909382
C       20.61380818      -4.31146497       5.83615143
C        2.59692356       2.81940813     -16.21693103
C        2.43520230       4.12187657     -15.74368268
C        5.42527667      -2.18076950      -9.37846537
C        4.16355229      -1.75014057      -9.75629299
C        4.46547638      -2.77141513     -11.88806863
C        2.64142240      -1.10510822     -11.65995978
C        3.70059308      -1.95302991     -11.05579154
C        5.74434406     -10.06837740      17.70136482
C        5.71217187      -9.79883177      19.07141508
C       12.53983258      -5.37652532       4.30294752
C       12.66737539      -5.46066003       7.11579260
C       12.00737546      -4.34427868       5.07446403
C       12.06740756      -4.38788523       6.45942807
C       13.08144242      -6.54935213       6.35107349
C       13.00743331      -6.50843024       4.96966142
C       12.85903731      -5.21507177       2.86121388
C       20.39665512      -5.21245880      -1.74362622
C       21.09520129      -2.85381491      -0.50558647
C        8.86046214      -8.28682014      16.66279290
C        9.18654205      -7.00296254      17.10145760
C        9.76816469      -6.08630111      16.24620446
C        9.80859227      -7.73028324      14.51079939
C        9.22485528      -8.65119401      15.36791535
C       10.04221089      -6.41877595      14.92150821
C        0.18016870      -4.63719845      21.48992891
C       -0.53578610      -5.76842038      21.09247860
C        0.06063480      -7.02068683      21.08956812
C        1.38940179      -7.17729865      21.48627586
C        3.29492872      -9.24145830      19.06451240
C        2.22385226      -8.60891535      19.66880698
C        2.24808025      -8.29957492      21.02772641
C        3.28872485      -8.83257799      21.78773150
C        4.34853549      -9.49415307      21.18456108
C        4.42317774      -9.61843369      19.79486308
C        6.83816369      -9.71110696      16.93291833
C        0.23173128      -0.85205876      19.61867783
C        1.40816672       1.02965832      16.55693360
C        0.52221808       0.48099554      17.47357701
C        0.93846749       0.13566781      18.76147013
C        2.22689818       0.51266126      19.13763437
C        3.10961078       1.05724426      18.22454934
C        2.74526091       1.25305693      16.89336715
C        6.20543500       1.68798531      15.50134493
C        5.06431664       1.97383950      16.22966088
C        3.83171701       1.40846012      15.89013385
C        3.75230293       0.73620383      14.67170245
C        4.89420607       0.46347534      13.93426101
C        6.15332489       0.83905715      14.39429558
C        7.35263886       0.11447192      13.90233629
C        8.28294025      -0.31855699      14.84735754
C        9.21137405      -1.29348291      14.53780228
C        8.00751058      -9.04038363      18.89842105
C        7.94882563      -9.09362360      17.50856417
C        6.90494180      -9.38075221      19.66332815
C        2.03410304      -6.08159480      22.05433717
C        1.43811535      -4.83280226      22.06054347
C       13.02262986      -5.37557340       8.55592184
C       14.35193273      -5.59795948       8.90246593
C       12.12432732      -5.00168316       9.55087784
C       12.54574444      -4.88408959      10.87370033
C       19.81706780      -3.01923968      -1.00864187
C       19.41360139      -4.23851784      -1.54992359
C       16.26928489      -5.98923690      -0.61424741
C       17.54824954      -5.79898516      -1.10744528
C       17.96109783      -4.54989645      -1.57015300
C       16.98875049      -3.55688944      -1.71341855
C       15.70681569      -3.75097643      -1.22591601
C       12.94510006      -6.29737718       1.98320018
C       13.88863249      -5.07781632      11.19025635
C       14.81025328      -5.41586624      10.20391959
C       19.08037116      -5.16051378      10.32801255
C       18.29207852      -4.26231017      11.04822932
C       16.91419268      -4.40497411      11.09867441
C       16.27733224      -5.45236472      10.43455280
C       17.07371740      -6.42498555       9.83495869
C       18.44941463      -6.28058413       9.78580923
C       23.84038028      -4.99487398       2.54933670
C       23.24505229      -5.04711134       1.30236153
C       23.07620401      -3.89543953       0.53565822
C       23.68616332      -2.72550128       0.99403253
C       24.28042305      -2.67099096       2.24666318
C       24.29487250      -3.78916729       3.08391019
C       24.44398700      -4.91097502       6.65950174
C       24.81228096      -4.81642772       5.32848008
C       24.45410823      -3.70610817       4.55954395
C       23.92965519      -2.61025392       5.24131287
C       23.54950818      -2.71300881       6.56972421
C       23.68672716      -3.90881429       7.27559015
C       21.38351285      -5.82994127       9.54379052
C       22.51357924      -5.51299563       8.80871632
C       22.80150242      -4.19648742       8.44057204
C       21.99596839      -3.20265756       8.99744171
C       20.85295946      -3.51907585       9.70942897
C       20.47574242      -4.84403551       9.92821143
C        8.41003811      -1.35014025      12.28908806
C        7.47573400      -0.37087304      12.60072956
C       10.01658554      -3.13015866      13.08624271
C        9.24602932      -1.87349645      13.27187065
C       10.89780978      -3.37707185      12.03776527
C        9.78731440      -4.13405240      14.02286144
C       10.42736088      -5.36548686      13.95143451
C       11.33370283      -5.57977143      12.91907766
C       11.56780605      -4.59750808      11.96029829
C       -0.42580726      -1.92622029      19.02221491
C       -0.61981662      -3.11253736      19.71191037
C       -0.15499958      -3.26730702      21.01734662
C        0.28929316      -2.12042648      21.67928033
C        0.47404978      -0.93232169      20.99294652
C       21.66978148      -5.05320355      -1.21935380
C       22.00784593      -3.90616608      -0.49767761
C       13.33965389      -3.98534470       2.41681750
C       14.02299670      -3.87747847       1.21848913
C       13.62833158      -6.18823571       0.78261974
C       15.35889964      -4.93481289      -0.57151143
C       14.25170844      -4.99446860       0.41658913
C      -11.02738176      -3.70425929       4.10196476
C      -12.16733721      -2.89789804       4.12376422
C        3.14267098      -3.83025106      13.54987270
C        0.49143534      -3.37787119      12.70094473
C        2.74953713      -2.59357628      13.03952372
C        1.44521899      -2.36661316      12.61987165
C        0.92258969      -4.65247600      13.06691325
C        2.22296902      -4.87599793      13.48242890
C        4.35312765      -4.00063578      14.39548021
C        5.96820597      -6.49892320      22.93121054
C        4.76656930      -4.24681718      23.96219283
C       -9.46904038      -2.92958857       7.42118991
C       -9.35103670      -1.64150579       7.94274061
C       -8.23063236      -1.26680600       8.65686677
C       -7.34834967      -3.47868483       8.44945476
C       -8.47506067      -3.85639078       7.73054573
C       -7.18418111      -2.16173339       8.87175470
C      -12.11693453       3.03055752      -1.22323847
C      -12.24671235       1.85467171      -1.96334107
C      -12.78425613       0.71207528      -1.38897042
C      -13.21643444       0.71998282      -0.06177132
C      -11.93510812      -2.26970300       1.72785660
C      -12.20708923      -1.38946994       0.69715449
C      -13.27990022      -0.50465385       0.77389250
C      -14.17067275      -0.66310315       1.83483992
C      -13.90737154      -1.56125799       2.85765452
C      -12.73162332      -2.31774919       2.87272457
C      -10.21549936      -3.82595453       5.21699609
C       -8.76967056       5.55909911      -0.99901611
C       -5.26466507       5.66730149       0.40092154
C       -6.27263768       5.67555153      -0.55178809
C       -7.58853941       5.99081281      -0.20409844
C       -7.81266521       6.45146230       1.09266621
C       -6.80708873       6.44511531       2.04138342
C       -5.53092228       5.97516098       1.73726503
C       -4.26218734       5.50409320       5.24752196
C       -4.72844287       6.15848814       4.12060199
C       -4.64737050       5.56313931       2.85952462
C       -3.91496095       4.38215886       2.75774654
C       -3.45058678       3.72227971       3.88517416
C       -3.69368103       4.23183651       5.15860356
C       -3.58686090       3.34449031       6.34552275
C       -4.64724934       3.33896697       7.25270583
C       -4.77006654       2.33896103       8.19872358
C      -11.76744710      -2.54507935       6.48882791
C      -10.52338959      -3.16710292       6.40572787
C      -12.57090744      -2.41280161       5.36916409
C      -13.26682227       1.94372094       0.60190510
C      -12.72625006       3.08067105       0.03014951
C       -0.97234692      -3.10195887      12.68243770
C       -1.64435523      -3.45181079      13.84914653
C       -1.68969279      -2.49997350      11.65351243
C       -3.06307539      -2.27756997      11.78866720
C        5.53451676      -4.15779421      22.81497906
C        6.06835633      -5.30000205      22.22375065
C        5.92411973      -6.04991051      18.57095877
C        5.93135780      -6.22477999      19.94440716
C        6.45116205      -5.24949950      20.79168406
C        7.08255186      -4.14892269      20.21137559
C        7.06542653      -3.96732394      18.83720356
C        5.01817454      -5.22256946      14.52172759
C       -3.70797322      -2.63813178      12.97302852
C       -3.00422640      -3.22604471      14.01782435
C       -4.29075842      -4.06194240      18.02554165
C       -4.78806690      -2.95087337      17.34575047
C       -4.44485245      -2.70852997      16.02267748
C       -3.59421177      -3.57082993      15.33536466
C       -3.17985259      -4.73243318      15.98448535
C       -3.51561662      -4.97013566      17.30357297
C        1.06771171      -6.58914883      25.35983884
C        2.43955392      -6.68956601      25.19187567
C        3.27022003      -5.58948964      25.38851987
C        2.71280826      -4.48291493      26.03735291
C        1.34506753      -4.38444267      26.21448301
C        0.48717073      -5.38467885      25.74451609
C       -2.91332863      -5.84103959      24.19896379
C       -1.86159943      -6.06597888      25.07271996
C       -0.89756209      -5.08249627      25.30266236
C       -1.14493205      -3.81564672      24.77848773
C       -2.18973129      -3.59337127      23.90247403
C       -3.04023129      -4.62759477      23.51718433
C       -4.34843758      -5.47474941      20.10328506
C       -4.04986489      -5.60666417      21.44898676
C       -3.80197826      -4.48894867      22.24792059
C       -4.03473311      -3.23642167      21.67793601
C       -4.30646102      -3.10350987      20.32825853
C       -4.38975958      -4.21937683      19.49761530
C       -2.71125117       1.37904300       7.45805188
C       -2.59180500       2.38079030       6.50162515
C       -4.19151965       0.09051261       9.05651346
C       -3.83474118       1.30784634       8.27739354
C       -3.40622020      -0.51926833      10.03004614
C       -5.42091707      -0.47598799       8.74007761
C       -5.88491569      -1.63045550       9.35936212
C       -5.09188337      -2.22100133      10.33654089
C       -3.85849280      -1.66641732      10.68708338
C       -8.69972671       4.36307762      -1.71003512
C       -9.84488830       3.62761967      -1.96977084
C      -11.09032078       4.06021060      -1.52054968
C      -11.18334469       5.36444301      -1.03119628
C      -10.04048601       6.10449152      -0.78276450
C        5.20685380      -6.58737047      24.08686712
C        4.50748298      -5.47755057      24.56916637
C        4.67016325      -2.99235604      15.30315594
C        5.47907109      -3.25106723      16.39617304
C        5.82606967      -5.48392383      15.61779165
C        6.42095284      -4.87958451      17.99924125
C        5.99592379      -4.52660514      16.61988706
H       -1.15275285      -0.01472733     -18.52936645
H       -3.06541908       1.49077767      -0.26736306
H       -2.85212947       2.12749237      -2.63472112
H       -6.06490700      -0.50436979      -3.63107079
H       -6.29332438      -1.12733313      -1.26770062
H      -12.73878275       0.33855455       5.34542343
H      -12.09579657       5.17015049       4.74368086
H       -3.53287542       3.72677422     -14.36259905
H       -3.58552721       3.72303347     -11.90239354
H       -1.51923609      -0.02021299     -11.86316354
H       -1.48743475      -0.02646161     -14.31240034
H        7.30078951      -0.15729268     -17.92232441
H        5.11909018      -0.32333045     -18.90947694
H        0.96073308      -0.25322203     -18.84538815
H        3.26559474      -0.39458642     -19.49588562
H        3.33987385       3.84276201     -20.13173095
H        0.99392193       3.95930520     -19.58178908
H       -2.55046122      -0.03784727     -16.52764936
H        8.20044939      -0.02309888     -11.17383427
H        9.08834932      -0.05064888     -13.43152273
H       10.57925273       3.92225864     -12.91297902
H        9.74065582       3.93402262     -10.61721313
H        5.49392840       4.53271485      -8.92796578
H        7.65113610       4.28340300     -10.01432976
H        7.66592915       0.10984962      -9.05311548
H        5.45362920       0.34921410      -8.05761860
H        3.56797514       3.99136815      -9.80906079
H        1.12673069       3.91418577      -9.83140877
H       -1.46757708       4.01634565     -15.72542436
H       -0.02805065       4.02793509     -17.67524788
H        5.41164182       3.73754393     -20.24818793
H        7.62421732       3.88770710     -19.25635849
H       -6.60347442       2.06268702      -4.15786371
H       -2.66212550       1.04755626      -5.43799426
H      -10.24902119       3.80964284       5.44401049
H       -8.94883253      -1.19311068       3.14274285
H      -11.01982924      -0.34262938       4.06262844
H       -8.81456216       2.39345043       6.51155913
H       -6.72320576       1.54977351       5.56100846
H       -5.50834986      -2.08903164       0.80590478
H       -5.23783450       3.33458357      -7.99349366
H       -8.91089369       6.42836395      -6.43836107
H       -6.70376085       5.36983464      -6.68333161
H       -8.43976725       1.55831785      -5.84290442
H      -10.63895440       2.61536165      -5.57879753
H      -16.64698458       3.55852755       1.17243329
H      -15.76313720       2.64624691       3.22312305
H      -13.44259428       6.20184404       3.79123612
H      -14.25054927       7.06029861       1.70014952
H      -14.82644638       3.78776013      -3.00885098
H      -15.67989610       3.55553706      -0.76919886
H      -15.22849078       7.76712504      -0.14690426
H      -14.35101406       7.99737940      -2.41166630
H      -12.49781606       3.79135506      -6.48308609
H      -14.47956507       4.36994545      -5.16782085
H      -12.21606677       7.35127698      -3.09741210
H      -10.24459194       6.77011959      -4.40157258
H        1.18413366       0.87608979      -6.82932491
H        3.63489909       1.00091923      -6.74879302
H       -1.14205579       2.38871796      -6.55723618
H       -0.15196278       2.01441871     -10.69404472
H       -4.24018839       1.94721496      -9.49182961
H       10.56266623       0.14996406     -15.35826064
H        9.58360802       0.13391657     -17.60257028
H        8.01408057       4.05951765     -16.92701038
H        8.99738788       4.08097348     -14.71590828
H      -14.60845891       1.69768336       4.62449082
H       -4.88205653       2.11816754       1.21151779
H       -6.11200588       2.11099989       3.31185583
H       -6.77104223      -2.09861169       2.90815847
H       14.01020191      -9.33972802      -0.04163549
H        7.66896955      -2.99561574      -7.88950598
H       10.05578359      -2.55318306      -7.58743182
H       10.57872769      -2.45245177     -11.82615631
H        8.19022349      -2.80991697     -12.13413521
H        2.35286805       0.73902775     -15.83806970
H        1.27340111       5.30005701     -14.35726688
H       17.87063845      -7.68675601      -3.85700174
H       17.96894730      -5.65506153      -5.21173935
H       13.73540807      -5.83677287      -5.78536470
H       13.64532689      -7.90595014      -4.47827911
H       16.24436707      -6.12966023       5.93178299
H       15.40003865      -8.00634408       4.66623794
H       14.18904317     -10.70306860       1.67548450
H       14.72003594     -10.24685966       4.01670277
H       18.86244207      -9.93841908       3.01289462
H       18.33727059     -10.35519681       0.68152510
H       13.82623291      -8.20863546      -2.18899594
H       18.56834449       0.93513527       4.20468104
H       18.71249010      -0.62608555       6.06847838
H       21.52082152      -2.98324378       3.84513211
H       21.44145681      -1.39022823       2.05437621
H       20.83216703       0.88986653      -1.47343367
H       21.54969363       0.71617984       0.86591006
H       17.47426502       0.28531738       2.08042233
H       16.75852123       0.45502945      -0.24524917
H       20.07265811      -0.82442003      -2.85773065
H       19.14000802      -1.92897990      -4.83045932
H       17.52150452      -9.95711813      -3.43131799
H       17.70914093     -11.09320374      -1.27875137
H       18.98847827     -10.18903197       5.44292201
H       19.84591086      -8.30466347       6.74065906
H       11.57332676      -0.47060366     -11.06132304
H       12.47230587      -3.21377776      -7.91670898
H        0.38964009       3.39584758     -13.12448316
H        1.93317385      -2.51578605     -13.12218677
H        0.92466328      -0.82850251     -14.57997899
H        2.06335831       2.21961845     -11.80756292
H        3.06981781       0.56192013     -10.36364623
H        6.30429401      -3.79518034     -12.20356650
H       15.42515710      -0.39729276      -9.22053124
H       14.55562964       4.13794363     -11.02060217
H       14.64550128       2.12004725      -9.64300721
H       13.09001492      -0.17395102     -12.89424866
H       12.92453378       1.83902750     -14.24482173
H        6.35753996       5.33495320     -17.80948966
H        4.25154121       4.16524902     -17.83196526
H        2.93602140       6.50339274     -14.48901515
H        5.02700567       7.71519616     -14.51786924
H       10.43378006       6.81394656     -17.13346220
H        8.08637669       6.97202943     -17.79539965
H        6.92865071       6.84261176     -13.68013793
H        9.25610254       6.69096808     -13.02194220
H       13.31533565       3.54044501     -15.42838611
H       11.66700679       5.03822799     -16.38574784
H       11.41197391       7.14319047     -12.66975552
H       12.96906615       5.56352793     -11.67370918
H       15.47953528       0.21449716      -4.30336630
H       16.42023662       1.34197497      -2.33681578
H       15.61668584      -0.38696464      -6.85390730
H       17.20982756      -3.57842295      -4.51497465
H       14.46491660      -4.42938520      -7.67380782
H       17.93027000      -2.46914344       6.71667131
H       17.10048046      -4.65065858       7.35445417
H       20.72759801      -6.42930322       5.93744113
H       21.60785138      -4.24746321       5.41265772
H        3.24893304       2.61177085     -17.05464333
H        5.79997012      -1.91030606      -8.39900391
H        3.57225124      -1.16690021      -9.05965495
H        4.12834473      -2.97258879     -12.89682295
H        4.87061335     -10.47146558      17.20611312
H       11.59450089      -3.46884159       4.58829146
H       11.71706897      -3.54109892       7.03759705
H       13.51967760      -7.41203090       6.84000578
H       13.39841234      -7.33495410       4.39058597
H       20.13787406      -6.14632261      -2.22933849
H       21.32367649      -1.93599024       0.01824842
H        8.90062403      -6.69009550      18.09804963
H        9.96548065      -5.08250290      16.60219285
H       10.02629068      -8.01573198      13.48850765
H        9.01182486      -9.65169964      15.01039186
H       -1.54022583      -5.65675254      20.70221713
H       -0.48588813      -7.87123001      20.69703745
H        3.30229702      -9.31426620      17.98509004
H        1.42723831      -8.21842482      19.04751975
H        3.31649199      -8.65689855      22.85594028
H        5.16836710      -9.83902941      21.80309587
H        6.78168817      -9.81382515      15.85622404
H        1.06630705       1.22881692      15.54791868
H       -0.48958964       0.25959745      17.15598106
H        2.59454496       0.25500430      20.12214108
H        4.13736090       1.20997300      18.52623804
H        7.16050649       2.07391065      15.83646771
H        5.14729363       2.58598408      17.11885979
H        2.81008473       0.30159876      14.35903429
H        4.82199961      -0.16318393      13.05423894
H        8.21889856       0.04329488      15.86539572
H        9.87910071      -1.66303069      15.30631259
H        8.88372561      -8.62921037      19.38480388
H        6.94210915      -9.19577428      20.72900225
H        3.06820474      -6.17286859      22.36648036
H        2.02688809      -3.98008213      22.37814301
H       15.06233186      -5.84421405       8.12193463
H       11.08204672      -4.83384321       9.30514588
H       19.09060152      -2.23304817      -0.84206352
H       16.03195763      -6.92801589      -0.12892504
H       18.27284166      -6.59532781      -0.98744263
H       17.25687681      -2.59146016      -2.13133498
H       14.99412698      -2.93666647      -1.27879980
H       12.52284475      -7.25410672       2.26798666
H       14.21327284      -4.95326924      12.21694780
H       18.74940299      -3.40565982      11.52799620
H       16.31693800      -3.64926601      11.59458092
H       16.61092351      -7.27044646       9.33926924
H       19.02744794      -7.00254399       9.22395817
H       23.82573267      -5.88191993       3.16980910
H       22.78075282      -5.97166753       0.98514596
H       23.63067455      -1.82297260       0.39635073
H       24.67415977      -1.72663558       2.60392571
H       24.67869078      -5.82273085       7.19206867
H       25.31528055      -5.65386476       4.85995452
H       23.66169266      -1.71384881       4.69625584
H       23.00176587      -1.88426313       6.99543285
H       21.17100986      -6.87073750       9.75567561
H       23.12347241      -6.32705022       8.44091782
H       22.19725432      -2.15905186       8.79819413
H       20.19351184      -2.71557446      10.01119487
H        8.43012250      -1.77417969      11.29210811
H        6.79429049      -0.02748100      11.83169079
H       11.09211099      -2.60990906      11.29646211
H        9.04115203      -3.96824484      14.79029910
H       11.85991455      -6.52434490      12.84387465
H       -0.65669046      -1.89888685      17.96466396
H       -0.99878802      -3.97170547      19.17181503
H        0.58404384      -2.18186217      22.72076815
H        0.90092427      -0.08444706      21.51463227
H       22.38052179      -5.86655649      -1.30275350
H       13.29026907      -3.12425823       3.07118406
H       14.49691488      -2.93680373       0.96948684
H       13.73974205      -7.06128728       0.15213790
H      -10.71146651      -4.17705504       3.18130367
H        3.45340163      -1.77287449      13.04409912
H        1.14408134      -1.36963985      12.31662357
H        0.20287356      -5.46137836      13.10729195
H        2.49613825      -5.85134249      13.86465379
H        6.43535537      -7.39061724      22.52991322
H        4.24877257      -3.36195397      24.30926032
H      -10.10067759      -0.89713884       7.70687008
H       -8.13570422      -0.24499429       9.00333022
H       -6.55616594      -4.19771267       8.62097654
H       -8.55569965      -4.87277262       7.36411517
H      -11.84124770       1.80624848      -2.96771636
H      -12.78779073      -0.21600804      -1.94898687
H      -11.01463790      -2.83490588       1.68215855
H      -11.49540239      -1.29026870      -0.11304599
H      -15.04523497      -0.02545919       1.89550289
H      -14.60017567      -1.61670696       3.68781844
H       -9.27345945      -4.35335406       5.12892061
H       -4.26971503       5.35453812       0.10753349
H       -6.04272333       5.36132778      -1.56318303
H       -8.82032552       6.68860446       1.40743194
H       -7.06095712       6.68617396       3.06523703
H       -4.39427964       5.96103373       6.22102361
H       -5.21692162       7.11822182       4.23349237
H       -3.80568294       3.90685472       1.79212293
H       -3.00455915       2.74082626       3.77481063
H       -5.43081714       4.08062316       7.15912065
H       -5.63802569       2.31788808       8.84698601
H      -12.07635955      -2.08448279       7.41924401
H      -13.48059872      -1.83301878       5.45460313
H      -13.59087170       1.97931022       1.63505173
H      -12.65418659       3.97972751       0.63042107
H       -1.06997665      -3.86067418      14.67058661
H       -1.19169658      -2.23551973      10.72739541
H        5.60445066      -3.20702499      22.30170054
H        5.41769025      -6.78085606      17.95028144
H        5.41602784      -7.07788148      20.36841435
H        7.53591498      -3.39559526      20.84414352
H        7.50414917      -3.07294035      18.40992898
H        4.85243235      -6.00326745      13.78916702
H       -4.76921060      -2.44635989      13.07820645
H       -5.41987494      -2.24199884      17.86673142
H       -4.79531926      -1.80557121      15.53787453
H       -2.54831692      -5.43871224      15.46023136
H       -3.11228336      -5.84342412      17.80081743
H        0.44481365      -7.40279073      25.01072679
H        2.83734967      -7.58261760      24.72879496
H        3.34428650      -3.64826455      26.31707810
H        0.93081548      -3.47541565      26.63184982
H       -3.60059498      -6.65263333      23.99497956
H       -1.75118584      -7.04724684      25.51818013
H       -0.42711375      -3.02167509      24.93744545
H       -2.24713933      -2.63262517      23.41028169
H       -4.47632549      -6.36740586      19.50367510
H       -3.90544859      -6.60151362      21.85086765
H       -3.91761786      -2.34013259      22.27190521
H       -4.35152214      -2.11156089      19.89745368
H       -1.96031436       0.59985537       7.51414786
H       -1.73798727       2.37906908       5.83477610
H       -2.45717608      -0.08013333      10.31505740
H       -6.01213245      -0.03199840       7.94816171
H       -5.43265411      -3.12178451      10.83370513
H       -7.73605135       3.91373980      -1.91700289
H       -9.73832679       2.62852255      -2.37331734
H      -12.15347079       5.76734288      -0.75868165
H      -10.13355212       7.08040080      -0.32081012
H        5.09233276      -7.55138579      24.57012677
H        4.17820463      -2.03033785      15.23427664
H        5.58830821      -2.48690728      17.15640821
H        6.27363319      -6.46569757      15.73333496
```

</details>