以下に、Perlプログラム `CheckConvergence.pl` の解析結果を Markdown 形式で記述します。

---

# CheckConvergence.pl Documentation

## 1. プログラムの動作

`CheckConvergence.pl` は、VASP（Vienna Ab initio Simulation Package）の出力ファイル `OUTCAR` を解析し、エネルギー収束情報を抽出して `Convergence.csv` というCSVファイルに出力します。プログラムは以下の情報を収集し、出力します：

- 収束基準 `EDIFF` と `EDIFFG`
- 最大ステップ数 `NSW`
- 各イテレーションのエネルギー情報（サイクル、iSCF、Ecycle、Escf、dEcycle、dEscf）

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法

このプログラムは以下の非標準ライブラリを使用しています：

- `Math::Matrix`
- `Math::MatrixReal`
- `Deps`
- `Utils`
- `JFile`
- `Crystal::VASP`

これらのライブラリはCPANからインストールできます。以下はインストールコマンドの例です：

```bash
cpan Math::Matrix
cpan Math::MatrixReal
# Deps, Utils, JFile, Crystal::VASP はCPANに存在しない可能性があるため、独自のリポジトリやソースからインストールする必要があります。
```

## 3. 必要な入力ファイル

- `OUTCAR`: VASPの出力ファイル。このファイルからエネルギー収束情報を抽出します。

## 4. 実行後に生成される出力ファイル

- `Convergence.csv`: 各イテレーションのエネルギー情報を含むCSVファイル。

## 5. コマンドラインでの使用例 (Usage)

以下は `CheckConvergence.pl` の使用例です：

```bash
perl CheckConvergence.pl /path/to/OUTCAR /path/to/output/Convergence.csv
```

- 第1引数: `OUTCAR` ファイルのパス（省略時はカレントディレクトリの `OUTCAR` を使用）
- 第2引数: 出力ファイル `Convergence.csv` のパス（省略時はカレントディレクトリに `Convergence.csv` を生成）

このプログラムは、指定された `OUTCAR` ファイルを解析し、エネルギー収束情報を `Convergence.csv` に出力します。