Syntax: |
vout = v1 <> v2
|
The inner product operator, <>
, operating on two vectors
produces a scalar; operating on a vector and a matrix produces a vector; and
operating on two matrices produces a matrix.
Operating on two vectors
The inner product operating on two vectors produces a scalar, whose value
is equal to the sum of the products of the vectors' elements. The two
vectors must be the same length. Suppose X
and Y
are vectors of length N. Then x<>y = x[1]*y[1] + x[2]y[2] + ... + x[N]*y[N]
.
Example
Suppose you have two vectors: X = [1;3;5]
and Y = [2;4;6]
Then: X<>Y = 1*2 + 3*4 + 5*6 = 44
Operating on a vector and a matrix
The inner product operating on a vector and a matrix produces a vector. If the vector is the first operand, its length must be equal to the number of rows of the matrix. The resultant vector length will be the number of columns of the second operand matrix.
If X
is a vector of length N, and A
is a matrix with N rows and M columns,
then X<>A
is a vector where
(X<>A)[i] = X[1]*A[1,i] + X[2]*A[2,i] + ... + X[N]*A[N,i]
. The vector
X<>A
will have M elements.
Example
The inner product of a vector and a matrix:
X = [1;3;5]
and
| 1 4 | M = | 2 5 | | 3 6 |
Then: X<>M = [22;49]
Operating on a matrix and a vector
The inner product operating on a matrix and a vector produces a vector. If the vector is the second operand, its length must be equal to the number of columns of the matrix, and the resultant vector length will be the number of rows of the first operand matrix.
If A
is a matrix with N rows and M columns, and X
is a vector of length M,
then A<>X
is a vector where
(A<>X)[i] = A[i,1]*X[1] + A[i,2]*X[2] + ... + A[i,M]*X[M]
. The vector
X<>A
will have N elements.
Example
The inner product of a matrix and a vector:
X = [1;3;5]
M = | 1 3 5 | | 2 4 6 |
Then: M<>X = [35;44]
Operating on two matrices
The inner product operating on two matrices produces a matrix. The number of columns of the first operand matrix must be equal to the number of rows of the second operand matrix. The resultant matrix will be a square matrix with the number of rows and the number of columns equal to the number of rows of the first operand.
If A
is an N by M matrix and B
is an M by N matrix,
then A<>B
is an N by N matrix, where (A<>B)[i,j] =
A[i,1]*B[1,j] + A[i,2]*B[2,j] + ... + A[i,M]*B[M,j]
for
i = [1;2;...;N]
and j = [1;2;...;N]
Example
The inner product of two matrices:
Let
| 11 12 13 | A = | 21 22 23 | | 31 32 33 |and
| 1 2 3 | B = | 2 4 6 | | 3 6 9 |then
| 74 148 222 | A<>B = | 134 268 402 | | 194 388 582 |