# R - multiplication operator example

The example below shows the usage of multiplication(*) operator in different scenarios.

### Multiplying by a scalar

If a scalar (single element atomic vector) is multiplied to a vector or a matrix, it is multiplied to each element of the vector or matrix.

```#first operand
x1 <- 10
v1 <- c(10, 20, 30)
m1 <- matrix(c(10, 20, 30, 40, 50, 60), nrow=2)

#second operand
x2 <- 5

#multiplying two scalars
print(x1 * x2)
#multiplying a vector by a scalar
print(v1 * x2)
#multiplying a matrix by a scalar
cat("\n")
print(m1 * x2)
```

The output of the above code will be:

``` 50
  50 100 150

[,1] [,2] [,3]
[1,]   50  150  250
[2,]  100  200  300
```

### Multiplying by a vector

When two vectors are multiplied, their length should be same or length of longer vector should be multiple of length of shorter vector. Similarly, when a vector is multiplied to a matrix, the length of longer object should be multiple of length of shorter object.

Please note that, When a vector is multiplied to a matrix, elements are multiplied column-wise.

```#first operand
x1 <- 10
v1 <- c(10, 20, 30)
m1 <- matrix(c(10, 20, 30, 40, 50, 60), nrow=2)

#second operand
v2 <- c(5, 6, 7)

#multiplying a scalar (single element
#atomic vector) by a vector
print(x1 * v2)
#multiplying two vectors
print(v1 * v2)
#multiplying a matrix by a vector
cat("\n")
print(m1 * v2)
```

The output of the above code will be:

``` 50 60 70
  50 120 210

[,1] [,2] [,3]
[1,]   50  210  300
[2,]  120  200  420
```

### Multiplying by a matrix

When two matrices are multiplied, their dimension should be same or dimension of bigger matrix should be multiple of dimension of smaller matrix.

```#first operand
x1 <- 10
v1 <- c(10, 20, 30)
m1 <- matrix(c(10, 20, 30, 40, 50, 60), nrow=2)

#second operand
m2 <- matrix(c(1, 2, 3, 4, 5, 6), nrow=2)

#multiplying a scalar (single element
#atomic vector) by a matrix
print(x1 * m2)
#multiplying a vector by a matrix
cat("\n")
print(v1 * m2)
#multiplying two matrices
cat("\n")
print(m1 * m2)
```

The output of the above code will be:

```     [,1] [,2] [,3]
[1,]   10   30   50
[2,]   20   40   60

[,1] [,2] [,3]
[1,]   10   90  100
[2,]   40   40  180

[,1] [,2] [,3]
[1,]   10   90  250
[2,]   40  160  360
```

❮ R - Operators

5