# 数据模型与算法约定

`Trajectory` 是不可外部构造、持有连续行优先 Double 缓冲区的数据模型。构造与导出都复制，避免分析过程中被调用方改写。前向嵌入第 i 行第 k 列为 `series[i + k*delay]`；行数为 `N-(dimension-1)*delay`。去趋势逐坐标对整数样本位置作最小二乘线性拟合，不作预测。

`Recurrence` 保存独立的布尔 indicator 和 eligibility；排除不是白点。导入导出使用 -1／0／1。距离矩阵和阈值比较均为 O(n*m*d) 时间，矩阵 O(n*m) 空间。自递归带排除严格为 `abs(i-j) > theiler`；交叉矩阵无自动时间排除。联合运算先相交可比较域，再按黑点作 AND 或 OR。

对角线算法只在没有可连接黑色前驱的格子启动扫描，避免重复计数；竖线按列遍历。黑线遇排除／白点或矩阵边界终止。回返白线必须从黑点开始并最终回到黑点，排除会清除锚点。直方图的第 k 项为长度 k 的最大线条数；第 0 项恒为 0。

给定长度下限 l，P(l) 为线条数，线点数为 `sum(l*P(l))`；DET、LAM 分别将合格对角线点数、竖线点数除以全部黑点数。平均线长为合格线点数／合格线条数。Shannon 熵按合格线长频率、自然对数计算。DIV 为最长合格对角线倒数；它不能直接替代 Lyapunov 指数。线段下限是独立的合法参数，可以大于矩阵尺寸，此时无合格线。

阈值选择保存所有可比较距离并排序，最坏 O(n² log n) 时间；它使用有序统计量和包含并列点的阈值。扫描处理完整窗口，不输出末尾不足窗口；预先核算总格数后才分配。报告模型是可构造的公开记录，CSV 导出检查计数、有限性、比例和线长一致性；`validate` 不证明记录来自真实分析。

JSON 输入使用官方 core 的语法／类型解码，显式限制文本和嵌套深度。CSV 是明确的数值子集。SVG 只生成固定标签与固定颜色，对标题转义并拒绝非法控制字符。输出可以交给文件系统、HTTP 响应或宿主绘图库，库本身不依赖文件系统或网络。

Python 预言机按完整对角线分组枚举，与生产实现的起点扫描不同；白间隔由相邻黑点坐标独立推导。源代码及测试是项目独立编写的，没有使用第三方代码生成预期结果。
