This action might not be possible to undo. Are you sure you want to continue?

**to Perform Block Rhotrix Multiplication.
**

Abdullahi M.

1

, Ezugwu A. E.

2

, Ahmed B. I.

3

, Tukur S. M.

4

Department of Mathematics,

Ahmadu Bello University,

Zaria, Nigeria.

1 muham08@yahoo.com, 2 code_abs@yahoo.com, 3 barroonia@yahoo.co.uk, 4 smtexpert@yahoo.com

Abstract-This paper introduces the

concept of parallel rhotrix – rhotrix

multiplication, algorithm design and analysis

based on the idea of parallelization of

matrix–matrix multiplication with Cannon

algorithm.

Keywords: Rhotrix, rhotrix blocking, alignment

operation, shift operation, main entries, heart

entries.

1. INTRODUCTION

Rhotrices multiplication was first introduced

and defined by Ajibade[1], and later Sani [2]

gave an alternative row-column multiplication

of higher dimensional rhotrices. Their work was

basically an idea that offers exercises for

mathematical enrichment with sets of objects

which are in some ways between 2-dimensional

vectors and 2x2-dimensional matrices as in [1],

and for those objects which are in some ways

between nxn-dimensional matrices and (2n-1) x

(2n-1) dimensional matrices as in [3].

In this paper our interest is based on n-

dimensional rhotrix operation and its

multiplication. The name rhotrix come up as a

result of the rhomboid nature of the arrangement of

some mathematical arrays, which can simply

be seen as the combination of matrices. A rhotrix R

is called a real rhotrix if all its entries belong to the

set of Real Numbers. On the other hand a rhotrix R

is called an integer rhotrix if all its entries belong to

the set of Integer Numbers.

Rhotrix is a matrix like array of n- dimensional

form of rhomboid nature. The major difference

between matrix and Rhotrix is the arrangement

and the introduction of concept of a heart (h).

( )

a

b h R d

e

Fig 1: Rhotrix Representation

Rhotrix can be split into two forms of matrices:

the main entries and the heart as shown in the

figure below.

a d

b e

| | ( ) h R

where h(R) is the heart of the rhotrix.

Fig 2: Rhotrix main entries and the heart

(IJCSIS) International Journal of Computer Science and Information Security,

Vol. 8, No. 5, August 2010

231 http://sites.google.com/site/ijcsis/

ISSN 1947-5500

2. HIGHER-DIMENSIONAL RHOTRICES

Ajibade[1] further added that, the dimension of

rhotrices can be expanded in size but would

always be of odd dimension, he further proved

that an n-dimensional rhotrix Rn will have |Rn|

entries where |Rn| = (1/2)(n2+1). n-dimensional

rhotrix can be represented as shown in figure 3.

11

21 11 12

31 21 22 12 31

tt-2 1 2 t-1t-1 2 1 t-2t

t-1t-2 t-1t-1 t-2t-1

tt

a

c

a

. . . . . . .

. . . . . . . . .

. . . . . . .

a a a

a c a

a

n

t t t t

a a

a c c a

R

c c

÷ ÷ ÷ ÷

=

Figure 3: General representation of n-

dimensional rhotrix (adopted from [3])

Where t=(n+1)/2, so that if n=3, then t=2. If

n=5, t=3 and if n=7, t=4. In this case the 3

rd

, 5

th

and 7

th

dimensional rhotrices are given in

figure4:

11

3 21 11 12

22

a

R a c a

a

=

11

12 11 12

5 31 12 22 12 13

31 22 23

33

a

a c a

R a c a c a

a c a

a

=

11

21 11 12

31 21 22 12 13

7 41 31 32 22 23 13 14

42 32 33 23 24

43 33 34

44

a

a c a

a c a c a

R a c a c a c a

a c a c a

a c a

a

=

We define the main rows and columns of rhotrix R

n

depicted in figure 3 as:

,1 1,1 1,1

,2 1,2 1,2

,3 1,3 1,3

, 1, 1,

. . .

. . .

. . .

. . . . . .

. . . . . .

. . .

t t

t t

t t

t t t t t

a a a

a a a

a a a

a a a

÷

÷

÷

÷

and

1,1 1, 1 1,

2,1 2, 1 2,

3,1 3, 1 3,

,1 , 1 ,

. . .

. . .

. . .

. . . . . .

. . . . . .

. . .

t t

t t

t t

t t t t t

a a a

a a a

a a a

a a a

÷

÷

÷

÷

Respectively, the rows and columns of R

n

, i.e. those

containing the values c

lk

are similarly defined

likewise.

3. MULTIPLICATION OPERATION OF

RHOTRICES

Multiplication operation denoted by “o” can be

defined in many ways, but in this paper we

restrict our idea based on B. Sani‟s [3] concept

of row-column multiplication of high

dimensional rhotrices. Representing the n-

dimensional rhotrix in figure 3 above by R

n

=

(a

ij

,c

lk

) where a

ij

and c

lk

represent the a

ij

and c

lk

elements respectively, with i,j=1,2,3,4,……,t

and l,k=1,2,3,4,…..t-1.

The general idea of multiplying any two

rhotrices of the same dimension still remain the

same with that which is obtainable in the matrix

row-column multiplication method where the

set of elements a

ij

multiply each other and

elements c

lk

also do likewise. Thus, the

multiplication of any two rhotrices say R

n

and

Q

n

can defined as

n n

R Q =

1 1, 1 1 2 2, 2 2

( ) ( )

i j l k i j l k

a c b d =

1

( ), ( )

1122 1122

221 221

t t

ab cd

ijij lklk

ij lk

÷

¯ ¯

= =

(IJCSIS) International Journal of Computer Science and Information Security,

Vol. 8, No. 5, August 2010

232 http://sites.google.com/site/ijcsis/

ISSN 1947-5500

Figure 6a: Blocking process of an eight dimensional rhotrix with main entries a and hearts d

(IJCSIS) International Journal of Computer Science and Information Security,

Vol. 8, No. 5, August 2010

233 http://sites.google.com/site/ijcsis/

ISSN 1947-5500

The blocking process from figure 6a and 6b above was obtained in similar manner as that of matrix blocking

method performed using cannon algorithm. The eight dimensional rhotrix above was blocked into sixteen

partitions comprising of rhotrix main entries and the heart elements denoted by a, b and d, e. Those elements

outside the blocks are mapped to their corresponding elements with the same index number thereby allowing

them to belong to the same partitioned block.

Figure 6b: Blocking process of an eight dimensional rhotrix with main entries b and hearts e

(IJCSIS) International Journal of Computer Science and Information Security,

Vol. 8, No. 5, August 2010

234 http://sites.google.com/site/ijcsis/

ISSN 1947-5500

Two rhotrices R (A) and R (B) are considered to illustrate multiplication as shown below:

Figure 7a: Example of blocking process of an eight dimensional rhotrix, R (A)

Figure 7b: Example of blocking process of an eight dimensional rhotrix R (B)

(IJCSIS) International Journal of Computer Science and Information Security,

Vol. 8, No. 5, August 2010

235 http://sites.google.com/site/ijcsis/

ISSN 1947-5500

1 2 2 5 2 3 7 2

3 1 3 3 1 3 1 2

2 3 2 2 6 1 7 5

1 7 1 4 6 1 3 2

3 2 1 7 3 7 5 3

1 4 1 5 3 1 2 4

2 1 1 5 2 1 3 1

1 2 5 4 1 7 1 1

A

=

Figure 8a: Block of matrices of main entries of

rhotrix R (A)

| | | | | | | |

3 1 1 4 1 2 1

7 1 1 4 2 5 4

5 2 1 4 7 1 1

1 3 4 1 1 2 2

7 5 1 5 1 1 3

3 5 7 7 1 2 3

1 2 2 3 3 3 3

D

=

Figure 8b: Block of matrices of heart entries of

rhotrix R (A)

1 2 1 2 2 1 3 1

1 5 1 3 1 2 4 3

3 1 1 2 6 2 4 2

2 2 4 4 1 1 5 6

3 1 3 1 5 3 3 1

3 2 1 1 2 1 1 1

1 2 1 3 1 5 1 1

2 1 4 4 4 1 1 5

B

=

Figure 8c: Block of matrices of main entries of

rhotrix R (B)

| | | | | | | |

2 3 2 1 1 2 2

2 3 1 4 3 1 3

4 3 2 5 1 4 2

4 1 2 7 2 3 7

1 3 4 3 2 1 2

1 1 2 2 4 2 4

2 3 2 1 3 1 3

E

=

Figure 8d: Block of matrices of heart entries of

rhotrix R (B)

00 00 00

00 00 00

1 2 1 2 3 12

3 1 1 5 4 11

3 1 2 3 8 12

7 1 2 3 16 24

C A B

H D E

= + = × =

= + = × =

00 00 01 10

00 00 00 00

3 12 2 5 3 1

4 11 3 3 2 2

3 12 16 12 19 24

4 11 15 9 19 20

8 12 1 4 4 3

16 24 1 4 4 1

8 12 20 7 28 19

16 24 20 7 36 31

C C A B

H H D E

= + × = + ×

= + =

= + × = + ×

= + =

00 00 02 20

00 00 02 20

19 24 2 3 3 1

19 20 1 3 3 2

19 24 15 8 34 32

19 20 12 7 31 27

28 19 1 2 1 3

36 31 2 5 1 1

28 19 3 5 31 24

36 31 7 11 43 42

C C A B

H H D E

= + × = + ×

= + =

= + × = + ×

= + =

| |

00 00 03 30

00 00 03 30

34 32 7 2 1 2

31 27 1 2 2 1

34 32 11 16 45 48

31 27 5 4 36 31

31 24 1

2 3

43 42 4

31 24 2 3 33 27

43 42 8 12 51 54

C C A B

H H D E

= + × = + ×

= + =

= + × = + ×

= + =

After the first shift

Computation at Process P

00,

C

00

and H

00

After the first alignment

After the second shift

After the third shift

(IJCSIS) International Journal of Computer Science and Information Security,

Vol. 8, No. 5, August 2010

236 http://sites.google.com/site/ijcsis/

ISSN 1947-5500

4. BLOCK RHOTRIX OPERATIONS

Rhotrix computations involving scalar algebraic

operations on the rhotrix elements can be

expressed in terms of identical operations on

submatrices of the original rhotrix.

In this view, an n x n rhotrix A can be regarded

as a q x q array of blocks A

i,j

(0 ≤ i, j < q) such

that each block is an (n/q) x (n/q) subrhotrix.

We perform q

3

rhotrix multiplications, each

involving (n/q) x (n/q) matrices requiring (n/q)

3

additions and multiplications.

5. RHOTRIX-RHOTRIX

MULTIPLICATION: CANNON’S

ALGORITHM PATTERN

- Consider n dimensional rhotrices A

n

and

B

n

partitioned into p blocks A

i,j

and B

i,j

(0 ≤ i, j < √p ) each.

- Process P

i,j

initially stores A

i,j

,B

i,j

and

D

i,j,

E

i,j

and computes block C

i,j

and

H

i,j,

of the resulting rhotrix.

- Computing subrhotrix C

i,j

requires all

subrhotrices A

i,k,

B

k,j

and D

i,k,

E

k,j

for 0 ≤

k <√p.

- Every process in the i

th

row requires all

subrhotrices, the all-to-all broadcast can

be avoided by scheduling the

computations of the processes of the i

th

row such that, at any given time, each

process is using a different block A

i,k

and D

i,k

by systematically rotating these

blocks among the processes after every

submatrix multiplication so that every

process gets a fresh A

i,k,

and D

i,k

after

each rotation.

- If an identical schedule is applied to the

columns of B and E, then no process

holds more than one block of each

matrix at any time.

6. COMMUNICATION STEPS IN

CANNON'S ALGORITHM

Applying the block row-column operation using

the cannon‟s algorithm method for rhotrices

with main entries A

i,j

, B

i,j

and with

corresponding hearts D

i,j

, E

i,j ,

we consider

cannon‟s matrix multiplication algorithm from

the point of view of process P

i,j.

The processes

are organized into a 2-D mesh, and each process

has a block of A, B, D and E needed for

computing C and H respectively. Figure 9a

depicts the first block multiplication step.

After

each block multiplication process P

i,j

sends its

block of A to the process on its left and receives

a new block of A from the process on its right.

Similarly, it sends its block of B to the process

above it and receives a new block of B from the

process below it. Figure 9b, 9c and 9d shows

the second, third and final block rhotrix

multiplication respectively. Summing the results

of all block rhotrix multiplications yields C

i,j

and H

i,j.

A. First Alignment

Figure 9a: First block rhotrix multiplication step. A, B

and D, E after initial alignment

Blocking and Job Assignment Operation

(IJCSIS) International Journal of Computer Science and Information Security,

Vol. 8, No. 5, August 2010

237 http://sites.google.com/site/ijcsis/

ISSN 1947-5500

B. Second Alignment

C. Third Alignment

First, align the blocks of A, D and B, E in such a way

that each process multiplies its local submatrices:

- Shift sub matrices A

i,j

and D

i,j

to the left

(with wraparound) by i steps.

- Shift sub matrices B

i,j

and E

i,j

up (with

wraparound) by j steps.

- Perform local block matrix multiplication.

- Next, each block of A, D moves one step left

and each block of B, E moves one step up

(again with wraparound).

Perform next block multiplication; add to partial

result, repeat until all the √p blocks have been

multiplied.

D. Final Alignment

Figure 9d: Final block rhotrix multiplication step

Figure 10a row-column block rhotrix multiplication

requiring all-gather operation

Figure 9b: Final block rhotrix multiplication step.

Sub-rhotrix location after first shift

Figure 9c: Final block rhotrix multiplication

step.Sub-rhotrix location after second shift

Figure 10b row-column block rhotrix multiplication

requiring all-gather communication

(IJCSIS) International Journal of Computer Science and Information Security,

Vol. 8, No. 5, August 2010

238 http://sites.google.com/site/ijcsis/

ISSN 1947-5500

7. BLOCK RHOTRIX ALGORITHM

The block rhotrix multiplication algorithm for n x n

matrices with a block size of (n/q) x (n/q)

procedure RHOTRIX_MULT (A, B, C, D, E,

H)

begin

for i := 0 to t - 1 do

for j := 0 to t - 1 do

begin

{Initialize all elements of C

i,j

and H

k,j

to zero}

C[i, j] := 0;

H[i, j] := 0;

for k := 0 to t - 1 do

{Receive message from slave

process (worker) i,j}

C

i,j

:= C

i,j

+ A

i,k

x B

k,j

;

H

i,j

:= H

i,j

+ D

i,k

x E

k,j

;

endfor;

endfor;

{Write C and H to output file}

end RHOTRIX_MULT

8. CONCLUSION

In this paper we discussed the basic concept of

higher dimensional rhotrices multiplication and

parallel algorithms for multiplying two n-

dimensional rhotrices R(A) and R(B) has been

proposed. The parallel rhotrix multiplication

algorithms proposed is based on the

conventional serial algorithm. The idea of

matrix operations has been used in solving

product of n x n rhotrices.

REFERENCES

[1] Ajibade, A. O.,2003, the concept of

rhotrix in mathematical enrichment,

International Journal of Mathematical

Education in Science and Technology,

175-179.

[2] B. Sani, 2006, the row-column

multiplication of high dimensional

rhotrices, International Journal of

Mathematical Education in Science and

Technology, 1-6.

[3] B. Sani, 2006, Conversion of a

rhotrix to a „coupled matrix‟ ,

International Journal of Mathematical

Education in Science and Technology,

1-7.

Abdullahi Mohd received his B.Tech.

Degree from Federal University of

Technology, Minna. Nigeria, in 2006.

He is currently a staff in training

Ahmadu Bllo University, Zaria. His

area of interest is High Performance Computing.

Ezugwu E. A. received his BSc. Degree

from Ahmadu Bello University, Zaria.

Nigeria, in 2006. He is currently a

master’s degree student in same

University. His area of interest is

Software Engineering.

Barroon Isma’eel Ahmad received

the B.Sc Degree from Usmanu

Danfodiyo University, Sokoto.

Nigeria, in 2006. He is currently a

staff in training Ahmadu Bllo

University, Zaria. His interests are

Mobile Communication and Location Aware Application

Development.

(IJCSIS) International Journal of Computer Science and Information Security,

Vol. 8, No. 5, August 2010

239 http://sites.google.com/site/ijcsis/

ISSN 1947-5500

- Journal of Computer Science IJCSIS March 2016 Part II
- Journal of Computer Science IJCSIS March 2016 Part I
- Journal of Computer Science IJCSIS April 2016 Part II
- Journal of Computer Science IJCSIS April 2016 Part I
- Journal of Computer Science IJCSIS February 2016
- Journal of Computer Science IJCSIS Special Issue February 2016
- Journal of Computer Science IJCSIS January 2016
- Journal of Computer Science IJCSIS December 2015
- Journal of Computer Science IJCSIS November 2015
- Journal of Computer Science IJCSIS October 2015
- Journal of Computer Science IJCSIS June 2015
- Journal of Computer Science IJCSIS July 2015
- International Journal of Computer Science IJCSIS September 2015
- Journal of Computer Science IJCSIS August 2015
- Journal of Computer Science IJCSIS April 2015
- Journal of Computer Science IJCSIS March 2015
- Fraudulent Electronic Transaction Detection Using Dynamic KDA Model
- Embedded Mobile Agent (EMA) for Distributed Information Retrieval
- A Survey
- Security Architecture with NAC using Crescent University as Case study
- An Analysis of Various Algorithms For Text Spam Classification and Clustering Using RapidMiner and Weka
- Unweighted Class Specific Soft Voting based ensemble of Extreme Learning Machine and its variant
- An Efficient Model to Automatically Find Index in Databases
- Base Station Radiation’s Optimization using Two Phase Shifting Dipoles
- Low Footprint Hybrid Finite Field Multiplier for Embedded Cryptography

by ijcsis

This paper introduces the concept of parallel rhotrix – rhotrix multiplication, algorithm design and analysis based on the idea of parallelization of matrix–matrix multiplication with Cannon algori...

This paper introduces the concept of parallel rhotrix – rhotrix multiplication, algorithm design and analysis based on the idea of parallelization of matrix–matrix multiplication with Cannon algorithm.

- proj09
- lecture04-4
- Optimization method for matrix chain MultipliCation
- lec3
- Matrix Multiplication
- Matrix Chain Multiplication
- Mathematics Lecture1
- Assign
- Lec1_Maths_3_20110919
- Cannon Strassen DNS Algorithm (1)
- Higham1990_ExploitingFastMatrixMultiplication_ACMTransMathSoftV16n4p352-368
- Convolution
- Handout 5
- 16.+Dynamic+Programming-2.pdf
- All Matrix Operations
- Mit18 02sc Mnotes m1
- CCP403
- TN 12Std Maths Chapter9 FREE
- Matrix Algebra
- Lecture 11 Notes
- K0292001022011402301 Matrix.ppt
- cours de matrices
- Matrix Algebra
- Lecture8_linearalg_matlab2
- Multiplication of Matrices
- Kronecker product
- MatrixMultPractice2
- 1379011108.1504Lectures of Weeks 1 and 2
- Matrices
- Linear Algebra
- Feasibility Analysis of using Cannon Method to Perform Block Rhotrix Multiplication

Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

We've moved you to where you read on your other device.

Get the full title to continue

Get the full title to continue reading from where you left off, or restart the preview.

scribd