Difference between revisions of "Matrix Inverse"
m 
m (Text replacement  "http://help.dyalog.com" to "https://help.dyalog.com") 

Line 62:  Line 62:  
=== Documentation ===  === Documentation ===  
−  * [  +  * [https://help.dyalog.com/latest/#Language/Primitive%20Functions/Matrix%20Inverse.htm Dyalog] 
* [http://microapl.com/apl_help/ch_020_020_270.htm APLX]  * [http://microapl.com/apl_help/ch_020_020_270.htm APLX]  
* [http://wiki.nars2000.org/index.php/Matrix_Inverse/Divide NARS2000]  * [http://wiki.nars2000.org/index.php/Matrix_Inverse/Divide NARS2000] 
Latest revision as of 14:45, 14 July 2020
⌹

Matrix Inverse (⌹
) is a monadic primitive function that returns the inverse of a simple numeric array of rank 2 or lower. Some dialects automatically apply it to rank2 subarrays of higherrank arguments. It shares the glyph Quad Divide ⌹
(often called Domino) with the dyadic function Matrix Divide.
Examples
Matrix Inverse computes the ordinary inverse if the argument is a square matrix. DOMAIN ERROR is raised if the given matrix is not invertible.
⎕←M←2 2⍴3 4 4 5
3 4
4 5
⎕←R←⌹M
¯5 4
4 ¯3
R+.×M
1 0
0 1
⌹2 2⍴0
DOMAIN ERROR
⌹2 2⍴0
∧
When the argument is a scalar or vector, or the given matrix has more rows than columns (r>c
where r c≡⍴X
), Matrix Inverse computes specific forms of generalized inverse called MoorePenrose inverse. For a scalar, the result is the reciprocal of the argument; for a vector, the result equals (+X)÷X+.×+X
. For a nonsquare matrix, the result equals (+⍉X)⌹(+⍉X)+.×X
(where +⍉X
is the conjugate transpose of X).
(⌹2)(⌹2J1)
0.5 0.4J¯0.2
÷2 2J1
0.5 0.4J¯0.2
(⌹3 1)(⌹2 1 1J2)
┌───────┬────────────────┐
│0.3 0.1│0.2 0.1 0.1J¯0.2│
└───────┴────────────────┘
{(+⍵)÷⍵+.×+⍵}¨ (3 1) (2 1 1J2)
┌───────┬────────────────┐
│0.3 0.1│0.2 0.1 0.1J¯0.2│
└───────┴────────────────┘
(⌹3 1)(⌹2 1 1J2) +.×¨ (3 1)(2 1 1J2)
1 1
⎕←M←3 2⍴1 ¯1 0J1 1 ¯1 0J1
1 ¯1
0J1 1
¯1 0J1
⎕←R←⌹M
0.5J¯0.5 0.25J¯0.25 ¯0.25J¯0.25
¯0.5J¯0.5 0.25J¯0.25 ¯0.25J¯0.25
R≡{(+⍉⍵)⌹(+⍉⍵)+.×⍵} M
1
R+.×M
1.0000E000J¯5.5511E¯17 0
¯2.7756E¯17J05.5511E¯17 1
External links
Lesson
Documentation
 Dyalog
 APLX
 NARS2000
 J Dictionary, NuVoc (as
%.
)