Skip to content

不定阶矩阵模块 #2

Description

@ziao-liu

基本的不定阶矩阵
class mn_matrix
不定阶矩阵(即中间含省略号的矩阵)的基类,不建议直接用该类的构造方法

Source: lam/mnmatrix/mnmatrix.py

properties
m: 矩阵最后一行的序号
n: 矩阵最后一列的序号
get(x, y)
获取矩阵第x行,第y列的元素

Parameter

x: Expr, Number, Symbol
y: Expr, Number, Symbol
x, y是获取元素的坐标,行和列的序号以1开始计数,x,y可以是sympy中的Expr, Number, Symbol类。
如要获取倒数第一行,倒数第一列的元素,可以参考以下语句

mat = corner_matrix(tl, tr, bl, br, square=True)
element = mat.get(mat.m, mat.n)
以此类推,倒数第二行可以表示为mat.m-1。

class corner_matrix(mn_matrix)
Source: lam/mnmatrix/cornermatrix.py

一个可定制的不定阶矩阵,该类适用于辅助生成latex代码,不需要严谨的数学逻辑。corner_matrix继承自mn_matrix,包含了mn_matrix所有的成员变量和方法。

在数学文章中,一般的不定阶矩阵只有四个角落的元素会显示,所以该类只开放了编辑矩阵四个角落元素的功能。以下面的矩阵为例,A,B,C,D四个位置的元素是可编辑的内容,A,B,C,D可以不单是一个元素,还可以视为整个矩阵的一个分块矩阵。

$$ \left[\begin{matrix} A & \cdots & B\ \vdots & \ddots & \vdots\ C & \dots & D \end{matrix}\right] $$

corner_matrix(tl, tr, bl, br, square=True)
用四个角落的分块矩阵构造一个不定阶矩阵

Parameter

tl: MutableDenseMatrix
tr: MutableDenseMatrix
bl: MutableDenseMatrix
br: MutableDenseMatrix
square: bool
tl, tr, bl, br分别代表一个矩阵的左上角,右上角,左下角,右下角的元素,即A,B,C,D四个分块矩阵,这四个必须是MutableDenseMatrix类,即便他们是一个纯粹的数字。square用于标志该矩阵是否是方阵,square=True时,不定阶矩阵将以方阵的形式生成。

properties
tl: 矩阵左上角可显示的分块
tr: 矩阵右上角可显示的分块
bl: 矩阵左下角可显示的分块
br: 矩阵右下角可显示的分块
继承自mn_matrix的成员变量不做赘述

get(x, y)
该方法继承自mn_matrix类,也没有修改父类的任何内容

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions