---
title: "兼容性与限制"
description: "查看安装版本、构建信息、兼容范围与功能限制。"
eyebrow: "API 参考"
---

## 查看版本信息 {#record}

在已安装 ArcTN 的 Python 环境中查看包版本：

```bash
python -c 'import arctn; print(arctn.__version__)'
```

使用 Rust 源码时，在仓库根目录编译并查看命令行程序的构建信息：

```bash
cargo run --release --bin tnpath -- --build-info
```

构建信息包含源码版本及 `mt`、`mpi` 等可选功能是否启用。这里查看的是当前源码编译出的程序，可能与 Python 环境中已安装的包不是同一版本。

## 功能限制 {#limits}

- `slicing_mode` 支持 `fixed` 和 `dynamic` 两种模式。
- ArcTN 的原生执行后端使用 CPU。GPU 计算通过外部数组后端完成，调用时需显式指定后端。
- Light / Heavy 使用启发式搜索，不保证全局最优。Rust 的 `optimal_dp` 提供子集动态规划；需要处理的张量子集随规模迅速增加，因此适合较小的网络，见[动态规划](/docs/structured-search)。它是独立算法，不属于 Python 的 Light / Heavy 接口。
- `max_time` 在算法检查点生效，不会强制中断进程。严格的总时间上限需由外部超时控制或作业调度器实现。
- 构建时加入 `--features mpi` 可启用 `tnmpi`，让多个进程分担已保存收缩序中的切片，再合并结果。`--dtype` 支持 `f32`、`f64`、`complex64` 和 `complex128`，默认 `f64`；用法见 [MPI 切片执行](/docs/mpi)。
- ArcTN 不通过低秩截断近似完成收缩，也不提供自动微分系统或近似结果的全局误差界。使用外部数组后端时，能否求导取决于该后端及实际调用的运算。

## 源码与变更 {#source}

- [GitHub 仓库](https://github.com/Quill-ArcLight/arctn-public) — 可公开部分的源码、测试与问题反馈；不包含 Light / Heavy 的实现，当前访问需要组织授权。
- [安装](/docs/installation) — 构建 Rust crate 和 Python wheel。
- [检查输入与处理错误](/docs/validation) — 网络、数组和收缩序文件的检查方法，以及常见异常。
