Matrix Algebra
There is a comprehensive set of functions for handling matrices in R. We begin with a matrix called a that has three rows and two columns. Data are typically entered into matrices columnwise, so the first three numbers (1, 0, 4) go in column 1 and the second three numbers (2, −1, 1) go in column 2:
a<-matrix(c(1,0,4,2,-1,1),nrow=3) a [,1] [,2] [1,] 1 2 [2,] 0 -1 [3,] 4 1
Our second matrix, called b, has the same number of columns as A has rows (i.e. three in this case). Entered columnwise, the first two numbers (1, −1) go in column 1, the second two numbers (2, 1) go in column 2, and the last two numbers (1, 0) go in column 3:
b<-matrix(c(1,-1,2,1,1,0),nrow=2) b [,1] [,2] [,3] [1,] 1 2 1 [2,] -1 1 0
Matrix multiplication
To multiply one matrix by another matrix you take the rows of the first matrix and the columns of the second matrix. Put the first row of a side by side with the first column of b:
a[1,] [1] 1 2 b[,1] [1] 1 -1
and work out the point products:
a[1,]*b[,1]
[1] 1 -2
then add up the point products
sum(a[1,]*b[,1])
[1] -1
The sum of the point products is −1 and this is the first element of the product matrix. Next, put the first row of a with the second column of b:
a[1,] [1] 1 2 b[,2] [1] 2 1 a[1,]*b[,2] [1] 2 2
sum(a[1,]*b[,2])
[1] 4
so the point products are 2, 2 and the sum of the point products is 2 + 2 = 4. So 4 goes in row 1 and column 2 of the answer. Then take the last column of b and match it against the first row of a:
a[1,]*b[,3] ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access