English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Kotlin program multiplies two matrices by passing matrices to a function

Comprehensive Collection of Kotlin Examples

In this program, you will learn to multiply two matrices using functions in Kotlin.

The number of columns in the first matrix must be equal to the number of rows in the second matrix to perform matrix multiplication. In our example, that is

c1 = r2

Similarly, the size of the final product matrix is r1 x c2,即

product[r1][c2]

You can alsoMultiplying Two Matrixes Without Functions.

Example: A program to multiply two matrices using a function

fun main(args: Array<String>) {
    val r1 = 2
    val c1 = 3
    val r2 = 3
    val c2 = 2
    val firstMatrix = arrayOf(intArrayOf(3, -2, 5), intArrayOf(3, 0, 4))
    val secondMatrix = arrayOf(intArrayOf(2, 3), intArrayOf(-9, 0), intArrayOf(0, 4))
    //Multiply two matrices
    val product = multiplyMatrices(firstMatrix, secondMatrix, r1, c1, c2)
    // Display the result
    displayProduct(product)
}
fun multiplyMatrices(firstMatrix: Array, secondMatrix: Array, r1: Int, c1: Int, c2: Int): Array{
    val product = Array(r1) { IntArray(c2) }
    for (i in 0..r1 - 1) {
        for (j in 0..c2 - 1) {
            for (k in 0..c1 - 1) {
                product[i][j] += firstMatrix[i][k] * secondMatrix[k][j]
            }
        }
    }
    return product
}
fun displayProduct(product: Array) {
    println("The product of two matrices is: ")
    for (row in product) {
        for (column in row) {
            print("$column  ")
        }
        println()
    }
}

When running the program, the output is:

The product of two matrices is:
24    29    
6    25

In the above program, there are two functions:

  • multiplyMatrices() - Multiply two given matrices and return the product matrix

  • displayProduct() - Display the output of the product matrix on the screen.

Multiplication occurs as follows:

|-    (a11 x b11) + (a12 x b21) + (a13 x b31)    (a11 x b12) + (a12 x b22) + (a13 x b32)    -|
|_    (a21 x b11) + (a22 x b21) + (a23 x b31)    (a21 x b12) + (a22 x b22) + (a23 x b32)    _|

In our example, it occurs as follows:

|-    (3 x 2) + (-2 x -9) + (5 x 0) = 24    (3 x 3) + (-2 x 0) + (5 x 4) = 29    -|
|_    (3 x 2) + ( 0  x -9) + (4 x 0) = 6    (3 x 3) + ( 0  x 0 ) + (4 x 4) = 25    _|

This is the equivalent Java code:Java Program to Multiply Two Matrices Using a Function

Comprehensive Collection of Kotlin Examples