矩阵的平方根-不简化元素

问题描述 投票:0回答:1

我尝试了以下操作-符号矩阵的平方根。我对sympy的能力印象深刻。如果您在末尾注意到,矩阵的平方根将处于相当不可思议的状态-平方根都可以消失,并且元素可以很好地简化。有没有办法让sympy为我们做这种简化?

import sympy as sp
a, b, c = sp.symbols("a b c")

m = sp.Matrix([
    [a**2 + b**2, 0, 2*a*b],
    [0, c**2, 0],
    [2*a*b, 0, a**2 + b**2]
])

m**(1/2)
python sympy symbolic-math
1个回答
0
投票

您可以这样简化:

In [8]: sqrt(m).doit().factor(deep=True)                                                                                          
Out[8]: 
⎡    __________      __________                 __________      __________⎤
⎢   ╱        2      ╱        2                 ╱        2      ╱        2 ⎥
⎢ ╲╱  (a - b)     ╲╱  (a + b)                ╲╱  (a - b)     ╲╱  (a + b)  ⎥
⎢ ───────────── + ─────────────      0     - ───────────── + ─────────────⎥
⎢       2               2                          2               2      ⎥
⎢                                                                         ⎥
⎢                                    ____                                 ⎥
⎢                                   ╱  2                                  ⎥
⎢               0                 ╲╱  c                   0               ⎥
⎢                                                                         ⎥
⎢     __________      __________               __________      __________ ⎥
⎢    ╱        2      ╱        2               ╱        2      ╱        2  ⎥
⎢  ╲╱  (a - b)     ╲╱  (a + b)              ╲╱  (a - b)     ╲╱  (a + b)   ⎥
⎢- ───────────── + ─────────────     0      ───────────── + ───────────── ⎥
⎣        2               2                        2               2       ⎦

声明符号为正数

a, b, c = sp.symbols("a b c", positive=True) 

给予此

In [13]: sqrt(m).doit().factor(deep=True)                                                                                         
Out[13]: 
⎡a + b + │a - b│     a + b - │a - b│⎤
⎢───────────────  0  ───────────────⎥
⎢       2                   2       ⎥
⎢                                   ⎥
⎢       0         c         0       ⎥
⎢                                   ⎥
⎢a + b - │a - b│     a + b + │a - b│⎥
⎢───────────────  0  ───────────────⎥
⎣       2                   2       ⎦
© www.soinside.com 2019 - 2024. All rights reserved.