Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

不定阶矩阵模块 #2

Open
ziao-liu opened this issue Jun 28, 2022 · 1 comment
Open

不定阶矩阵模块 #2

ziao-liu opened this issue Jun 28, 2022 · 1 comment
Assignees

Comments

@ziao-liu
Copy link
Collaborator

ziao-liu commented Jun 28, 2022

基本的不定阶矩阵
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类,也没有修改父类的任何内容

@half-lang half-lang self-assigned this Jun 28, 2022
@half-lang
Copy link
Owner

如果公式无法显示请查看说明文档或将issue下载下来查看

cqu-student pushed a commit that referenced this issue Jul 2, 2022
增加数值形式的高斯消元法
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants