MatrixStepGenerator (core/matrix_step_generator.py)
专门为矩阵运算设计的步骤生成器,负责收集和管理矩阵计算的各个步骤,并将它们格式化为美观的
LaTeX 对齐环境输出。它特别适用于需要显示多行矩阵运算的教学场景。
一. 类概述
MatrixStepGenerator 专注于矩阵计算步骤的管理和展示:
- 步骤收集:按顺序存储矩阵计算的各个步骤
- LaTeX 格式化:自动将步骤格式化为对齐环境
- 状态管理:支持清空步骤以进行多次计算
- 矩阵优化:特别适合显示矩阵和多行数学表达式
它与其它类的关系如下:
二. 设计原则
-
专注性:专门为矩阵运算优化,不同于通用的步骤生成器
- 简洁性:接口简单直观,易于理解和使用
- 灵活性:支持任意 LaTeX 内容的步骤添加
- 专业性:生成的 LaTeX 输出符合数学排版标准
三. 属性
| 属性名 |
类型 |
描述 |
访问级别 |
| steps |
List[str] |
存储所有计算步骤的列表,每个步骤都是 LaTeX 格式的字符串 |
公共 |
设计说明: steps 列表直接存储 LaTeX 字符串,这使得
MatrixStepGenerator
特别适合处理复杂的矩阵表达式和多行数学公式,因为开发者可以完全控制每个步骤的
LaTeX 格式。
四. 方法
1. 初始化与状态管理
__init__(self) -> None
初始化矩阵步骤生成器实例,创建空的步骤列表。
执行效果: 创建空的 self.steps 列表
clear(self) -> None
清除所有存储的计算步骤,重置生成器状态。
使用场景:
- 在开始新的计算任务前调用
- 防止多次计算的结果相互混合
- 内存管理,避免步骤无限累积
2. 步骤管理方法
add_step(self, step: str) -> None
向步骤集合中添加单个计算步骤。
参数:
| 参数名 |
类型 |
描述 |
默认值 |
| step |
str |
表示一个计算步骤的 LaTeX 格式化字符串 |
必需 |
注意事项:
- 步骤字符串应该包含完整的 LaTeX 数学内容
- 不需要包含对齐符号 &,系统会自动添加
- 文本需使用 \text{} 包裹
3. 输出方法
get_steps_latex(self) -> str
生成包含所有计算步骤的 LaTeX align 环境。
返回值: str - 包含所有步骤的 LaTeX 格式化字符串
输出格式:
- 使用 align 环境进行数学对齐
- 每个步骤以 & 开头,确保正确对齐
-
步骤之间空一行分隔(两个双反斜杠,一个用于换行,一个用于空一行)