# `space_group.py` Documentation

## 1. プログラムの動作

`space_group.py` は、結晶の空間群に関する情報を表示したり、座標の展開やステレオ投影を行うプログラムです。以下のモードをサポートしています：

- `list`: 全ての空間群番号とそのシンボルをリスト表示します。
- `inf`: 指定された空間群番号の詳細情報を表示します。
- `stereo`: 指定された空間群の展開された座標を用いてステレオ投影をプロットします。
- `expand`: 指定された空間群の対称操作を用いて座標を展開し、重複を排除して表示します。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法

このプログラムは以下の非標準ライブラリを使用しています：

- `pymatgen`: 結晶構造の解析に使用します。
- `matplotlib`: グラフのプロットに使用します。

これらのライブラリは、以下のコマンドでインストールできます：

```bash
pip install pymatgen matplotlib
```

## 3. 必要な入力ファイル

このプログラムは特定の入力ファイルを必要としませんが、コマンドライン引数として空間群番号や座標を指定する必要があります。

## 4. 実行後に生成される出力ファイル

このプログラムは実行後に特定の出力ファイルを生成しません。ただし、`stereo`モードを使用した場合、ステレオ投影のプロットが表示されます。

## 5. コマンドラインでの使用例 (Usage)

以下は、このプログラムの使用例です：

- 全ての空間群をリスト表示する：
  ```bash
  python space_group.py --mode list
  ```

- 空間群番号 225 の詳細情報を表示する：
  ```bash
  python space_group.py --mode inf --ispg 225
  ```

- 空間群番号 225 の座標を展開し、ステレオ投影をプロットする：
  ```bash
  python space_group.py --mode stereo --ispg 225 --xyz 0.9,0.1,0.15
  ```

- 空間群番号 225 の座標を展開し、重複を排除して表示する：
  ```bash
  python space_group.py --mode expand --ispg 225 --xyz 0.9,0.1,0.15
  ```

これらのコマンドを実行することで、指定したモードに応じた情報が表示されます。