2011-05-30 51 views
8

當上的符號矩陣執行Mathematica的零空間命令,數學做了一些假設有關的變量,我想知道它們是什麼。假設在Mathematica的零空間命令符號矩陣

例如,

In[1]:= NullSpace[{{a, b}, {c, d}}] 

Out[1]= {} 

但言外之意是,

a d != b c. 

我怎麼能確定是什麼假設零空間命令用途?

回答

12

的基本假設,可以這麼說,是通過的PossibleZeroQ內部用途執行。如果該函數不能將表達式視爲零,那麼它將被視爲非零,因此可用作行減少的樞軸(這通常用於符號空間空間)。

---編輯---

提出的問題是關於什麼可能在象徵性的線性代數零測試可見。默認情況下,撥打PossibleZeroQ的呼叫將通過內部路由。 PossibleZeroQ後來被建立在這些之上。

中始終有什麼應該通過主環路評估,什麼(例如,對於速度的目的)Mathematica內核代碼開發一個問題應該短路。只有前者容易追蹤。

人們可以通過指定一個非缺省零測試影響在象徵性的線性代數過程。可以是例如

myTest[ee_]:= (Print[zerotesting[ee]]; PossibleZeroQ[ee]) 

,然後在NullSpace使用ZeroTest->myTest

---結束---編輯

+0

@Daniel Lichtblau可以知道對PossibleZeroQ的調用是什麼? – 2011-05-30 19:41:16

+3

@Tyson Williams查看編輯 – 2011-05-30 20:37:38

+0

@Daniel Lichtblau是否有更自然的方式告訴NullSpace命令多項式爲零?在[4]中:= {{a,b},{c,d}};' '缺貨[5] = {}' 但它沒有工作。 – 2011-05-31 12:56:12

4

發現這一點:

在這種情況下,如果一列擴展矩陣,假設顯示出來:

NullSpace[{{a, b, 1}, {c, d, 1}}] 

{{-((-b+d)/(-b c+a d)),-((a-c)/(-b c+a d)),1}} 

在某些情況下可能有用