# Solve System of Equations in R (3 Examples) | Using solve() Function

In this article, Iâ€™ll explain how to **solve a system of equations using the solve() function** in the R programming language.

Table of contents:

Letâ€™s get started.

## Example 1: Basic Application of solve() Function in R

In this Example, Iâ€™ll illustrate how to apply the solve function to a single equation in R.

Letâ€™s assume we want to solve the equation: *3x = 12*. Then we can use the following R code:

solve(3, 12) # Applying solve # 4

The RStudio console returns the value 4, i.e. *x = 4*.

## Example 2: Applying solve Function to Complex System of Equations

The solve command can also be used to solve complex systems of equations. Letâ€™s assume that our system of equations looks as follows:

*5x + y = 15
10x + 3y = 9*

Then we can specify these equations in a right-hand side matrixâ€¦

mat_a1 <- matrix(c(5, 10, # Creating left-hand side matrix 1, 3), nrow = 2) mat_a1 # Print matrix # [,1] [,2] # [1,] 5 1 # [2,] 10 3

â€¦and a left-hand side matrix:

mat_b1 <- matrix(c(15, # Creating right-hand side matrix 9), nrow = 2) mat_b1 # Print matrix # [,1] # [1,] 15 # [2,] 9

Afterwards, we can apply the solve function to these matrices:

solve(mat_a1, mat_b1) # Applying solve to matrices # [,1] # [1,] 7.2 # [2,] -21.0

The previous output of the RStudio console shows our result: *x = 7.2; y = -21*.

## Example 3: Using Identity Matrix as Right-hand Side of Linear System

The solve function sets the right-hand side matrix to the identity matrix, in case this matrix is not explicitly specified. In other words, the solve function is computing the inverse of a matrix, if no right-hand side matrix is specified.

Letâ€™s do this in practice: First, we have to create another example matrix in R:

set.seed(96743) # Creating complex matrix mat_a2 <- matrix(rnorm(25), nrow = 5) mat_a2 # Print matrix # [,1] [,2] [,3] [,4] [,5] # [1,] 1.063239047 -1.4326992 -0.9790201 -0.4636753 1.37990358 # [2,] 0.254985749 0.4016807 1.1733589 -0.7508775 2.33918171 # [3,] -0.338361009 -0.1833490 -0.5049254 0.7144516 -1.86724624 # [4,] -0.009719763 0.2847016 0.8611929 0.7430495 0.01254588 # [5,] 0.380698865 0.8433700 1.5883904 -1.7543261 -0.29077861

Now, we can solve this matrix (i.e. computing the inverse) by using the solve function as follows:

solve(mat_a2) # Applying solve to single matrix # [,1] [,2] [,3] [,4] [,5] # [1,] 0.15755772 -4.1085093 -5.0897583 1.93645828 0.4642408 # [2,] -0.84696305 -3.9617415 -5.5935527 1.01982458 0.0735072 # [3,] 0.33461449 2.0787370 2.8230927 0.02703553 0.1829891 # [4,] -0.06024530 -0.9485616 -1.1905739 0.95065045 -0.2303102 # [5,] -0.05892059 0.2084526 -0.2829356 -0.09461151 -0.2289467

The previous output shows the inverse of our input matrix.

## Video, Further Resources & Summary

Some time ago I have released a video on my YouTube channel, which shows the contents of this article. You can find the video below:

Besides the video, you could read the related tutorials that I have published on my website. Some tutorials can be found here:

This tutorial illustrated how to **apply the solve() function** in R programming. Donâ€™t hesitate to let me know in the comments, in case you have further questions.