当前位置: 首页>>代码示例>>Python>>正文


Python Q.diagonal方法代码示例

本文整理汇总了Python中sympy.assumptions.Q.diagonal方法的典型用法代码示例。如果您正苦于以下问题:Python Q.diagonal方法的具体用法?Python Q.diagonal怎么用?Python Q.diagonal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sympy.assumptions.Q的用法示例。


在下文中一共展示了Q.diagonal方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: MatrixSlice

# 需要导入模块: from sympy.assumptions import Q [as 别名]
# 或者: from sympy.assumptions.Q import diagonal [as 别名]
 def MatrixSlice(expr, assumptions):
     if AskDiagonalHandler._is_empty_or_1x1(expr):
         return True
     if not expr.on_diag:
         return None
     else:
         return ask(Q.diagonal(expr.parent), assumptions)
开发者ID:Lenqth,项目名称:sympy,代码行数:9,代码来源:matrices.py

示例2: MatrixSymbol

# 需要导入模块: from sympy.assumptions import Q [as 别名]
# 或者: from sympy.assumptions.Q import diagonal [as 别名]
 def MatrixSymbol(expr, assumptions):
     if not expr.is_square:
         return False
     # TODO: implement sathandlers system for the matrices.
     # Now it duplicates the general fact: Implies(Q.diagonal, Q.symmetric).
     if ask(Q.diagonal(expr), assumptions):
         return True
     if Q.symmetric(expr) in conjuncts(assumptions):
         return True
开发者ID:Lenqth,项目名称:sympy,代码行数:11,代码来源:matrices.py

示例3: MatPow

# 需要导入模块: from sympy.assumptions import Q [as 别名]
# 或者: from sympy.assumptions.Q import diagonal [as 别名]
 def MatPow(expr, assumptions):
     # only for integer powers
     base, exp = expr.args
     int_exp = ask(Q.integer(exp), assumptions)
     if not int_exp:
         return None
     non_negative = ask(~Q.negative(exp), assumptions)
     if (non_negative or non_negative == False
                         and ask(Q.invertible(base), assumptions)):
         return ask(Q.diagonal(base), assumptions)
     return None
开发者ID:Lenqth,项目名称:sympy,代码行数:13,代码来源:matrices.py

示例4: MatMul

# 需要导入模块: from sympy.assumptions import Q [as 别名]
# 或者: from sympy.assumptions.Q import diagonal [as 别名]
 def MatMul(expr, assumptions):
     factor, mmul = expr.as_coeff_mmul()
     if all(ask(Q.symmetric(arg), assumptions) for arg in mmul.args):
         return True
     # TODO: implement sathandlers system for the matrices.
     # Now it duplicates the general fact: Implies(Q.diagonal, Q.symmetric).
     if ask(Q.diagonal(expr), assumptions):
         return True
     if len(mmul.args) >= 2 and mmul.args[0] == mmul.args[-1].T:
         if len(mmul.args) == 2:
             return True
         return ask(Q.symmetric(MatMul(*mmul.args[1:-1])), assumptions)
开发者ID:Lenqth,项目名称:sympy,代码行数:14,代码来源:matrices.py

示例5: doit

# 需要导入模块: from sympy.assumptions import Q [as 别名]
# 或者: from sympy.assumptions.Q import diagonal [as 别名]
 def doit(self, **hints):
     from sympy.assumptions import ask, Q
     from sympy import Transpose, Mul, MatMul
     vector = self._vector
     # This accounts for shape (1, 1) and identity matrices, among others:
     if ask(Q.diagonal(vector)):
         return vector
     if vector.is_MatMul:
         matrices = [arg for arg in vector.args if arg.is_Matrix]
         scalars = [arg for arg in vector.args if arg not in matrices]
         if scalars:
             return Mul.fromiter(scalars)*DiagonalizeVector(MatMul.fromiter(matrices).doit()).doit()
     if isinstance(vector, Transpose):
         vector = vector.arg
     return DiagonalizeVector(vector)
开发者ID:bjodah,项目名称:sympy,代码行数:17,代码来源:diagonal.py

示例6: MatrixSlice

# 需要导入模块: from sympy.assumptions import Q [as 别名]
# 或者: from sympy.assumptions.Q import diagonal [as 别名]
 def MatrixSlice(expr, assumptions):
     if not expr.on_diag:
         return None
     else:
         return ask(Q.diagonal(expr.parent), assumptions)
开发者ID:Maihj,项目名称:sympy,代码行数:7,代码来源:matrices.py

示例7: Inverse

# 需要导入模块: from sympy.assumptions import Q [as 别名]
# 或者: from sympy.assumptions.Q import diagonal [as 别名]
 def Inverse(expr, assumptions):
     return ask(Q.diagonal(expr.arg), assumptions)
开发者ID:Maihj,项目名称:sympy,代码行数:4,代码来源:matrices.py

示例8: Transpose

# 需要导入模块: from sympy.assumptions import Q [as 别名]
# 或者: from sympy.assumptions.Q import diagonal [as 别名]
 def Transpose(expr, assumptions):
     return ask(Q.diagonal(expr.arg), assumptions)
开发者ID:Maihj,项目名称:sympy,代码行数:4,代码来源:matrices.py

示例9: MatrixSymbol

# 需要导入模块: from sympy.assumptions import Q [as 别名]
# 或者: from sympy.assumptions.Q import diagonal [as 别名]
 def MatrixSymbol(expr, assumptions):
     if Q.diagonal(expr) in conjuncts(assumptions):
         return True
开发者ID:Maihj,项目名称:sympy,代码行数:5,代码来源:matrices.py

示例10: MatAdd

# 需要导入模块: from sympy.assumptions import Q [as 别名]
# 或者: from sympy.assumptions.Q import diagonal [as 别名]
 def MatAdd(expr, assumptions):
     if all(ask(Q.diagonal(arg), assumptions) for arg in expr.args):
         return True
开发者ID:Maihj,项目名称:sympy,代码行数:5,代码来源:matrices.py

示例11: MatMul

# 需要导入模块: from sympy.assumptions import Q [as 别名]
# 或者: from sympy.assumptions.Q import diagonal [as 别名]
 def MatMul(expr, assumptions):
     factor, matrices = expr.as_coeff_matrices()
     if all(ask(Q.diagonal(m), assumptions) for m in matrices):
         return True
开发者ID:Maihj,项目名称:sympy,代码行数:6,代码来源:matrices.py


注:本文中的sympy.assumptions.Q.diagonal方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。