Related Articles
Manipulating matrices in Julia
• Last Updated : 22 Apr, 2020

Matrices in Julia are the heterogeneous type of containers and hence, they can hold elements of any data type. It is not mandatory to define the data type of a matrix before assigning the elements to the matrix. Julia automatically decides the data type of the matrix by analyzing the values assigned to it. Because of the ordered nature of a matrix, it makes it easier to perform operations on its values based on their index.

Following are some common matrix manipulation operations in Julia:

• Transpose of a matrix
• Flipping a matrix
• Concatenating matrices
• Reshaping a matrix
• Inverse of a matrix

#### Creating a matrix

Julia provides a very simple notation to create matrices. A matrix can be created using the following notation: A = [1 2 3; 4 5 6]. Spaces separate entries in a row and semicolons separate rows. We can also get the size of a matrix using size(A). #### Transpose of a matrix • The transpose operation flips the matrix over its diagonal by switching the rows and columns.
• Let A be a matrix. We can get the transpose of A by using A’.
• Example 1:

 `# Defining a square matrix of size (2, 2) ` `A ``=` `[``1` `2``; ``3` `4``]     ` ` `  `# Transpose of A  ` `A'                `

Output: Example 2:

 `# Defining a retangular matrix of size (2, 3) ` `B ``=` `[``1` `2` `3``; ``4` `5` `6``]    ` ` `  `# Transpose of B ` `B'                    `

Output: #### Flipping a matrix: • A matrix in Julia can be flipped via the X-axis i.e. horizontally or via the Y-axis i.e. vertically.
• To flip the matrix we use `reverse(< matrix >, dims= < 1 or 2 >))` 1 = vertically, 2 = horizontally.

Example 1: Flipping vertically

 `# Defining a rectangular matrix of size (2, 3) ` `B ``=` `[``1` `2` `3``; ``4` `5` `6``]     ` ` `  `# Flipping the matrix vertically ` `reverse(B, dims ``=` `1``)    `

Output: Example 2: Flipping horizontally

 `# Flipping the matrix horizontally ` `reverse(B, dims ``=` `2``)    ` #### Concatenating matrices • In Julia we can concatenate a matrix to another matrix to the right side of the initial matrix or to the bottom of it.
• We use `vcat(A, B)` to concatenate to the side.
• And `hcat(A, B)` to concatenate to the bottom.
• While concatenating to the side, we need to make sure that both the matrices have same number of rows.
• While concatenating to the bottom, we need to make sure that both the matrices have same number of columns.

Example 1: Concatenate to the side

 `# Creating a square matrix of size (2, 2) ` `A ``=` `[``1` `2``; ``3` `4``]         ` ` `  `# Creating a rectangular matrix of size (2, 3) ` `B ``=` `[``5` `6` `7``; ``8` `9` `10``]    ` `hcat(A, B) ` Example 2: Concatenate to the bottom

 `# Creating a square matrix of size (3, 2) ` `A ``=` `[``1` `2``;``3` `4``; ``5` `6``]         ` ` `  `# Creating a rectangular matrix of size (4, 2) ` `B ``=` `[``5` `7``;``8` `9``; ``10` `11``;``14` `16``]    ` `vcat(A, B) ` #### Reshaping a matrix We can reshape a matrix into another matrix of different size.
Example 1: Reshaping a matrix

 `# The original matrix with size (3, 2) ` `A ``=` `[``1` `2``; ``3` `4``; ``5` `6``]     `

• Output:
• Reshaping the matrix to size (2, 3)

 `reshape(A, (``2``, ``3``)) `

Output: Reshaping the matrix to size (6, 1)

 `reshape(A, (``6``, ``1``)) ` Reshaping the matrix to size (1, 6)

 `reshape(A, (``1``, ``6``)) `

Output: #### Inverse of a matrix • If A is a square matrix its multiplicative inverse is called its inverse matrix. Denoted by A-1.
• In Julia we use `inv(A)` to get the inverse of the matrix A.
• Example 1: Getting the Inverse of a matrix

 `# Creating a square matrix of size (2, 2) ` `A ``=` `[``4` `7``; ``2` `6``]       ` ` `  `# Getting the inverse of matrix A   ` `inv(A)                ` Example 2: Getting Identity Matrix

 `# Creating a square matrix of size (2, 2) ` `A ``=` `[``4` `7``; ``2` `6``]      ` ` `  `# Getting the Identity matrix ` `A ``*` `inv(A)          ` My Personal Notes arrow_drop_up
Recommended Articles
Page :