Python 包含向量外积的方程

Python 包含向量外积的方程,python,c++,numpy,matrix,linear-algebra,Python,C++,Numpy,Matrix,Linear Algebra,其中x是列向量。 我们从A中的对角线元素知道x项的值。但它们的迹象仍不得而知。例如: import numpy as np A = array([[ 1.562, -0.833, -0.833, -0.031, -0.031, 0.167], [-0.833, 0.795, 0.167, -0.149, 0.167, -0.146], [-0.833, 0.167, 0.795, 0.167, -0.149, -0.146], [-0.031, -0.149,

其中x是列向量。 我们从A中的对角线元素知道x项的值。但它们的迹象仍不得而知。例如:

import numpy as np
A = array([[ 1.562, -0.833, -0.833, -0.031, -0.031,  0.167],
   [-0.833,  0.795,  0.167, -0.149,  0.167, -0.146],
   [-0.833,  0.167,  0.795,  0.167, -0.149, -0.146],
   [-0.031, -0.149,  0.167,  1.68 , -0.833, -0.833],
   [-0.031,  0.167, -0.149, -0.833,  1.68 , -0.833],
   [ 0.167, -0.146, -0.146, -0.833, -0.833,  1.792]])
np.sqrt(A.diagonal())
>>> array([ 1.24979998,  0.89162773,  0.89162773,  1.29614814,  1.29614814,
    1.33865604])
但我们仍然不知道这些迹象。通过面具,我们可以看到产品标志:

A > 0
>>> array([[ True, False, False, False, False,  True],
   [False,  True,  True, False,  True, False],
   [False,  True,  True,  True, False, False],
   [False, False,  True,  True, False, False],
   [False,  True, False, False,  True, False],
   [ True, False, False, False, False,  True]], dtype=bool)

如何找到x元素符号。

一般来说,你不能

例如,假设矩阵
A==[1]


任何人怎么知道
x
[1]
还是
[-1]

一般来说,你不能

例如,假设矩阵
A==[1]

任何人怎么知道
x
[1]
还是
[-1]

注意(-x)-x^T=(x)(x)^T,所以你无法区分x和-x。因此,您可以确定符号模式(即,您可以确定两个元素是否具有相同或相反的符号)。事实上,由于A的每一行都是x的标量倍数,因此每一行都给出了符号模式(除非该行都是0,如果x的一个元素是0,这是可能的)。列也是如此

请注意,示例A不能是(x)(x)^T形式的产品。它具有满秩。(x)(x)^T的最大可能秩为1

比如说,

In [14]: x = np.array([1.0, -2.0, -3.0, 4.0])

In [15]: np.outer(x, x)
Out[15]: 
array([[  1.,  -2.,  -3.,   4.],
       [ -2.,   4.,   6.,  -8.],
       [ -3.,   6.,   9., -12.],
       [  4.,  -8., -12.,  16.]])
注意产品中的标志图案。每一行(和每一列)是(+、-、-、+)或(-、+、+、-)。

请注意(-x)-x^T=(x)(x)^T,因此您无法区分x和-x。因此,您可以确定符号模式(即,您可以确定两个元素是否具有相同或相反的符号)。事实上,由于A的每一行都是x的标量倍数,因此每一行都给出了符号模式(除非该行都是0,如果x的一个元素是0,这是可能的)。列也是如此

请注意,示例A不能是(x)(x)^T形式的产品。它具有满秩。(x)(x)^T的最大可能秩为1

比如说,

In [14]: x = np.array([1.0, -2.0, -3.0, 4.0])

In [15]: np.outer(x, x)
Out[15]: 
array([[  1.,  -2.,  -3.,   4.],
       [ -2.,   4.,   6.,  -8.],
       [ -3.,   6.,   9., -12.],
       [  4.,  -8., -12.,  16.]])

注意产品中的标志图案。每一行(和每一列)都是(+、-、-、+)或(-、+、+、+、-)。

顺便说一下:这也称为or。我编辑了标题。谢谢。顺便说一下:这也叫or。我编辑了标题。谢谢。我正在寻找所有答案的组合。在你的例子中,有两个组合是可以的。我正在寻找所有答案的组合。在你的例子中,有两种组合是可以的。我不确定你的最后一行,你能解释更多吗?你写评论时,哪一行是我的最后一行?我不确定你的最后一行,你能解释更多吗?你写评论时,哪一行是我的最后一行?