New Formula for Computing Quaternion Powers

Abstract

In this work, we create a new mathematical formula that computes the power of a quaternion number raised to a positive integer by reducing the real matrix of order 4 × 4 that we take to represent this quaternion number to a matrix that makes the process of multiplying this quaternion number by itself simpler. We also present a new method for computing the power of a real matrix of order 2 × 2 as an application of this formula.

Share and Cite:

Ahmed, W. (2022) New Formula for Computing Quaternion Powers. Applied Mathematics, 13, 282-294. doi: 10.4236/am.2022.133021.

1. Introduction

Quaternions have become very valuable in many fields such as computer graphics [1], physics [2], and engineering [3], one of the important motives for increasing quaternions applications is the development of quaternion algebra. The task of computing the power of a quaternion number in the simplest way is the aim of this work.

Applying the Cayley-Dickson construction [4] to two complex numbers a = a 0 + a 1 i 1 and b = a 2 + a 3 i 1 gives a convenient way to write any quaternion number q as:

q = a + b i 2 = a 0 + a 1 i 1 + ( a 2 + a 3 i 1 ) i 2 = a 0 + a 1 i 1 + a 2 i 2 + a 3 i 3 (1)

where a 0 , a 1 , a 2 , a 3 are real numbers and i 1 , i 2 , i 3 are imaginary units satisfy Hamilton’s rules [5] [6] [7], and their multiplication is given in Table 1.

Table 1. Imaginary units i 1 , i 2 , i 3 multiplication.

The way of the multiplication operation of these units makes computing the powers of the quaternion number by using the binomial expansion is less used, especially when the quaternion number is raised to large power. De Moivre’s and Euler’s formulas [8] [9] are usually used to compute the power of a quaternion number.

Here, we give the simplest and most direct way to compute the power of a quaternion number raised to a positive integer n.

2. Methodology

Representing a quaternion number in the form of a matrix is very useful, especially in computing the powers of this number, there are 96 distinct real matrices [10] that represent a quaternion number, one of these matrices is a matrix A, which represents the number q.

A = [ a 0 a 1 a 2 a 3 a 1 a 0 a 3 a 2 a 2 a 3 a 0 a 1 a 3 a 2 a 1 a 0 ] (2)

And since:

A [ a 0 a 1 a 2 a 3 ] = [ a 0 a 1 a 2 a 3 a 1 a 0 a 3 a 2 a 2 a 3 a 0 a 1 a 3 a 2 a 1 a 0 ] [ a 0 a 1 a 2 a 3 ] = [ a 0 a 1 a 2 a 3 a 1 a 0 0 0 a 2 0 a 0 0 a 3 0 0 a 0 ] [ a 0 a 1 a 2 a 3 ] = ω [ a 0 a 1 a 2 a 3 ]

where:

ω = [ a 0 a 1 a 2 a 3 a 1 a 0 0 0 a 2 0 a 0 0 a 3 0 0 a 0 ] (3)

we will use the matrix ω in computing q n instead of using the matrix A, the matrix ω will play an important role in our computations.

Set:

[ A 0 A 1 A 2 A 3 ] = [ a 0 a 1 a 2 a 3 ] (4)

Then:

[ ( A 2 ) 0 ( A 2 ) 1 ( A 2 ) 2 ( A 2 ) 3 ] = ω [ A 0 A 1 A 2 A 3 ] (5)

In general:

[ ( A n ) 0 ( A n ) 1 ( A n ) 2 ( A n ) 3 ] = ω [ ( A n 1 ) 0 ( A n 1 ) 1 ( A n 1 ) 2 ( A n 1 ) 3 ] (6)

We compute q 2 , q 3 , q 4 , q 5 as:

[ ( A 2 ) 0 ( A 2 ) 1 ( A 2 ) 2 ( A 2 ) 3 ] = [ a 0 a 1 a 2 a 3 a 1 a 0 0 0 a 2 0 a 0 0 a 3 0 0 a 0 ] [ a 0 a 1 a 2 a 3 ] = [ a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) 2 a 0 a 1 2 a 0 a 2 2 a 0 a 3 ]

[ ( A 3 ) 0 ( A 3 ) 1 ( A 3 ) 2 ( A 3 ) 3 ] = [ a 0 a 1 a 2 a 3 a 1 a 0 0 0 a 2 0 a 0 0 a 3 0 0 a 0 ] [ a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) 2 a 0 a 1 2 a 0 a 2 2 a 0 a 3 ] = [ a 0 3 3 a 0 ( a 1 2 + a 2 2 + a 3 2 ) [ 3 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 1 ) [ 3 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 2 ) [ 3 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 3 ) ]

[ ( A 4 ) 0 ( A 4 ) 1 ( A 4 ) 2 ( A 4 ) 3 ] = [ a 0 a 1 a 2 a 3 a 1 a 0 0 0 a 2 0 a 0 0 a 3 0 0 a 0 ] [ a 0 3 3 a 0 ( a 1 2 + a 2 2 + a 3 2 ) [ 3 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 1 ) [ 3 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 2 ) [ 3 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 3 ) ] = [ a 0 4 6 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) + ( a 1 2 + a 2 2 + a 3 2 ) 2 [ 4 a 0 3 4 a 0 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 1 ) [ 4 a 0 3 4 a 0 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 2 ) [ 4 a 0 3 4 a 0 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 3 ) ]

[ ( A 5 ) 0 ( A 5 ) 1 ( A 5 ) 2 ( A 5 ) 3 ] = [ a 0 a 1 a 2 a 3 a 1 a 0 0 0 a 2 0 a 0 0 a 3 0 0 a 0 ] [ a 0 4 6 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) + ( a 1 2 + a 2 2 + a 3 2 ) 2 [ 4 a 0 3 4 a 0 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 1 ) [ 4 a 0 3 4 a 0 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 2 ) [ 4 a 0 3 4 a 0 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 3 ) ] = [ a 0 5 10 a 0 3 ( a 1 2 + a 2 2 + a 3 2 ) + 5 a 0 ( a 1 2 + a 2 2 + a 3 2 ) 2 [ 5 a 0 4 10 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) + ( a 1 2 + a 2 2 + a 3 2 ) 2 ] ( a 1 ) [ 5 a 0 4 10 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) + ( a 1 2 + a 2 2 + a 3 2 ) 2 ] ( a 2 ) [ 5 a 0 4 10 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) + ( a 1 2 + a 1 2 + a 3 2 ) 2 ] ( a 3 ) ]

Now, we can conclude that when n is an even number, then:

[ ( A n ) 0 ( A n ) 1 ( A n ) 2 ( A n ) 3 ] = [ i = 0 n / 2 ( n n 2 i ) a 0 n 2 i [ ( a 1 2 + a 2 2 + a 3 2 ) ] i a 1 i = 0 n / 2 1 ( n n 2 i 1 ) a 0 n 2 i 1 [ ( a 1 2 + a 2 2 + a 3 2 ) ] i a 2 i = 0 n / 2 1 ( n n 2 i 1 ) a 0 n 2 i 1 [ ( a 1 2 + a 2 2 + a 3 2 ) ] i a 3 i = 0 n / 2 1 ( n n 2 i 1 ) a 0 n 2 i 1 [ ( a 1 2 + a 2 2 + a 3 2 ) ] i ] (7)

and whenn is an odd number, then:

[ ( A n ) 0 ( A n ) 1 ( A n ) 2 ( A n ) 3 ] = [ i = 0 ( n 1 ) / 2 ( n n 2 i ) a 0 n 2 i [ ( a 1 2 + a 2 2 + a 3 2 ) ] i a 1 i = 0 ( n 1 ) / 2 ( n n 2 i 1 ) a 0 n 2 i 1 [ ( a 1 2 + a 2 2 + a 3 2 ) ] i a 2 i = 0 ( n 1 ) / 2 ( n n 2 i 1 ) a 0 n 2 i 1 [ ( a 1 2 + a 2 2 + a 3 2 ) ] i a 3 i = 0 ( n 1 ) / 2 ( n n 2 i 1 ) a 0 n 2 i 1 [ ( a 1 2 + a 2 2 + a 3 2 ) ] i ] (8)

Once we get ( A n ) 0 , ( A n ) 1 , ( A n ) 2 , ( A n ) 3 , then:

q n = ( A n ) 0 i 0 + ( A n ) 1 i 1 + ( A n ) 2 i 2 + ( A n ) 3 i 3 (9)

Special cases:

1) For a pure quaternion number ( a 0 = 0 ) ,

[ A 0 A 1 A 2 A 3 ] = [ 0 a 1 a 2 a 3 ] (10)

[ ( A 2 ) 0 ( A 2 ) 1 ( A 2 ) 2 ( A 2 ) 3 ] = [ 0 a 1 a 2 a 3 a 1 0 0 0 a 2 0 0 0 a 3 0 0 0 ] [ 0 a 1 a 2 a 3 ] = [ ( a 1 2 + a 2 2 + a 3 2 ) 0 0 0 ]

[ ( A 3 ) 0 ( A 3 ) 1 ( A 3 ) 2 ( A 3 ) 3 ] = [ 0 a 1 a 2 a 3 a 1 0 0 0 a 2 0 0 0 a 3 0 0 0 ] [ ( a 1 2 + a 2 2 + a 3 2 ) 0 0 0 ] = [ 0 ( a 1 2 + a 2 2 + a 3 2 ) ( a 1 ) ( a 1 2 + a 2 2 + a 3 2 ) ( a 2 ) ( a 1 2 + a 2 2 + a 3 2 ) ( a 3 ) ]

[ ( A 4 ) 0 ( A 4 ) 1 ( A 4 ) 2 ( A 4 ) 3 ] = [ 0 a 1 a 2 a 3 a 1 0 0 0 a 2 0 0 0 a 3 0 0 0 ] [ 0 ( a 1 2 + a 2 2 + a 3 2 ) ( a 1 ) ( a 1 2 + a 2 2 + a 3 2 ) ( a 2 ) ( a 1 2 + a 2 2 + a 3 2 ) ( a 3 ) ] = [ ( a 1 2 + a 2 2 + a 3 2 ) 2 0 0 0 ]

[ ( A 5 ) 0 ( A 5 ) 1 ( A 5 ) 2 ( A 5 ) 3 ] = [ 0 a 1 a 2 a 3 a 1 0 0 0 a 2 0 0 0 a 3 0 0 0 ] [ ( a 1 2 + a 2 2 + a 3 2 ) 2 0 0 0 ] = [ 0 ( a 1 2 + a 2 2 + a 3 2 ) 2 ( a 1 ) ( a 1 2 + a 2 2 + a 3 2 ) 2 ( a 2 ) ( a 1 2 + a 2 2 + a 3 2 ) 2 ( a 3 ) ]

Therefore, if n is an even number, then the formula will be:

[ ( A n ) 0 ( A n ) 1 ( A n ) 2 ( A n ) 3 ] = [ [ ( a 1 2 + a 2 2 + a 3 2 ) ] n / 2 0 0 0 ] (11)

And ifn is an odd number, then the formula will be:

[ ( A n ) 0 ( A n ) 1 ( A n ) 2 ( A n ) 3 ] = [ 0 ( a 1 ) [ ( a 1 2 + a 2 2 + a 3 2 ) ] ( n 1 ) / 2 ( a 2 ) [ ( a 1 2 + a 2 2 + a 3 2 ) ] ( n 1 ) / 2 ( a 3 ) [ ( a 1 2 + a 2 2 + a 3 2 ) ] ( n 1 ) / 2 ] (12)

2) For a complex number ( a 2 = a 3 = 0 ) , if n is an even number, then the formula will be:

[ ( A n ) 0 ( A n ) 1 ] = [ i = 0 n / 2 ( n n 2 i ) ( a 0 n 2 i ) ( a 1 2 ) i [ i 0 n / 2 1 ( n n 2 i 1 ) ( a 0 n 2 i 1 ) ( a 1 2 ) i ] ( a 1 ) ] (13)

And if n is an odd number then the formula will be:

[ ( A n ) 0 ( A n ) 1 ] = [ i = 0 ( n 1 ) / 2 ( n n 2 i ) ( a 0 n 2 i ) ( a 1 2 ) i [ i 0 ( n 1 ) / 2 ( n n 2 i 1 ) ( a 0 n 2 i 1 ) ( a 1 2 ) i ] ( a 1 ) ] (14)

These suitable formulas give the power of the quaternion number raised to n.

3. Examples

1) For q = 1 + 2 i 1 + 3 i 2 + 4 i 3 , let us compute q 5 , q 20

Of course for small values of n , we can manually compute the power of the quaternion, and with helping of a computer program, we can compute the power of the quaternion whenn is a large number.

To compute q 5 , use (8),

( A 5 ) 0 = i = 0 2 ( 5 5 2 i ) ( 29 ) i

= 1 290 + 4205 = 3916

( A 5 ) 1 = 2 i = 0 2 ( 5 4 2 i ) ( 29 ) i

= ( 2 ) ( 5 290 + 841 ) = ( 2 ) ( 556 )

q 5 = 3916 + 556 ( 2 i 1 + 3 i 2 + 4 i 3 )

To compute q 20 , using the python code (Algorithm 1).

Set a 0 = 1 , a 1 = 2 , a 2 = 3 , a 3 = 4 and n = 20 , the result will be:

a0 = −509333346214912.0

a1 = 110956955017216.0

a2 = 166435432525824.0

a3 = 221913910034432.0

q 20 = 509333346214912 + 110956955017216 i 1 + 166435432525824 i 2 + 221913910034432 i 3

In the matrix form,

A = [ 1 2 3 4 2 1 4 3 3 4 1 2 4 3 2 1 ]

A 5 = [ 3916 1112 1668 2224 1112 3916 2224 1668 1668 2224 3916 1112 2224 1668 1112 3916 ]

A 20 = [ 509333346214912 110956955017216 166435432525824 221913910034432 110956955017216 509333346214912 221913910034432 166435432525824 166435432525824 221913910034432 509333346214912 110956955017216 221913910034432 166435432525824 110956955017216 509333346214912 ]

Algorithm 1. Python code for computing qn, n is an even integer.

2) To compute ( 2 i 1 + 3 i 2 + 4 i 3 ) 101 ,

a 0 = 0 , a 1 = 2 , a 2 = 3 and a 3 = 4

Using (12),

[ ( A 101 ) 0 ( A 101 ) 1 ( A 101 ) 2 ( A 101 ) 3 ] = [ 0 2 ( 29 50 ) 3 ( 29 50 ) 4 ( 29 50 ) ]

( 2 i 1 + 3 i 2 + 4 i 3 ) 101 = ( 29 50 ) ( 2 i 1 + 3 i 2 + 4 i 3 )

In the matrix form,

A = [ 0 2 3 4 2 0 4 3 3 4 0 2 4 3 2 0 ]

A 101 = ( 29 50 ) [ 0 2 3 4 2 0 4 3 3 4 0 2 4 3 2 0 ]

4. Application

To compute the nth power of a matrix of order two, we will do a little change to our formulas to be compatible with matrices multiplication.

For X = [ a 11 a 12 a 21 a 22 ] , we want to compute X n .

Set a 0 = a 11 + a 22 , a 1 = a 11 a 22 , a 2 = a 12 + a 21 , and a 3 = a 12 a 21 , and:

[ X 0 X 1 X 2 X 3 ] = [ a 0 a 1 a 2 a 3 ] (15)

X 2 = [ a 11 a 12 a 21 a 22 ] [ a 11 a 12 a 21 a 22 ] = [ a 11 2 + a 12 a 21 a 11 a 12 + a 12 a 22 a 21 a 11 + a 22 a 21 a 21 a 12 + a 22 2 ]

[ ( X 2 ) 0 ( X 2 ) 1 ( X 2 ) 2 ( X 2 ) 3 ] = [ a 11 2 + 2 a 12 a 21 + a 22 2 a 11 2 a 22 2 a 11 a 12 + a 11 a 21 + a 12 a 22 + a 21 a 22 a 11 a 12 a 11 a 21 ] = 1 2 [ a 0 2 + a 1 2 + a 2 2 a 3 2 a 0 a 1 a 0 a 2 a 0 a 3 ]

2 X = 2 [ a 11 a 12 a 21 a 22 ] = [ a 0 + a 1 a 2 + a 3 a 2 a 3 a 0 a 1 ] = [ a 0 0 0 a 1 ] + [ a 1 0 0 a 1 ] + [ 0 a 2 a 2 0 ] + [ 0 a 3 a 3 0 ]

where j 0 = [ 1 0 0 1 ] , j 1 = [ 1 0 0 1 ] , j 2 = [ 0 1 1 0 ] , j 3 = [ 0 1 1 0 ] , and their multiplication is given in Table 2.

Corresponding to the multiplication (Table 2), we can construct the matrix υ .

υ = [ a 0 a 1 a 2 a 3 a 1 a 0 a 3 a 2 a 2 a 3 a 0 a 1 a 3 a 2 a 1 a 0 ] (16)

And since:

υ [ a 0 a 1 a 2 a 3 ] = [ a 0 a 1 a 2 a 3 a 1 a 0 a 3 a 2 a 2 a 3 a 0 a 1 a 3 a 2 a 1 a 0 ] [ a 0 a 1 a 2 a 3 ] = [ a 0 a 1 a 2 a 3 a 1 a 0 0 0 a 2 0 a 0 0 a 3 0 0 a 0 ] [ a 0 a 1 a 2 a 3 ]

We will reduce υ to υ .

υ = [ a 0 a 1 a 2 a 3 a 1 a 0 0 0 a 2 0 a 0 0 a 3 0 0 a 0 ] (17)

Notice that:

υ [ a 0 a 1 a 2 a 3 ] = [ a 0 a 1 a 2 a 3 a 1 a 0 0 0 a 2 0 a 0 0 a 3 0 0 a 0 ] [ a 0 a 1 a 2 a 3 ] = [ a 0 2 + a 1 2 + a 2 2 a 3 2 2 a 0 a 1 2 a 0 a 2 2 a 0 a 3 ]

Therefore, to compute X 2 we use:

[ ( X 2 ) 0 ( X 2 ) 1 ( X 2 ) 2 ( X 2 ) 3 ] = υ 2 [ a 0 a 1 a 2 a 3 ] = υ 2 [ ( X ) 0 ( X ) 1 ( X ) 2 ( X ) 3 ]

Table 2. Matrices j 0 , j 1 , j 2 , j 3 multiplication.

In general:

[ ( X n ) 0 ( X n ) 1 ( X n ) 2 ( X n ) 3 ] = υ 2 n [ ( X n 1 ) 0 ( X n 1 ) 1 ( X n 1 ) 2 ( X n 1 ) 3 ] (18)

Therefore, to compute X 3 we use:

[ ( X 3 ) 0 ( X 3 ) 1 ( X 3 ) 2 ( X 3 ) 3 ] = υ 8 [ ( X 2 ) 0 ( X 2 ) 1 ( X 2 ) 2 ( X 2 ) 3 ]

[ ( X 3 ) 0 ( X 3 ) 1 ( X 3 ) 2 ( X 3 ) 3 ] = 1 8 [ a 0 a 1 a 2 a 3 a 1 a 0 0 0 a 2 0 a 0 0 a 3 0 0 a 0 ] [ a 0 2 + a 1 2 + a 2 2 a 3 2 2 a 0 a 1 2 a 0 a 2 2 a 0 a 3 ] = [ a 0 3 + 3 a 0 ( a 1 2 + a 2 2 a 3 2 ) ( 3 a 0 2 + a 1 2 + a 2 2 a 3 2 ) ( a 1 ) ( 3 a 0 2 + a 1 2 + a 2 2 a 3 2 ) ( a 2 ) ( 3 a 0 2 + a 1 2 + a 2 2 a 3 2 ) ( a 3 ) ]

For computing X 4 we use:

[ ( X 4 ) 0 ( X 4 ) 1 ( X 4 ) 2 ( X 4 ) 3 ] = 1 16 [ a 0 a 1 a 2 a 3 a 1 a 0 0 0 a 2 0 a 0 0 a 3 0 0 a 0 ] [ a 0 3 + 3 a 0 ( a 1 2 + a 2 2 a 3 2 ) ( 3 a 0 2 + a 1 2 + a 2 2 a 3 2 ) ( a 1 ) ( 3 a 0 2 + a 1 2 + a 2 2 a 3 2 ) ( a 2 ) ( 3 a 0 2 + a 1 2 + a 2 2 a 3 2 ) ( a 3 ) ] = [ a 0 4 + 6 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) + ( a 1 2 + a 2 2 + a 3 2 ) 2 [ 4 a 0 3 + 4 a 0 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 1 ) [ 4 a 0 3 + 4 a 0 ( a 1 q + a 2 2 + a 3 2 ) ] ( a 2 ) [ 4 a 0 3 + 4 a 0 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 3 ) ]

And for computing X 5 we use:

[ ( X 5 ) 0 ( X 5 ) 1 ( X 5 ) 2 ( X 5 ) 3 ] = 1 32 [ a 0 a 1 a 2 a 3 a 1 a 0 0 0 a 2 0 a 0 0 a 3 0 0 a 0 ] [ a 0 4 + 6 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) + ( a 1 2 + a 2 2 + a 3 2 ) 2 [ 4 a 0 3 + 4 a 0 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 1 ) [ 4 a 0 3 + 4 a 0 ( a 1 q + a 2 2 + a 3 2 ) ] ( a 2 ) [ 4 a 0 3 + 4 a 0 ( a 1 2 + a 2 2 + a 3 2 ) ] ( a 3 ) ]

= [ a 0 5 + 10 a 0 3 ( a 1 2 + a 2 2 + a 3 2 ) + 5 a 0 ( a 1 2 + a 2 2 + a 3 2 ) 2 [ 5 a 0 4 + 10 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) + ( a 1 2 + a 2 2 + a 3 2 ) 2 ] ( a 1 ) [ 5 a 0 4 + 10 a 0 2 ( a 1 q + a 2 2 + a 3 2 ) + ( a 1 2 + a 2 2 + a 3 2 ) 2 ] ( a 2 ) [ 5 a 0 4 + 10 a 0 2 ( a 1 2 + a 2 2 + a 3 2 ) + ( a 1 2 + a 2 2 + a 3 2 ) 2 ] ( a 3 ) ]

We can conclude that when n is an even number, then:

[ ( X n ) 0 ( X n ) 1 ( X n ) 2 ( X n ) 3 ] = 1 2 n [ i = 0 n / 2 ( n n 2 i ) a 0 n 2 i ( a 1 2 + a 2 2 a 3 2 ) i a 1 i = 0 n / 2 1 ( n n 2 i 1 ) a 0 n 2 i 1 ( a 1 2 + a 2 2 a 3 2 ) i a 2 i = 0 n / 2 1 ( n n 2 i 1 ) a 0 n 2 i 1 ( a 1 2 + a 2 2 a 3 2 ) i a 3 i = 0 n / 2 1 ( n n 2 i 1 ) a 0 n 2 i 1 ( a 1 2 + a 2 2 a 3 2 ) i ] (19)

and when n is an odd number, then:

[ ( X n ) 0 ( X n ) 1 ( X n ) 2 ( X n ) 3 ] = 1 2 n [ i = 0 ( n 1 ) / 2 ( n n 2 i ) a 0 n 2 i ( a 1 2 + a 2 2 a 3 2 ) i a 1 i = 0 ( n 1 ) / 2 ( n n 2 i 1 ) a 0 n 2 i 1 ( a 1 2 + a 2 2 a 3 2 ) i a 2 i = 0 ( n 1 ) / 2 ( n n 2 i 1 ) a 0 n 2 i 1 ( a 1 2 + a 2 2 a 3 2 ) i a 3 i = 0 ( n 1 ) / 2 ( n n 2 i 1 ) a 0 n 2 i 1 ( a 1 2 + a 2 2 a 3 2 ) i ] (20)

Once we get ( X n ) 0 , ( X n ) 1 , ( X n ) 2 , ( X n ) 3 then:

X n = ( X n ) 0 j 0 + ( X n ) 1 j 1 + ( X n ) 2 j 2 + ( X n ) 3 j 3 (21)

Special case:

When a 0 = 0 , if n is an even number, the formula will be:

[ ( X n ) 0 ( X n ) 1 ( X n ) 2 ( X n ) 3 ] = 1 2 n [ ( a 1 2 + a 2 2 a 3 2 ) n / 2 0 0 0 ] (22)

And if n is an odd number, the formula will be:

[ ( X n ) 0 ( X n ) 1 ( X n ) 2 ( X n ) 3 ] = 1 2 n [ 0 a 1 ( a 1 2 + a 2 2 a 3 2 ) ( n 1 ) / 2 a 2 ( a 1 2 + a 2 2 a 3 2 ) ( n 1 ) / 2 a 3 ( a 1 2 + a 2 2 a 3 2 ) ( n 1 ) / 2 ] (23)

Therefore, it is easy to compute the power of a matrix of order two raised to n.

5. Examples

1) For X = [ 1 2 4 3 ] , let us compute X 11 , X 100

To compute X 11 , use (20).

Set a 0 = a 11 + a 22 = 2 , a 1 = a 11 a 22 = 4 , a 2 = a 12 + a 21 = 6 , a 3 = a 12 a 21 = 2

[ ( X 11 ) 0 ( X 11 ) 1 ( X 11 ) 2 ( X 11 ) 3 ] = 1 2 11 [ i = 0 5 ( 11 11 2 i ) ( 4 11 2 i ) ( 36 i ) 2 i = 0 4 ( 11 10 2 i ) ( 4 10 2 i ) ( 36 i ) 6 i = 0 4 ( 11 10 2 i ) ( 4 10 2 i ) ( 36 i ) 2 i = 0 4 ( 11 10 2 i ) ( 4 10 2 i ) ( 36 i ) ]

( X 11 ) 0 = 1 2 11 [ 4 11 + ( 55 ) ( 4 9 ) ( 36 ) + ( 330 ) ( 4 7 ) ( 36 2 ) + ( 462 ) ( 4 5 ) ( 36 3 ) + ( 165 ) ( 4 3 ) ( 36 4 ) + ( 11 ) ( 4 ) ( 36 5 ) ] = 24414062

( X 11 ) 1 = 1 2 11 [ ( 11 ) ( 4 10 ) + ( 165 ) ( 4 8 ) ( 36 ) + ( 462 ) ( 4 6 ) ( 36 2 ) + ( 330 ) ( 4 4 ) ( 36 3 ) + ( 55 ) ( 4 2 ) ( 36 4 ) + 36 5 ] ( 2 ) = ( 4069010.5 ) ( 2 ) = 8138021

( X 11 ) 2 = ( 4069010.5 ) ( 6 ) = 24414063

( X 11 ) 3 = ( 4069010.5 ) ( 2 ) = 8138021

X 11 = ( 24414062 ) [ 1 0 0 1 ] ( 8138021 ) [ 1 0 0 1 ] + ( 24414063 ) [ 0 1 1 0 ] ( 8138021 ) [ 0 1 1 0 ] = [ 16276041 16276042 32552084 32552083 ]

To compute X 100 , Let us use the python code (Algorithm 2).

Set a 11 = 1 , a 12 = 2 , a 21 = 4 , a 22 = 3 and n = 100 , the result will be:

a11 = 2.6295363507367063e+69

a12 = 2.6295363507367063e+69

a21 = 5.2590727014734134e+69

a22 = 5.2590727014734134e+69

2) For X = [ 1 2 4 1 ] , let us compute X 100

Set a 0 = 0 , a 1 = 2 , a 2 = 6 , a 3 = 2 , and use (21). We will get:

Algorithm 2. Python code for computing An, n is an even integer.

( X 100 ) 0 = 1 2 100 ( 36 ) 50

X 100 = 3 100 [ 1 0 0 1 ]

6. Conclusion

Representing the quaternion number q in a matrix form like A and reducing this matrix to the matrix ω make multiplying q by itself easier, and this makes creating the formula for computing the nth power of q be very simple. The paper followed this way and created an important formula for computing q n and applied a similar formula to compute the power of a matrix of order two.

Conflicts of Interest

The author declares no conflicts of interest regarding the publication of this paper.

References

[1] Hanson, A.J. (2005) Visualizing Quaternions. In: ACM SIGGRAPH 2005 Courses, Association for Computing Machinery, New York, 1-es.
https://doi.org/10.1145/1198555.1198701
[2] Girard, P.R. (2007) Quaternions, Cliford Algebras and Relativistic Physics.
[3] Took, C.C. and Mandic, D.P. (2010) A Quaternion Widely Linear Adaptive Filter. IEEE Transactions on Signal Processing, 58, 4427-4431.
https://doi.org/10.1109/TSP.2010.2048323
[4] Cayley, A. (2009) On Certain Results Relating to Quaternions. In: The Collected Mathematical Papers, Cambridge University Press, Cambridge, 123-126.
https://doi.org/10.1017/CBO9780511703676.021
[5] Halberstam, H. and Ingram, R.E. (Eds.) (1967) The Mathematical Papers of Sir William Rowan Hamilton. Vol. III, Cambridge University Press, Cambridge.
[6] Van Der Waerden, B.L. (1976) Hamilton’s Discovery of Quaternions. Mathematics Magazine, 49, 227-234.
https://doi.org/10.1080/0025570X.1976.11976586
[7] van der Waerden, B.L. (1985) A History of Algebra. Springer-Verlag, Belin.
https://doi.org/10.1007/978-3-642-51599-6
[8] Cho, E. (1998) De Moivre’s Formula for Quaternions. Applied Mathematics Letters, 11, 33-35.
https://doi.org/10.1016/S0893-9659(98)00098-6
[9] Cho, E. (1999) Euler’s Formula and De Moivre’s Formula for Quaternions. Missouri Journal of Mathematical Sciences, 11, 80-83.
https://doi.org/10.35834/1999/1102080
[10] Ahmed, W.E. (2020) Ninety-Six Distinct Real Matrices for Representing a Quaternion number. Journal of Mathematics, 2020, Article ID 2412491.
https://doi.org/10.1155/2020/2412491

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.