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

Line 73:  Line 73:  
=== Documentation ===  === Documentation ===  
−  * [  +  * [https://help.dyalog.com/latest/#Language/Primitive%20Functions/Matrix%20Divide.htm Dyalog] 
* [http://microapl.com/apl_help/ch_020_020_280.htm APLX]  * [http://microapl.com/apl_help/ch_020_020_280.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:40, 14 July 2020
⌹

Matrix Divide (⌹
) is a dyadic function that performs matrix division between two arguments of rank 2 or less. Some dialects automatically apply it to rank2 subarrays of higherrank arguments. It shares the glyph Quad Divide ⌹
(often called Domino) with the monadic function Matrix Inverse.
Examples
The result of X⌹Y
is equal to (⌹Y)+.×X
, which is analogous to X÷Y
being equal to (÷Y)×X
. As a consequence, X≡Y+.×X⌹Y
is true for square matrices.
⎕←X←2 2⍴1 2 3 4
1 2
3 4
⎕←Y←2 2⍴5 6 7 8
5 6
7 8
X⌹Y
5 4
¯4 ¯3
(⌹Y)+.×X
5 4
¯4 ¯3
X≡Y+.×X⌹Y
1
Applications
From the properties of MoorePenrose inverse (which Matrix Inverse uses), Matrix Divide can not only be used to solve a system of linear equations, but also to find the linear least squares solution to an overdetermined system.
The following example solves the system of equations . The answer is .
⎕←X←2 2⍴1 2 2 ¯1
1 2
2 ¯1
Y←5 8
Y⌹X
4.2 0.4
The following example solves the linear least squares over the five points . The answer is .
⎕←X←1,⍪⍳5
1 1
1 2
1 3
1 4
1 5
Y←5 1 4 2 8
Y⌹X
1.9 0.7
When used with real vectors as both arguments, Y×X⌹Y
gives the projection of X onto a basis vector Y. The remaining component of X, namely R←XY×X⌹Y
, is orthogonal to Y (R+.×Y
is zero).
(X Y)←(2 7)(3 1)
X⌹Y
1.3
Y×X⌹Y ⍝ Projection of X onto Y
3.9 1.3
XY×X⌹Y ⍝ The remaining component in X
¯1.9 5.7
⎕CT>Y+.×XY×X⌹Y ⍝ ∧ is orthogonal to Y (with negligible error)
1
External links
Lesson
Documentation
 Dyalog
 APLX
 NARS2000
 J Dictionary, NuVoc (as
%.
)