Open In App

Multiply Matrices of Complex Numbers using NumPy in Python

Last Updated : 30 Sep, 2025
Comments
Improve
Suggest changes
1 Likes
Like
Report

A Complex Number is any number that can be represented in the form of x+yj where x is the real part and y is the imaginary part. Multiplication of two complex numbers can be done using the below formula:

(a+ib) \times (x+iy)=ax+i^2by+i(bx+ay)=ax-by+i(bx+ay) 

vdot() Method

NumPy provides vdot() method that returns the dot product of vectors a and b. It handles complex numbers differently than dot(a, b) by conjugating the first argument.

Syntax

numpy.vdot(a, b)

Parameters:

  • a: array_like -> First input vector or matrix.
  • b: array_like -> Second input vector or matrix.

Return Value: Returns a scalar which is the dot product of a and b. If the arrays contain complex numbers, a is conjugated before multiplication.

Examples

Example 1: This example demonstrates how to compute the dot product of two 1D arrays of complex numbers.

Python
import numpy as np

x = np.array([2+3j, 4+5j])
print("Matrix A:")
print(x)

y = np.array([8+7j, 5+6j])
print("Matrix B:")
print(y)

z = np.vdot(x, y)
print("Result:")
print(z)

Output
Matrix A:
[2.+3.j 4.+5.j]
Matrix B:
[8.+7.j 5.+6.j]
Result:
(87-11j)

Explanation:

  • x and y are 1D NumPy arrays containing complex numbers.
  • np.vdot(x, y) computes the dot product by conjugating x and multiplying element-wise with y, then summing the results.
  • The resulting scalar (87-11j) is printed.

Example 2: This example demonstrates the dot product for 2D arrays of complex numbers.

Python
import numpy as np

x = np.array([[2+3j, 4+5j], [4+5j, 6+7j]])
print("Matrix A:")
print(x)

y = np.array([[8+7j, 5+6j], [9+10j, 1+2j]])
print("Matrix B:")
print(y)

z = np.vdot(x, y)
print("Result:")
print(z)

Output
Matrix A:
[[2.+3.j 4.+5.j]
 [4.+5.j 6.+7.j]]
Matrix B:
[[8. +7.j 5. +6.j]
 [9.+10.j 1. +2.j]]
Result:
(193-11j)

Explanation:

  • x and y are 2D NumPy arrays containing complex numbers.
  • np.vdot(x, y) flattens both arrays, conjugates the first (x), multiplies element-wise with the second (y), and sums all results.
  • The resulting scalar (193-11j) is printed

Explore