基于python随机生成线性代数对称矩阵

基于python随机生成对称矩阵

对称矩阵的基本性质:

1、每个实方形矩阵都可写作两个实对称矩阵的积,每个复方形矩阵都可写作两个复对称矩阵的积。

2、若对称矩阵A的每个元素均为实数,A是Symmetric矩阵。

3、一个矩阵同时为对称矩阵及斜对称矩阵当且仅当所有元素都是零的时候成立。

4、如果X是对称矩阵,那么对于任意的矩阵A,AXAT也是对称矩阵。

5、n阶实对称矩阵,是n维欧式空间V(R)的对称变换在单位正交基下所对应的矩阵。

def setChuMat(long=4, minVal=0, maxVal=10, minNum=-5, maxNum=10, inver=False, *args, **kwargs) -> Matrix:
    """
    生成分块矩阵
    :param long: 分块矩阵的长度
    :param minNum: 分块矩阵包含的最小数
    :param maxNum: 分块矩阵包含的最大数
    :param inver: 是否可逆
    :param args:
    :param kwargs:
    :return: 返回分块矩阵

    >>> setChuMat()

    """
    x = long % 2  # 判断矩阵的行数是否为奇数
    matlong = int(long / 2)
    y = long - matlong
    if x == 0:  # 直接生成两个相同维度分块
        chuMat = diag(setDetMat(matlong, minVal, maxVal, minNum, maxNum, inver),
                      setDetMat(matlong, minVal, maxVal, minNum, maxNum, inver))
    else:  # 若矩阵的维度为基数,则用两个不同维度的可逆矩阵生成
        chuMat = diag(setDetMat(matlong, minVal, maxVal, minNum, maxNum, inver),
                      setDetMat(y, minVal, maxVal, minNum, maxNum, inver))
    return chuMat

记得导包

import numpy as np
import random
import sympy
from sympy import *
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是空空.v

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值