Matrix Inverse/Divide: Difference between revisions
From NARS2000
Jump to navigationJump to search
Sudleyplace (talk | contribs) No edit summary |
(add toolbar footer) |
||
Line 68: | Line 68: | ||
0 0 0<br /> | 0 0 0<br /> | ||
0 0 0</apll> | 0 0 0</apll> | ||
{{Language Toolbar}} |
Revision as of 09:38, 24 November 2014
|
||||
R is a numeric scalar, vector or matrix; otherwise signal a RANK ERROR. If R is a matrix, ≥/⍴R must be true; otherwise signal a LENGTH ERROR. | ||||
Z is a numeric array of rank ⍴⍴R, and shape ⌽⍴R. |
This feature implements matrix inversion using Singular Value Decomposition. In particular, this means that any numeric array meeting the rank and shape requirements above is invertible.
For example,
⌹3 3⍴0
0 0 0
0 0 0
0 0 0
|
||||
L is a numeric scalar, vector or matrix; otherwise signal a RANK ERROR. | ||||
R is a numeric scalar, vector or matrix; otherwise signal a RANK ERROR. | ||||
If either L or R is a scalar or vector, it is coerced to a matrix by (L R)←⍪¨L R. After this coercion, if the two matrices have a different number of rows, signal a LENGTH ERROR. | ||||
Z is a numeric array. Before the above coercion of L and R, the rank of Z is ¯2+2⌈(⍴⍴L)+⍴⍴R, and the shape is (1↓⍴R),1↓⍴L. |
This feature implements matrix division using Singular Value Decomposition. In particular, this means that any two numeric arrays meeting the rank and shape requirements above are divisible.
For example,
a←3 3⍴0
a⌹a
0 0 0
0 0 0
0 0 0
NARS 2000 Lang Tool Bar |
← | → | + | - | × | ÷ | * | ⍟ | ⌹ | ○ | ! | ? | √ | | | ⌈ | ⌊ | ⊥ | ⊤ | ⊣ | ⊢ | |||
≡ | ≢ | < | ≤ | = | ≥ | > | ≠ | ∨ | ∧ | ⍱ | ⍲ | ↑ | ↓ | ⊂ | ⊃ | ⌷ | ⍋ | ⍒ | |||||
⍳ | ∊ | ⍸ | ⍷ | ∪ | ∩ | ⊆ | ⊇ | ~ | § | π | .. | , | ⍪ | ⍴ | ⌽ | ⊖ | ⍉ | ||||||
/ | \ | ⌿ | ⍀ | ⊙ | ¨ | ⍨ | ⍤ | ⍣ | ⍡ | ⍥ | ⍦ | . | ∘ | ⍠ | ‼ | ⌻ | ∂ | ∫ | ⍞ | ⎕ | ⍎ | ⍕ | |
⋄ | ⍝ | ∇ | ∆ | ⍙ | _ | ⍺ | ⍵ | ¯ | ⍬ | ∞ | ∅ | ||||||||||||
Second Row | i j k | i j k l | g | p | r | v | x |