SlideShare a Scribd company logo
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
DOI:10.5121/ijdps.2015.6401 1
AN EFFICIENT PARALLEL ALGORITHM FOR
COMPUTING DETERMINANT OF NON-SQUARE
MATRICES BASED ON RADIC'S DEFINITION
Neda Abdollahi1
, Mohammad Jafari1
, Morteza Bayat2
, Ali Amiri3
, Mahmood Fathy4
1
Department of Electronic and Computer Engineering, Zanjan Branch, Islamic Azad
University, Zanjan, Iran
2
Department of Mathematics, Zanjan Branch, Islamic Azad University, Zanjan, Iran
3
Computer Engineering Group, University of Zanjan, Zanjan, Iran
4
Department of Computer Engineering, Iran University of Science and Technology,
Tehran, Iran
ABSTRACT
One of the most significant challenges in Computing Determinant of Rectangular Matrices is high time
complexity of its algorithm. Among all definitions of determinant of rectangular matrices, Radic’s
definition has special features which make it more notable. But in this definition, C(
N
M
) sub matrices of the
order m×m needed to be generated that put this problem in np-hard class. On the other hand, any row or
column reduction operation may hardly lead to diminish the volume of calculation. Therefore, in this paper
we try to present the parallel algorithm which can decrease the time complexity of computing the
determinant of non-square matrices to O(N ).
KEYWORDS
Parallel algorithm, Non-square determinant, Ascending sequence, Dictionary order.
1. INTRODUCTION
Determinant is one of the basic concepts in linear algebra and applied statistics that have major
applications in various branches of mathematics and engineering. Computing the determinant of a
matrix is a classical problem, which is addressed in normal forms of matrix studies [1-4] and
computational number theory [5].
In principle, determinant is only defined for square matrices [6]. There is usable and clear
definition for the calculation of square matrices determinant. A parallel algorithm for the
calculation of 	 × 	 square matrix determinant is presented with time complexity	 ( ) [7]. But,
extracting data from physical phenomena and real world applications generally leads to produce
non-square matrices [8-10].
So far, many definitions for determinant of non-square matrices are given. Most of the works that
has been done, focusing on the definition and calculation the determinant of non-square matrices
by dividing them into square blocks [11][12] .[13]. In reference [12] Radic proposed an efficient
definition for determinant of non-square matrices that has most of the important properties of
square matrices determinant. Also, some other properties of Radic’s determinant and its
geometrical interpretations, involving polygons in the plan R2 and polyhedral in R3 are given
in[12][14-18].
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
2
In [19], non-square matrices are converted to square matrices by summarizing, that leads to miss
some part of data.
The determinant of non-square matrix is used in retrieving images with different sizes [8]. Also,
there are some works on video retrieval and video shot boundary detection and image processing
by using determinant of non-square matrix [8][20-23]. Thus providing an effective solution for
calculating the determinant of non-square matrices can be very valuable and helpful.
In paper [24] a parallel algorithm based on pointer jumping technique is proposed to calculate the
determinant of non-square matrices of order	2 × . But despite the successful work that has been
done for the definition of non-square matrices determinant, yet there isn’t any efficient algorithm
to compute this determinant.
According to Radic’s definition for the determinant of a non-square matrix	m × n, it should be
calculated the determinant of C(
n
m
) square matrices from the order of	m × m. The square matrices
are obtained by combination of non-square matrix columns. Hence, the calculation of non-
matrices determinant is NP-hard. Some researchers [14] have tried decrease rows or columns of a
non-square matrix to convert it into a square matrix. But normally any change in rows or columns
of non-square matrices increase computation and column operations.
According to above explanation and proven theorems [12] currently, the only effective solution to
compute the determinant of non-square matrices by acceptable time complexity is parallel
algorithms.
To paralyze the algorithm, at first, the dependency between each Radic’s sub-square matrices
should be omitted. Secondly, each of these determinants also needs to be computed in parallel.
In this paper, we proposed a parallel algorithm to calculate the determinant of non-square
matrices based on Radic’s definition with O(n ) time complexity.
Problems and motivations are considered in Section 2. In Section 3 the Radic’s definition are
analyzed in details. Section 4 includes the proposed method to compute each arbitrary elements of
Dictionary order independently and in Section 5 a parallel algorithm for computing Raidc’s
determinant is presented. The complexity of proposed algorithm is perused due to the hardware
architecture In Section 6. Section 7 clarifies our conclusions.
2. PROBLEMS AND MOTIVATIONS
Radic's definition [12] for calculating the determinant of non-square matrices has numerous
significant properties and advantages in comparing to other definitions. Specially, it has almost all
the properties of determinant of square matrices [12].
According to Radic’s definition, it is evident that the determinant of a non-square matrix can be
computed as sum of specially signed square sub matrices. These sub matrices is obtained by
calculating specific permutation of columns of non-square matrix. Although this definition is easy
to compute and understand, it has exponential time complexity. In other words, computing the
det( ) requires to compute determinants of square sub matrices of order	 × , which
lead to exponential time complexity. Regarding to the previous works, it is obvious that applying
column and row operations for computing the determinant of non-square matrices is inefficient
[25]. In addition, due to the dependency between determining square sub matrices, it is
impossible to design an efficient parallel algorithm based on this definition.
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
3
In this paper we propose a novel approach for parallel production of square sub matrices which
reduces the time complexity to O(m × (n − m)).
3. DETAILED ANALYSIS OF RADIC’S DEFINITION
At first, we will clarify some preliminary concepts and then assess Radic’s definition due to these
concepts.
Definition 1: ascending sequence
A sequence of elements of a partially ordered set such that each member of the sequence is less
than the following one. So, for set = {1,2,3, … , }, each sub set = {a!, a , … , a"} is an
ascending sequence if condition ∀(a!, a , … , a") ∈ A	and	(m < )		' (		('! < a < ⋯ < a")
is satisfied.
Definition 2: dictionary order
Suppose { !, , … , *} is an n-tuple of sets, with respective total orderings {<!, < , … , <*}. The
dictionary ordering <+
	of ! × × … × * is then
('!, ' , … , '*) <+ (,!, , , … , ,*) ⟺ (∃ > 0)(∀1 ≤ )('3 = ,3)⋀('5 <5 ,5). That is, if
one of the terms '5 <5 ,5	and all the preceding terms are equal.
Theorem 1:
Regarding to def.1, the maximum number of m-tuple sub sequences of ascendant set A =
{a!, a , … , a6} where m < , is equal to
n
m
.
Proof:
Putting the minimum element in the first place (as a! in set A), we would have n − 1 choice for
the remaining m − 1 places. In the same way, by selecting a ,	there will be n − 2 selection for
the last m − 1 places, and finally by putting '67"8! in the first place, there will be remained
m − 1 choices for m − 1 places. In other word, all the possible selections can be shown as
follow.
1:
p!:
;<
, = , … , =5>??@??A
67!
57!
A={a!, a , … , a67"8!, … , a6BCCCDCCCE
"
}2:
p!:
;F
, = , … , =5>??@??A
67
57!
… …
n-m+1:
p!:
;GHIJ<
, = , … , =5>??@??A
"7!
57!
In this case, all ascending sequences that can be produced is equal
n − 1
m − 1
+
n − 2
m − 1
+ ⋯ +
m
m − 1
+
m − 1
m − 1
=
n
m
.
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
4
According to the dictionary order and ascending sequences definition, it’s obvious that, for
m < , the first element of	A = {1,2, … , n} is [1,2, … , m], which we entitled First Member. Also,
the last element in this sequence will be [n − m + 1, n − m + 2, … , n] and the remaining sub
ascending sequences will be in this interval.
[1,2, … , m] < [1,2, … , m + 1] < ⋯ < [n − m + 1, n − m + 2, … , n]
Now, according to Theorem 1, the sequences can be numbered from 0 to
n
m
− 1. Also,
according to the latest member of ascending sequences the maximum value of each place is
determined. For example, the maximum value which the mth
place can be obtained, is n, But due
to the need to establish the condition a"7! < a", the value of (m-1)th
place cannot exceed n-1.
In the following, we present Radic's definition for determinant of non-square matrices.
Definition 3. Let = ['3,N] be an × matrix with ≤ . The determinant of , is defined as:
det( ) = ∑ (−1)P8Q
(RS T
'!N<
⋯ '!NU
⋮ ⋱ ⋮
'5N<
⋯ '5NU
X!YN<Z⋯ZNUY* , (1)
where [!, [ , … , [5 ∈ ℕ, ] = 1 + 2 + ⋯ + and ^ = [! + ⋯ + [5. If > , then we define
det( ) = 0.
Now, according to Definition 3 is observed that the following sub square matrices produced in
Radic’s definition is in accordance with the dictionary order. So, if an efficient algorithm can be
represented for the computation of dictionary order elements, therefore Radic’s determinant can
also be calculated with greater efficiency.
4. COMPUTATION OF DICTIONARY SEQUENCE ELEMENTS
In this section, we attempt to compute each arbitrary elements of Dictionary order independently.
In other word, by giving a q where 0 ≤ q <
n
m
, we try to calculate the qth
element in the
sequence. Due to this purpose, a novel definition entitled combinatorial addition is presented and
table 1 is formed by the elements of Pascal's triangle.
		[ 	1 1 = 1 1 = 2 … 1 = − − 1 1 = −
[ = 0
1
0
2
0
…
− − 1
0
−
0
[ = 1
2
1
3
1
…
− − 2
1
− − 1
1
… … … … … …
[ = − 2
− 1
− 2 − 2
…
− 3
− 2
− 2
− 2
[ = − 1
− 1
+ 1
− 1
…
− 2
− 1
− 1
− 1
Table1 : Pascal's triangle
As you can see in Table 1, each (j, i)th
entries in the table is obtained from `
1 + [
[
a.
According to Table 1and as it mentioned in theorem 1, the weight of each element in the
Ascending sequence is equal the last column of the table.
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
5
n − 1
− 1
1
,
n − 2
− 2
2
,
n − 3
− 3
,
3
	…
,
n − k + 1
− c + 1
,
k − 1
n − k
− c
,
k
…	,
n − m
0
m
Now, if
− c
− c
< d ≤
− c + 1
− c + 1
, m − k + 1	element of the First Member will change. We
use Table 1 to calculate the amount of the change. To this, according Table 1, we must go to left
in the jth
row where
− c
− c
is located. As can be seen in Table 1, the first element at the left
side of the start point is
− c − 1
− c − 1
.
Until condition d ≥
− c
− c
+ ⋯ +
− c − =
− c
is satisfied, we continue the steps to the left.
Then the numbers of steps, which is moved to the left side in jth
row, will be added to the value of
last m-k locations in the First Member. The new value of d is calculated from the following
equation.
d ← d − ∑ − c − 1
− c
g
3hi .
Then until d	 = 	0, the algorithm is continued from ( − − =)th
column by the new value of d.
Example 1: for set = {1, 2, … , 8}, the five-member ascending sequences in dictionary order is
shown in table 2.
Table 2: all five-member subsets
For m = 5	and	n = 8, we have table 3.
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
6
1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20
1 5 15 35
≈
1 = 0 1 = 1 1 = 2 1 = 3
`
m + n
n
a
[ = 0
0
0
1
0
2
0
3
0
[ = 1
1
1
2
1
3
1
4
1
[ = 2
2
2
3
2
4
2
5
2
[ = 3
3
3
4
3
5
3
6
3
[ = 4
4
4
5
4
6
4
7
4
Table 3a table 3b
We assume q = 49. In this case, according to table 3, the weight of each place in the First Member
would be as follows.
7
4
1
6
3
2
5
2
3
4
1
4
3
0
5
Since
7
4
< d <
8
5
, in the fifth row (j = 4) we will proceed to the left, but because
6
4
+
7
4
> 49 is not acceptable, so we stopped at p = 1. Therefore, p = 1 and the new q is equal to
q = 49 −
7
4
= 14	and a unit will be added to the fifth last places.
65432
11111+
65432
Till this step, ascending sequence is	[2, 3, 4, 5, 6].
Because we went one step ahead in the previous stage, we continue the algorithm from
column	 − − = = 8 − 5 − 1 = 2. According to Table 3, for q = 14 we have	
5
3
< d <
6
4
.
Since we start moving from the fourth row and third column, which equals to
5
3
. Then, we
have	q ≥
5
3
+
4
3
and p=2. So, two units are added to the last four places.
65432
2222+
87652
Since, the new value of q is	q = 14 − r
5
3
+
4
3
s = 0, the algorithm has finished and 49th
element in the sequence of dictionary order is generated.
tu = [2,5,6,7,8]
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
7
It is proven for any arbitrary d, using combinatorial addition the whole dictionary ordered
elements are produced.
Theorem 2: Using combinatorial addition, by adding arbitrary d to First Member of the
dictionary order, exactly dvw
element in the dictionary order for 	 < will be generated.
Proof: We will show this theorem using mathematical induction
First step k = 1:
To produce the second ascending sequence from the First Member, regarding to Combinatorial
Addition, just it needs to add a unit to the first place.
i = [1,2,3, … , − 1, ]
! = x1,2,3, … , − 1, + 1BDE
yh!
z
This is the second element in dictionary order. In other words, only one location was changed.
Inductive assumption:
Suppose using combinatorial addition to add d units to First Member. Thus, the ascending
sequence 1,2,3, … , '57y8!, '57y, '57y7!, … , '5BCCCCCDCCCCCE
y
is produced, which is exactly the dvw
element in dictionary order. This sequence is obtained by changing at most c places of First
Member.
Inductive rule:
It should be shown that adding d + 1 units to First Member, the (	d + 1)vw
element in the
dictionary order will be generated.
First case: Suppose by adding d + 1 to First Member, just c places have changed. Regarding the
inductive assumption, since only c places were changed, therefore, it is exactly the (	d +
1)vw
element in the dictionary order.
1,2,3, … , '57y8!, '57y, '57y7!, … , '5BCCCCCCDCCCCCCE
y
Second case: by adding q to First Member, if the ascending sequence
1,2,3, … , − c, − c + 1, … ,BCCCCCCDCCCCCCE
y
is generated, it will be impossible to increase any of the last c
places. Because, all places achieve to their highest possible value. According to the dictionary
order, it’s clear the (	d + 1)vw
element is 1,2,3, … , − c + 1, − c + 2, … , + 1BCCCCCCCCCDCCCCCCCCCE
y8!
.
We will show Combinatorial Addition exactly generated the same sequence. According to Table
1, the value is equal to
d = |y8*7(58!)
y7!
} + |y8*7(58 )
y7!
} + ⋯ + | y
y7!
}BCCCCCCCCCCCCDCCCCCCCCCCCCE
*75
If we add one unit to both sides then we will have
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
8
d + 1 = |y8*7(58!)
y7!
} + |y8*7(58 )
y7!
} + ⋯ + | y
y7!
}BCCCCCCCCCCCCDCCCCCCCCCCCCE
*75
+ 1
In this equation, the right side is equal to
|y8*7(58!)
y7!
} + |y8*7(58 )
y7!
} + ⋯ + | y
y7!
} + 1 = |y8*75
y
}
According to the above equation we have
d + 1 = |y8*75
y
}
Defined as Combinatorial Addition, the (c + 1)vw
place has increased a unit and other elements
subsequently increased. So, the following ascending sequence is obtained.
1,2,3, … , − c + 1, − c + 2, … , + 1BCCCCCCCCCDCCCCCCCCCE
y8!
This sequence is exactly (	d + 1)vw
element in the dictionary order
5. PARALLEL ALGORITHM FOR COMPUTING RAIDC’S DETERMINANT
In this section, we present an efficient algorithm to produce the square sub matrices of definition
(3) in parallel.
The algorithm is able to receive the value of d and for arbitrary and produce the dvw
sequence in the dictionary order. Pseudo code for this algorithm is shown in Figure 1.
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
9
For i = 1 To (n - m+ 1)
A(1, i) = i
For i = 1 To m
A(i, 1) = 1
k = n - m+ 1
For i = 2 To m
For j = 2 To k
A(i, j) = A(i, j - 1) + A(i - 1, j)
j = 1
For i = 1 To m
B(i) = i
Sum = 0, p = 0, i = k
While A(j, k) <= q
j = j + 1
j = j - 1
i = k
While Sum <= q
Sum = A(j, i) + Sum
p = p + 1
i = i - 1
Sum = Sum - A(j, i + 1)
p = p - 1
B(m - j) = B(m - j) + p
For h = m - j To m - 1
B(h+ 1) = B(h) + p
q= q - Sum
j = 1
k = k - p
p = 0
Sum = 0
Wend
B(m) = B(m) + q
Fig 1: Pseudo code of generating arbitrary sequence
This algorithm can be implemented in various granularities. This means whatever the number of
processors is further, the granularities can be smaller. And we will have larger granularities if the
number of processors is less. In other words, if the number of processors is k, the number of
granularities will be
*
5
y
. It means the first processor starts from i to ~
U
•
7!
and the next portion
form ~
U
•
	 to
×
~
U
•
7!
is for the second processor. In the same way, the last processor calculates
(y7!)×
~
U
•
to *
5
7!
. Pseudo-code for producing ascending sequence from a specific element
has been shown in figure 1.
€•]		 ‚ = 1	S•	
*
5
y
− 1
								 (1)	= 	 (1)	+ 	1
								ƒ€	 (1)	> 	 	„ℎR
												 (1	 − 	c)	= 	 (1	 − 	c)	+ 	1
												†ℎ1‡R	 (1	 − 	c)	> 	 	 − 	c
																		c	 = 	c	 + 	1
																	 (1	 − 	c)	= 	 (1	 − 	c)	+ 	1
											†R (
											ƒ€	(c	 < 	 )	„ℎR
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
10
																ˆ•]	‡	 = 	1	 − 	c	„•	 	 − 	1
																				 (‡	 + 	1)	= 	 (‡)	+ 	1
															c	 = 	1
										‰ (	ƒ€
						‰ (	ƒ€
R (	
Figure 1: dictionary sequence
6. ALGORITHM ANALYSIS DUE TO THE HARDWARE ARCHITECTURE
The proposed algorithm has the ability to run on different architectures. Parallel Random Access
Machine (PRAM) is a shared memory abstract machine. In this architecture shared memory plays
an important role.
On Concurrent Read Concurrent Write (CRCW) memory, the highest performance of the
algorithm can be achieved. In this case, if we have processors, each processor is only run the
algorithm, which is shown in Figure 1, once to obtain the corresponding square matrix with
Š| ( − )} time complexity.
According to the algorithm presented in [7], if we have processors, the determinant of each
× square matrix is calculated with Š( ). Therefore, if we have × processors with
a CRCW memory, this algorithm can calculate the determinant of × non-square matrix
in	Š( ( − ) + ) ∈ Š| ( − )}.
If the memory is Concurrent Read Exclusive Write (CREW), the time required to sum the results
of all processors in tree structure will be equal to ‡•‹ . we know that ‡•‹ ! ∈ ( ‡•‹ ).
Thus the determinant of the non-square matrix will be calculated at Š( ( − ) + ‡•‹ ) ∈
Š| ( − )}.
In Exclusive Read Exclusive Write (EREW) memories, there is a burden to read matrices. If
enough memory is available, the matrix can be copied in a tree structure in ‡•‹ time
complexity. Then, it will be accessible for all processors. In this case, the algorithm complexity is
Š( ( − ) + 2 ‡•‹ ) ∈ Š| ( − )}. Given the above description it has been shown that
the time complexity of the proposed algorithm is Š( ).
It’s obvious the proposed algorithm in cloud computing architecture and other architectures in
which processors are connected through the network tolerates the overhead of network too. So it’s
time complexity will be Š( + RS••]c_••R]ℎR'().
7. CONCLUSION
Using Parallel algorithms is an effective method for reducing the time complexity. However, in
most cases, increasing the number of processors does not increase productivity and just reduces
the required time. But given that the cost of producing complex hardware with many processors is
declining sharply, therefore the parallel algorithm can have appropriate efficiency.
On the other hand, time is an important factor in reducing the response time of real-time systems,
and it plays a key role in the success of such systems. Note that, also in the machine vision, time
is one of the important factors; the proposed algorithm can be very efficient and effective.
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
11
8. FUTURE WORK
In recent years, researchers interest in Cloud computing and distributed processing. Since the
proposed algorithm can be implemented in distributed systems, implementation and computing
network overhead in these systems can be considered as future researches.
With regard to applications of the determinant of matrix in image and video processing, making a
proper hardware and implementing the proposed algorithm can be a suitable solution in computer
vision.
There are other definition for determinant of non-square matrices, these definition can be
investigated whether they can be parallelize or not and be compared with proposed algorithm in
this paper.
REFERENCES
[1] Domich, P.D. & Kannan, R. & Trotter Jr. Hermite, L.E, (1987) "normal Form Computation Using
Modulo Determinant Arithmetic", Mathematics of Operations Research, vol. 12, No. 1, pp:50–59.
[2] Frumkin, M.A, (1977) "Time Algorithms In The Theory Of Linear Diophantine Equations", In
Fundamentals of Computation Theory, LNCS 56, Springer-Verlag, pp:386–392.
[3] Newman, M, (1972) "Integral Matrices. Academic Press,".
[4] Storjohann, A, (2000) "Algorithms for Matrix Canonical Forms", PhD thesis, Institut f¨ur
Wissenschaftliches Rechnen, ETH-Zentrum, Zurich, Switzerland.
[5] Cohen, H, (1996) "A course in computational number theory", Springer-Verlag.
[6] Kaltofen, E. & Villard, G, (2001) "Computing The Sign Or The Value Of The Determinant Of An
Integer Matrix, A Complexity Survey", Preprint submitted to ALA’2001 JCAM Special issue.
[7] Teimoori, H & Bayat, M. & Amiri, A. & Sarijloo, E, (2005) "A New Parallel Algorithm for
Evaluating the Determinant of a Matrix of Order n", Euro Combinatory, pp: 123-134.
[8] Abdollahi, N. & Jafari, M. & Amiri, A, (2012) “Retrieving Images in different sizes using
Determinant kernel for non-square matrices,” National Conference on Artificial Intelligent in
Electrical and Computer Engineering (NCAI).
[9] Amiri, A. & Abdollahi, N. & Jafari, M. & Fathy, M, (2011) "Hierarchical Key-Frame Based Video
Shot Clustering Using Generalized Trace", Journal of Innovative Computing Technology, Springer-
Verlag Berlin Heidlberg, pp: 251-257.
[10] Abdollahi, N. & Jafari, M. & Amiri, A. & Fathy, M, (2011) "Generalization of the Trace Kernel on
Non-Square Matrices and its applications in video retrieval," the 7th Iranian Machine Vision and
Image Processing Conference (MVIP), IUST.
[11] Joshi, V.N, (1980) “A Determinant for Rectangular matrices”, Bull. Austral. Math. Soc., vol. 21,
pp:137-146.
[12] Radic, M, (1969) “A Definition of the Determinant of A Rectangular Matrix,” Glasnik Matemaicki,
vol. 1, No. 21, pp: 17-22.
[13] Arunkumar, M. & Murthy, S. & Ganapathy, G, (2011) "Determinant For Non-Square Matrices",
International J. of Math. Sci. & Engg. Appls. (IJMSEA), ISSN 0973-9424, vol. 5, No. V, pp: 389-401.
[14] Radi´c, M. & Suˇsanj, R, (1992) “An Application of the Determinant of A Rectangular Matrix in
Discovering Some Properties of the Pentagon,” Glas. Mat. Ser. III 27, pp: 217-226.
[15] Radi´c, M, (2008) "Areas of Certain Polygons in Connection with Determinants of Rectangular
Matrices", Beitrage zur Algebra und Geometrie Contributions to Algebra and Geometry, vol. 49,
pp:71-96.
[16] Radi´c, M, (1991) “A Generalization of the Determinant of a Square Matrix and Some of Its
Applications in Geometry,” Serbo-Croatian Matematika (Zagreb), vol. 20, pp:19-36.
[17] Radi´c, M, (2005) "About A Determinant of Rectangular 2 × n Matrix and It’s Geometric
Interpretation", Beitrage Zur Algbera und Geometric Contributions to Algebra and Geometry, vol. 46,
pp:321-349.
[18] Susanj, R. & Radi´c, M, (1994) "Geometrical Meaning of One Generalization of the Determinant of A
Square Matrix", Glasnik Matematicki, vol. 29, pp:217-234.
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
12
[19] Amiri, A. & Fathy, M. & Bayat, M, (2010) "Generalization of Some Determinantal Identities for
Non-Square Matrices Based on Radic’s Definition", TWMS J. Pure Appl. Math, vol. 1, No. 2, pp:
163-175.
[20] Amiri, A. & Fathy, M, (2011) “Generalization of Eigenvalue and Eigenvector for Non-Square
matrices based on Radic´s Determinant and its application to video retrieval,” to appear in Journal of
Applied and Computational Mathematics (A&CM).
[21] Amiri, A. & Fathy, M, (2009) “A Novel Video Retrieval System Using GED-based Similarity
Measure,” International Journal of Signal Processing, Image Processing and Pattern Recognition,
vol. 2, No. 3, pp:99-108.
[22] Amiri, A. & Fathy, M, (2009) “Video Shot Boundary Detection Using Generalized Eigenvalue
Decomposition,” Lecture Notes In Computer Science, vol. 5593, pp:780-790.
[23] Zhou, S.K, (2004) “Trace and determinant kernels between matrices,” SCR Technical Report.
[24] Abdollahi, N. & Jafari, M. & Amiri, A. & Fathy, M, (2011) “A New Parallel Algorithm for
calculating the Determinant of a non-square Matrix of Order 2×n ,“ 1st National Conference on Soft
Computing and Information Technology.
[25] Amiri, A. & Bayat, M. & Fath, M. & Tiemoori, H, (2005) “Determinant Identities for Non-Square
Matrices Based on Radic’s Definition: Dodgson,Cauchy-Binet and Trahan,” Euro Combinatory,
pp:123-134.
Authors
Neda Abdollahi was born in Zanjan, Iran, in 1985. She received the B.S. and M.Sc.
Islamic Azad University, Zanjan, Iran, in 2008 and 2011. In 2009, she joined Bina
Software Co., as a technical expert and science then she has been with Department of
Electronic and Computer Engineering, Islamic Azad University of Zanjan and Payame
Noor University and from 2012, she has been a Faculty member of Saeb University,
Abhar, Iran. Her research interests include Multimedia Retrieval, Software Modeling,
Machine Learning Methods, Object-Oriented Analysis and Design, Mobile Ad-Hoc
Networks, Distributed Systems, Micro Programming and Web Design.
Mohammad Jafari was born in Zanjan, Iran, in 1977. She received the B.S. and
M.Sc. Islamic Azad University, Zanjan, Iran, in 2003 and 2011. In 2001, he has started
his work as CEO of Bina Software Co., Zanjan, Iran. From 2006 to 2011, he was a
computer technical expert of information and planning unit of the Zanjan Broadcasting
Center. And science 2009, he has been with Department of Electronic and Computer
Engineering, Islamic Azad University of Zanjan and University of Applied Science
and Technology and Sufi University, Zanjan, Iran. his research interests include
Software Modeling, Data Base, Object-Oriented Design, Computer Networking,
Mobile Distributed Systems, Programming and Web Design.
Morteza Bayat received M.S. degree in 2002 from Institute for Advance Studies in
Basic Sciences (IASBS), Zanjan, Iran, in Applied Mathematics, and the Ph.D. degree
in Differential Equations in 2008 from IASBS. Since 2008, he has worked in the
Computer Engineering Department of Zanjan University as an Professor Assistant.
His research interests include Matrix Computations and Differential Equations.
Ali Amiri was born in Zanjan, Iran, in 1982. He received the M.S. degree in
Computer Engineering from Iran University of Science and Technology (IUST), in
2006, where he is currently pursuing Ph.D. degree in the IUST. His research interests
include video segmentation, video retrieval and summarization, Matrix Computation
and moving object detection and tracking.
International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015
13
Mahmood Fathy, was born in Tehran, Iran, in 1959. He received the B.S. degree in
Electronic Engineering from Iran University of Science and Technology (IUST), in
1985, M.Sc. degree in Microprocessor Engineering from Bradford, UK, 1988 and
Ph.D. degree in Image Processing and Processor Design from UMIST, UK in 1991.
Since 1992, he has been with the IUST, where he is currently Associate Professor at
the Department of Computer Engineering. His research interests include Computer
networks, QOS , internet Engineering, Application of image processing in Traffic,
Computer Architecture for image processing, video processing applications,
Panorama, Supper resolution, video classification, video retrieval and summarization.

More Related Content

PDF
directed-research-report
PDF
Contradictory of the Laplacian Smoothing Transform and Linear Discriminant An...
PPTX
least squares approach in finite element method
PDF
Modeling the dynamics of molecular concentration during the diffusion procedure
PDF
Pca ppt
PDF
An_Accelerated_Nearest_Neighbor_Search_Method_for_the_K-Means_Clustering_Algo...
PDF
Scilab Finite element solver for stationary and incompressible navier-stokes ...
PDF
Performance evaluation of ds cdma
directed-research-report
Contradictory of the Laplacian Smoothing Transform and Linear Discriminant An...
least squares approach in finite element method
Modeling the dynamics of molecular concentration during the diffusion procedure
Pca ppt
An_Accelerated_Nearest_Neighbor_Search_Method_for_the_K-Means_Clustering_Algo...
Scilab Finite element solver for stationary and incompressible navier-stokes ...
Performance evaluation of ds cdma

What's hot (19)

PDF
Second or fourth-order finite difference operators, which one is most effective?
PDF
Ou3425912596
PDF
Unger
PDF
IRJET- An Efficient Reverse Converter for the Three Non-Coprime Moduli Set {4...
DOCX
Method of weighted residuals
PDF
Analytical and Exact solutions of a certain class of coupled nonlinear PDEs u...
PDF
InternshipReport
PDF
M0746274
PPTX
Principal component analysis
PDF
THE LEFT AND RIGHT BLOCK POLE PLACEMENT COMPARISON STUDY: APPLICATION TO FLIG...
PPTX
Varaiational formulation fem
PDF
Neural Networks: Principal Component Analysis (PCA)
PDF
Fundamentals of Finite Difference Methods
 
PDF
Analysis of CANADAIR CL-215 retractable landing gear.
PPTX
Manu maths ppt
PDF
Jmestn42351212
PDF
Optimising Data Using K-Means Clustering Algorithm
PDF
Fortran induction project. DGTSV DGESV
PDF
Numerical approach of riemann-liouville fractional derivative operator
Second or fourth-order finite difference operators, which one is most effective?
Ou3425912596
Unger
IRJET- An Efficient Reverse Converter for the Three Non-Coprime Moduli Set {4...
Method of weighted residuals
Analytical and Exact solutions of a certain class of coupled nonlinear PDEs u...
InternshipReport
M0746274
Principal component analysis
THE LEFT AND RIGHT BLOCK POLE PLACEMENT COMPARISON STUDY: APPLICATION TO FLIG...
Varaiational formulation fem
Neural Networks: Principal Component Analysis (PCA)
Fundamentals of Finite Difference Methods
 
Analysis of CANADAIR CL-215 retractable landing gear.
Manu maths ppt
Jmestn42351212
Optimising Data Using K-Means Clustering Algorithm
Fortran induction project. DGTSV DGESV
Numerical approach of riemann-liouville fractional derivative operator
Ad

Viewers also liked (18)

PDF
KALMAN FILTER BASED CONGESTION CONTROLLER
PDF
A secure service provisioning framework for cyber physical cloud computing sy...
PDF
Permission based group mutual exclusion
PDF
Scalable frequent itemset mining using heterogeneous computing par apriori a...
PDF
BARRIERS TO CALL PRACTICES IN AN EFL CONTEXT: A CASE STUDY OF PREPARATORY YEA...
PDF
Review on mobile threats and detection techniques
PDF
An effective search on web log from most popular downloaded content
PDF
PERFORMANCE AND ENERGY-EFFICIENCY ASPECTS OF CLUSTERS OF SINGLE BOARD COMPUTERS
PPT
Before we shake hands: representation and the global future of education
PPT
Risky Reading: images and the vision of African education
PDF
Risky Reading: images and the vision of African education
PDF
A novel way of integrating voice recognition and one time passwords to preven...
PDF
A Cluster based Technique for Securing Routing Protocol AODV against Black-ho...
ODP
Less a LessPHP
PDF
MODELLING TRAFFIC IN IMS NETWORK NODES
PDF
Dce a novel delay correlation
PDF
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
PDF
Latency aware write buffer resource
KALMAN FILTER BASED CONGESTION CONTROLLER
A secure service provisioning framework for cyber physical cloud computing sy...
Permission based group mutual exclusion
Scalable frequent itemset mining using heterogeneous computing par apriori a...
BARRIERS TO CALL PRACTICES IN AN EFL CONTEXT: A CASE STUDY OF PREPARATORY YEA...
Review on mobile threats and detection techniques
An effective search on web log from most popular downloaded content
PERFORMANCE AND ENERGY-EFFICIENCY ASPECTS OF CLUSTERS OF SINGLE BOARD COMPUTERS
Before we shake hands: representation and the global future of education
Risky Reading: images and the vision of African education
Risky Reading: images and the vision of African education
A novel way of integrating voice recognition and one time passwords to preven...
A Cluster based Technique for Securing Routing Protocol AODV against Black-ho...
Less a LessPHP
MODELLING TRAFFIC IN IMS NETWORK NODES
Dce a novel delay correlation
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
Latency aware write buffer resource
Ad

Similar to AN EFFICIENT PARALLEL ALGORITHM FOR COMPUTING DETERMINANT OF NON-SQUARE MATRICES BASED ON RADIC'S DEFINITION (20)

PDF
JasmineAlstonThesis
PDF
C023014030
PDF
C023014030
PPT
Determinant untuk kuliahteknik sipil atau umum
PPT
Determinants - Mathematics
PDF
PPTX
Report in determinants
PDF
determinants-160504230830_repaired.pdf
PDF
determinants-160504230830.pdf
PPT
chp-1-matrices-determinants1.ppt
PPTX
6.5 determinant x
PPT
Mat 223_Ch3-Determinants.ppt
PPTX
ODANGO_Math-202_Determinants_10-18-23.pptx
PDF
PPT
matrices and determinantes
PDF
Class 12_Chapter 4_Lecture_1.pdf
PPT
Matrices and determinants for graduation Engineering.ppt
PDF
A PROBABILISTIC ALGORITHM OF COMPUTING THE POLYNOMIAL GREATEST COMMON DIVISOR...
PDF
A PROBABILISTIC ALGORITHM OF COMPUTING THE POLYNOMIAL GREATEST COMMON DIVISOR...
PDF
International Journal of Soft Computing, Mathematics and Control (IJSCMC)
JasmineAlstonThesis
C023014030
C023014030
Determinant untuk kuliahteknik sipil atau umum
Determinants - Mathematics
Report in determinants
determinants-160504230830_repaired.pdf
determinants-160504230830.pdf
chp-1-matrices-determinants1.ppt
6.5 determinant x
Mat 223_Ch3-Determinants.ppt
ODANGO_Math-202_Determinants_10-18-23.pptx
matrices and determinantes
Class 12_Chapter 4_Lecture_1.pdf
Matrices and determinants for graduation Engineering.ppt
A PROBABILISTIC ALGORITHM OF COMPUTING THE POLYNOMIAL GREATEST COMMON DIVISOR...
A PROBABILISTIC ALGORITHM OF COMPUTING THE POLYNOMIAL GREATEST COMMON DIVISOR...
International Journal of Soft Computing, Mathematics and Control (IJSCMC)

Recently uploaded (20)

PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
ANIMAL INTERVENTION WARNING SYSTEM (4).pptx
PDF
오픈소스 LLM, vLLM으로 Production까지 (Instruct.KR Summer Meetup, 2025)
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Structs to JSON How Go Powers REST APIs.pdf
PPT
Project quality management in manufacturing
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
Practice Questions on recent development part 1.pptx
PPTX
AgentX UiPath Community Webinar series - Delhi
PPTX
Road Safety tips for School Kids by a k maurya.pptx
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
The-Looming-Shadow-How-AI-Poses-Dangers-to-Humanity.pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
web development for engineering and engineering
PPTX
436813905-LNG-Process-Overview-Short.pptx
PDF
algorithms-16-00088-v2hghjjnjnhhhnnjhj.pdf
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
ANIMAL INTERVENTION WARNING SYSTEM (4).pptx
오픈소스 LLM, vLLM으로 Production까지 (Instruct.KR Summer Meetup, 2025)
CH1 Production IntroductoryConcepts.pptx
Lesson 3_Tessellation.pptx finite Mathematics
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Structs to JSON How Go Powers REST APIs.pdf
Project quality management in manufacturing
Embodied AI: Ushering in the Next Era of Intelligent Systems
Operating System & Kernel Study Guide-1 - converted.pdf
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Practice Questions on recent development part 1.pptx
AgentX UiPath Community Webinar series - Delhi
Road Safety tips for School Kids by a k maurya.pptx
UNIT-1 - COAL BASED THERMAL POWER PLANTS
The-Looming-Shadow-How-AI-Poses-Dangers-to-Humanity.pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
web development for engineering and engineering
436813905-LNG-Process-Overview-Short.pptx
algorithms-16-00088-v2hghjjnjnhhhnnjhj.pdf

AN EFFICIENT PARALLEL ALGORITHM FOR COMPUTING DETERMINANT OF NON-SQUARE MATRICES BASED ON RADIC'S DEFINITION

  • 1. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 DOI:10.5121/ijdps.2015.6401 1 AN EFFICIENT PARALLEL ALGORITHM FOR COMPUTING DETERMINANT OF NON-SQUARE MATRICES BASED ON RADIC'S DEFINITION Neda Abdollahi1 , Mohammad Jafari1 , Morteza Bayat2 , Ali Amiri3 , Mahmood Fathy4 1 Department of Electronic and Computer Engineering, Zanjan Branch, Islamic Azad University, Zanjan, Iran 2 Department of Mathematics, Zanjan Branch, Islamic Azad University, Zanjan, Iran 3 Computer Engineering Group, University of Zanjan, Zanjan, Iran 4 Department of Computer Engineering, Iran University of Science and Technology, Tehran, Iran ABSTRACT One of the most significant challenges in Computing Determinant of Rectangular Matrices is high time complexity of its algorithm. Among all definitions of determinant of rectangular matrices, Radic’s definition has special features which make it more notable. But in this definition, C( N M ) sub matrices of the order m×m needed to be generated that put this problem in np-hard class. On the other hand, any row or column reduction operation may hardly lead to diminish the volume of calculation. Therefore, in this paper we try to present the parallel algorithm which can decrease the time complexity of computing the determinant of non-square matrices to O(N ). KEYWORDS Parallel algorithm, Non-square determinant, Ascending sequence, Dictionary order. 1. INTRODUCTION Determinant is one of the basic concepts in linear algebra and applied statistics that have major applications in various branches of mathematics and engineering. Computing the determinant of a matrix is a classical problem, which is addressed in normal forms of matrix studies [1-4] and computational number theory [5]. In principle, determinant is only defined for square matrices [6]. There is usable and clear definition for the calculation of square matrices determinant. A parallel algorithm for the calculation of × square matrix determinant is presented with time complexity ( ) [7]. But, extracting data from physical phenomena and real world applications generally leads to produce non-square matrices [8-10]. So far, many definitions for determinant of non-square matrices are given. Most of the works that has been done, focusing on the definition and calculation the determinant of non-square matrices by dividing them into square blocks [11][12] .[13]. In reference [12] Radic proposed an efficient definition for determinant of non-square matrices that has most of the important properties of square matrices determinant. Also, some other properties of Radic’s determinant and its geometrical interpretations, involving polygons in the plan R2 and polyhedral in R3 are given in[12][14-18].
  • 2. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 2 In [19], non-square matrices are converted to square matrices by summarizing, that leads to miss some part of data. The determinant of non-square matrix is used in retrieving images with different sizes [8]. Also, there are some works on video retrieval and video shot boundary detection and image processing by using determinant of non-square matrix [8][20-23]. Thus providing an effective solution for calculating the determinant of non-square matrices can be very valuable and helpful. In paper [24] a parallel algorithm based on pointer jumping technique is proposed to calculate the determinant of non-square matrices of order 2 × . But despite the successful work that has been done for the definition of non-square matrices determinant, yet there isn’t any efficient algorithm to compute this determinant. According to Radic’s definition for the determinant of a non-square matrix m × n, it should be calculated the determinant of C( n m ) square matrices from the order of m × m. The square matrices are obtained by combination of non-square matrix columns. Hence, the calculation of non- matrices determinant is NP-hard. Some researchers [14] have tried decrease rows or columns of a non-square matrix to convert it into a square matrix. But normally any change in rows or columns of non-square matrices increase computation and column operations. According to above explanation and proven theorems [12] currently, the only effective solution to compute the determinant of non-square matrices by acceptable time complexity is parallel algorithms. To paralyze the algorithm, at first, the dependency between each Radic’s sub-square matrices should be omitted. Secondly, each of these determinants also needs to be computed in parallel. In this paper, we proposed a parallel algorithm to calculate the determinant of non-square matrices based on Radic’s definition with O(n ) time complexity. Problems and motivations are considered in Section 2. In Section 3 the Radic’s definition are analyzed in details. Section 4 includes the proposed method to compute each arbitrary elements of Dictionary order independently and in Section 5 a parallel algorithm for computing Raidc’s determinant is presented. The complexity of proposed algorithm is perused due to the hardware architecture In Section 6. Section 7 clarifies our conclusions. 2. PROBLEMS AND MOTIVATIONS Radic's definition [12] for calculating the determinant of non-square matrices has numerous significant properties and advantages in comparing to other definitions. Specially, it has almost all the properties of determinant of square matrices [12]. According to Radic’s definition, it is evident that the determinant of a non-square matrix can be computed as sum of specially signed square sub matrices. These sub matrices is obtained by calculating specific permutation of columns of non-square matrix. Although this definition is easy to compute and understand, it has exponential time complexity. In other words, computing the det( ) requires to compute determinants of square sub matrices of order × , which lead to exponential time complexity. Regarding to the previous works, it is obvious that applying column and row operations for computing the determinant of non-square matrices is inefficient [25]. In addition, due to the dependency between determining square sub matrices, it is impossible to design an efficient parallel algorithm based on this definition.
  • 3. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 3 In this paper we propose a novel approach for parallel production of square sub matrices which reduces the time complexity to O(m × (n − m)). 3. DETAILED ANALYSIS OF RADIC’S DEFINITION At first, we will clarify some preliminary concepts and then assess Radic’s definition due to these concepts. Definition 1: ascending sequence A sequence of elements of a partially ordered set such that each member of the sequence is less than the following one. So, for set = {1,2,3, … , }, each sub set = {a!, a , … , a"} is an ascending sequence if condition ∀(a!, a , … , a") ∈ A and (m < ) ' ( ('! < a < ⋯ < a") is satisfied. Definition 2: dictionary order Suppose { !, , … , *} is an n-tuple of sets, with respective total orderings {<!, < , … , <*}. The dictionary ordering <+ of ! × × … × * is then ('!, ' , … , '*) <+ (,!, , , … , ,*) ⟺ (∃ > 0)(∀1 ≤ )('3 = ,3)⋀('5 <5 ,5). That is, if one of the terms '5 <5 ,5 and all the preceding terms are equal. Theorem 1: Regarding to def.1, the maximum number of m-tuple sub sequences of ascendant set A = {a!, a , … , a6} where m < , is equal to n m . Proof: Putting the minimum element in the first place (as a! in set A), we would have n − 1 choice for the remaining m − 1 places. In the same way, by selecting a , there will be n − 2 selection for the last m − 1 places, and finally by putting '67"8! in the first place, there will be remained m − 1 choices for m − 1 places. In other word, all the possible selections can be shown as follow. 1: p!: ;< , = , … , =5>??@??A 67! 57! A={a!, a , … , a67"8!, … , a6BCCCDCCCE " }2: p!: ;F , = , … , =5>??@??A 67 57! … … n-m+1: p!: ;GHIJ< , = , … , =5>??@??A "7! 57! In this case, all ascending sequences that can be produced is equal n − 1 m − 1 + n − 2 m − 1 + ⋯ + m m − 1 + m − 1 m − 1 = n m .
  • 4. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 4 According to the dictionary order and ascending sequences definition, it’s obvious that, for m < , the first element of A = {1,2, … , n} is [1,2, … , m], which we entitled First Member. Also, the last element in this sequence will be [n − m + 1, n − m + 2, … , n] and the remaining sub ascending sequences will be in this interval. [1,2, … , m] < [1,2, … , m + 1] < ⋯ < [n − m + 1, n − m + 2, … , n] Now, according to Theorem 1, the sequences can be numbered from 0 to n m − 1. Also, according to the latest member of ascending sequences the maximum value of each place is determined. For example, the maximum value which the mth place can be obtained, is n, But due to the need to establish the condition a"7! < a", the value of (m-1)th place cannot exceed n-1. In the following, we present Radic's definition for determinant of non-square matrices. Definition 3. Let = ['3,N] be an × matrix with ≤ . The determinant of , is defined as: det( ) = ∑ (−1)P8Q (RS T '!N< ⋯ '!NU ⋮ ⋱ ⋮ '5N< ⋯ '5NU X!YN<Z⋯ZNUY* , (1) where [!, [ , … , [5 ∈ ℕ, ] = 1 + 2 + ⋯ + and ^ = [! + ⋯ + [5. If > , then we define det( ) = 0. Now, according to Definition 3 is observed that the following sub square matrices produced in Radic’s definition is in accordance with the dictionary order. So, if an efficient algorithm can be represented for the computation of dictionary order elements, therefore Radic’s determinant can also be calculated with greater efficiency. 4. COMPUTATION OF DICTIONARY SEQUENCE ELEMENTS In this section, we attempt to compute each arbitrary elements of Dictionary order independently. In other word, by giving a q where 0 ≤ q < n m , we try to calculate the qth element in the sequence. Due to this purpose, a novel definition entitled combinatorial addition is presented and table 1 is formed by the elements of Pascal's triangle. [ 1 1 = 1 1 = 2 … 1 = − − 1 1 = − [ = 0 1 0 2 0 … − − 1 0 − 0 [ = 1 2 1 3 1 … − − 2 1 − − 1 1 … … … … … … [ = − 2 − 1 − 2 − 2 … − 3 − 2 − 2 − 2 [ = − 1 − 1 + 1 − 1 … − 2 − 1 − 1 − 1 Table1 : Pascal's triangle As you can see in Table 1, each (j, i)th entries in the table is obtained from ` 1 + [ [ a. According to Table 1and as it mentioned in theorem 1, the weight of each element in the Ascending sequence is equal the last column of the table.
  • 5. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 5 n − 1 − 1 1 , n − 2 − 2 2 , n − 3 − 3 , 3 … , n − k + 1 − c + 1 , k − 1 n − k − c , k … , n − m 0 m Now, if − c − c < d ≤ − c + 1 − c + 1 , m − k + 1 element of the First Member will change. We use Table 1 to calculate the amount of the change. To this, according Table 1, we must go to left in the jth row where − c − c is located. As can be seen in Table 1, the first element at the left side of the start point is − c − 1 − c − 1 . Until condition d ≥ − c − c + ⋯ + − c − = − c is satisfied, we continue the steps to the left. Then the numbers of steps, which is moved to the left side in jth row, will be added to the value of last m-k locations in the First Member. The new value of d is calculated from the following equation. d ← d − ∑ − c − 1 − c g 3hi . Then until d = 0, the algorithm is continued from ( − − =)th column by the new value of d. Example 1: for set = {1, 2, … , 8}, the five-member ascending sequences in dictionary order is shown in table 2. Table 2: all five-member subsets For m = 5 and n = 8, we have table 3.
  • 6. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 6 1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 1 5 15 35 ≈ 1 = 0 1 = 1 1 = 2 1 = 3 ` m + n n a [ = 0 0 0 1 0 2 0 3 0 [ = 1 1 1 2 1 3 1 4 1 [ = 2 2 2 3 2 4 2 5 2 [ = 3 3 3 4 3 5 3 6 3 [ = 4 4 4 5 4 6 4 7 4 Table 3a table 3b We assume q = 49. In this case, according to table 3, the weight of each place in the First Member would be as follows. 7 4 1 6 3 2 5 2 3 4 1 4 3 0 5 Since 7 4 < d < 8 5 , in the fifth row (j = 4) we will proceed to the left, but because 6 4 + 7 4 > 49 is not acceptable, so we stopped at p = 1. Therefore, p = 1 and the new q is equal to q = 49 − 7 4 = 14 and a unit will be added to the fifth last places. 65432 11111+ 65432 Till this step, ascending sequence is [2, 3, 4, 5, 6]. Because we went one step ahead in the previous stage, we continue the algorithm from column − − = = 8 − 5 − 1 = 2. According to Table 3, for q = 14 we have 5 3 < d < 6 4 . Since we start moving from the fourth row and third column, which equals to 5 3 . Then, we have q ≥ 5 3 + 4 3 and p=2. So, two units are added to the last four places. 65432 2222+ 87652 Since, the new value of q is q = 14 − r 5 3 + 4 3 s = 0, the algorithm has finished and 49th element in the sequence of dictionary order is generated. tu = [2,5,6,7,8]
  • 7. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 7 It is proven for any arbitrary d, using combinatorial addition the whole dictionary ordered elements are produced. Theorem 2: Using combinatorial addition, by adding arbitrary d to First Member of the dictionary order, exactly dvw element in the dictionary order for < will be generated. Proof: We will show this theorem using mathematical induction First step k = 1: To produce the second ascending sequence from the First Member, regarding to Combinatorial Addition, just it needs to add a unit to the first place. i = [1,2,3, … , − 1, ] ! = x1,2,3, … , − 1, + 1BDE yh! z This is the second element in dictionary order. In other words, only one location was changed. Inductive assumption: Suppose using combinatorial addition to add d units to First Member. Thus, the ascending sequence 1,2,3, … , '57y8!, '57y, '57y7!, … , '5BCCCCCDCCCCCE y is produced, which is exactly the dvw element in dictionary order. This sequence is obtained by changing at most c places of First Member. Inductive rule: It should be shown that adding d + 1 units to First Member, the ( d + 1)vw element in the dictionary order will be generated. First case: Suppose by adding d + 1 to First Member, just c places have changed. Regarding the inductive assumption, since only c places were changed, therefore, it is exactly the ( d + 1)vw element in the dictionary order. 1,2,3, … , '57y8!, '57y, '57y7!, … , '5BCCCCCCDCCCCCCE y Second case: by adding q to First Member, if the ascending sequence 1,2,3, … , − c, − c + 1, … ,BCCCCCCDCCCCCCE y is generated, it will be impossible to increase any of the last c places. Because, all places achieve to their highest possible value. According to the dictionary order, it’s clear the ( d + 1)vw element is 1,2,3, … , − c + 1, − c + 2, … , + 1BCCCCCCCCCDCCCCCCCCCE y8! . We will show Combinatorial Addition exactly generated the same sequence. According to Table 1, the value is equal to d = |y8*7(58!) y7! } + |y8*7(58 ) y7! } + ⋯ + | y y7! }BCCCCCCCCCCCCDCCCCCCCCCCCCE *75 If we add one unit to both sides then we will have
  • 8. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 8 d + 1 = |y8*7(58!) y7! } + |y8*7(58 ) y7! } + ⋯ + | y y7! }BCCCCCCCCCCCCDCCCCCCCCCCCCE *75 + 1 In this equation, the right side is equal to |y8*7(58!) y7! } + |y8*7(58 ) y7! } + ⋯ + | y y7! } + 1 = |y8*75 y } According to the above equation we have d + 1 = |y8*75 y } Defined as Combinatorial Addition, the (c + 1)vw place has increased a unit and other elements subsequently increased. So, the following ascending sequence is obtained. 1,2,3, … , − c + 1, − c + 2, … , + 1BCCCCCCCCCDCCCCCCCCCE y8! This sequence is exactly ( d + 1)vw element in the dictionary order 5. PARALLEL ALGORITHM FOR COMPUTING RAIDC’S DETERMINANT In this section, we present an efficient algorithm to produce the square sub matrices of definition (3) in parallel. The algorithm is able to receive the value of d and for arbitrary and produce the dvw sequence in the dictionary order. Pseudo code for this algorithm is shown in Figure 1.
  • 9. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 9 For i = 1 To (n - m+ 1) A(1, i) = i For i = 1 To m A(i, 1) = 1 k = n - m+ 1 For i = 2 To m For j = 2 To k A(i, j) = A(i, j - 1) + A(i - 1, j) j = 1 For i = 1 To m B(i) = i Sum = 0, p = 0, i = k While A(j, k) <= q j = j + 1 j = j - 1 i = k While Sum <= q Sum = A(j, i) + Sum p = p + 1 i = i - 1 Sum = Sum - A(j, i + 1) p = p - 1 B(m - j) = B(m - j) + p For h = m - j To m - 1 B(h+ 1) = B(h) + p q= q - Sum j = 1 k = k - p p = 0 Sum = 0 Wend B(m) = B(m) + q Fig 1: Pseudo code of generating arbitrary sequence This algorithm can be implemented in various granularities. This means whatever the number of processors is further, the granularities can be smaller. And we will have larger granularities if the number of processors is less. In other words, if the number of processors is k, the number of granularities will be * 5 y . It means the first processor starts from i to ~ U • 7! and the next portion form ~ U • to × ~ U • 7! is for the second processor. In the same way, the last processor calculates (y7!)× ~ U • to * 5 7! . Pseudo-code for producing ascending sequence from a specific element has been shown in figure 1. €•] ‚ = 1 S• * 5 y − 1 (1) = (1) + 1 ƒ€ (1) > „ℎR (1 − c) = (1 − c) + 1 †ℎ1‡R (1 − c) > − c c = c + 1 (1 − c) = (1 − c) + 1 †R ( ƒ€ (c < ) „ℎR
  • 10. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 10 ˆ•] ‡ = 1 − c „• − 1 (‡ + 1) = (‡) + 1 c = 1 ‰ ( ƒ€ ‰ ( ƒ€ R ( Figure 1: dictionary sequence 6. ALGORITHM ANALYSIS DUE TO THE HARDWARE ARCHITECTURE The proposed algorithm has the ability to run on different architectures. Parallel Random Access Machine (PRAM) is a shared memory abstract machine. In this architecture shared memory plays an important role. On Concurrent Read Concurrent Write (CRCW) memory, the highest performance of the algorithm can be achieved. In this case, if we have processors, each processor is only run the algorithm, which is shown in Figure 1, once to obtain the corresponding square matrix with Š| ( − )} time complexity. According to the algorithm presented in [7], if we have processors, the determinant of each × square matrix is calculated with Š( ). Therefore, if we have × processors with a CRCW memory, this algorithm can calculate the determinant of × non-square matrix in Š( ( − ) + ) ∈ Š| ( − )}. If the memory is Concurrent Read Exclusive Write (CREW), the time required to sum the results of all processors in tree structure will be equal to ‡•‹ . we know that ‡•‹ ! ∈ ( ‡•‹ ). Thus the determinant of the non-square matrix will be calculated at Š( ( − ) + ‡•‹ ) ∈ Š| ( − )}. In Exclusive Read Exclusive Write (EREW) memories, there is a burden to read matrices. If enough memory is available, the matrix can be copied in a tree structure in ‡•‹ time complexity. Then, it will be accessible for all processors. In this case, the algorithm complexity is Š( ( − ) + 2 ‡•‹ ) ∈ Š| ( − )}. Given the above description it has been shown that the time complexity of the proposed algorithm is Š( ). It’s obvious the proposed algorithm in cloud computing architecture and other architectures in which processors are connected through the network tolerates the overhead of network too. So it’s time complexity will be Š( + RS••]c_••R]ℎR'(). 7. CONCLUSION Using Parallel algorithms is an effective method for reducing the time complexity. However, in most cases, increasing the number of processors does not increase productivity and just reduces the required time. But given that the cost of producing complex hardware with many processors is declining sharply, therefore the parallel algorithm can have appropriate efficiency. On the other hand, time is an important factor in reducing the response time of real-time systems, and it plays a key role in the success of such systems. Note that, also in the machine vision, time is one of the important factors; the proposed algorithm can be very efficient and effective.
  • 11. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 11 8. FUTURE WORK In recent years, researchers interest in Cloud computing and distributed processing. Since the proposed algorithm can be implemented in distributed systems, implementation and computing network overhead in these systems can be considered as future researches. With regard to applications of the determinant of matrix in image and video processing, making a proper hardware and implementing the proposed algorithm can be a suitable solution in computer vision. There are other definition for determinant of non-square matrices, these definition can be investigated whether they can be parallelize or not and be compared with proposed algorithm in this paper. REFERENCES [1] Domich, P.D. & Kannan, R. & Trotter Jr. Hermite, L.E, (1987) "normal Form Computation Using Modulo Determinant Arithmetic", Mathematics of Operations Research, vol. 12, No. 1, pp:50–59. [2] Frumkin, M.A, (1977) "Time Algorithms In The Theory Of Linear Diophantine Equations", In Fundamentals of Computation Theory, LNCS 56, Springer-Verlag, pp:386–392. [3] Newman, M, (1972) "Integral Matrices. Academic Press,". [4] Storjohann, A, (2000) "Algorithms for Matrix Canonical Forms", PhD thesis, Institut f¨ur Wissenschaftliches Rechnen, ETH-Zentrum, Zurich, Switzerland. [5] Cohen, H, (1996) "A course in computational number theory", Springer-Verlag. [6] Kaltofen, E. & Villard, G, (2001) "Computing The Sign Or The Value Of The Determinant Of An Integer Matrix, A Complexity Survey", Preprint submitted to ALA’2001 JCAM Special issue. [7] Teimoori, H & Bayat, M. & Amiri, A. & Sarijloo, E, (2005) "A New Parallel Algorithm for Evaluating the Determinant of a Matrix of Order n", Euro Combinatory, pp: 123-134. [8] Abdollahi, N. & Jafari, M. & Amiri, A, (2012) “Retrieving Images in different sizes using Determinant kernel for non-square matrices,” National Conference on Artificial Intelligent in Electrical and Computer Engineering (NCAI). [9] Amiri, A. & Abdollahi, N. & Jafari, M. & Fathy, M, (2011) "Hierarchical Key-Frame Based Video Shot Clustering Using Generalized Trace", Journal of Innovative Computing Technology, Springer- Verlag Berlin Heidlberg, pp: 251-257. [10] Abdollahi, N. & Jafari, M. & Amiri, A. & Fathy, M, (2011) "Generalization of the Trace Kernel on Non-Square Matrices and its applications in video retrieval," the 7th Iranian Machine Vision and Image Processing Conference (MVIP), IUST. [11] Joshi, V.N, (1980) “A Determinant for Rectangular matrices”, Bull. Austral. Math. Soc., vol. 21, pp:137-146. [12] Radic, M, (1969) “A Definition of the Determinant of A Rectangular Matrix,” Glasnik Matemaicki, vol. 1, No. 21, pp: 17-22. [13] Arunkumar, M. & Murthy, S. & Ganapathy, G, (2011) "Determinant For Non-Square Matrices", International J. of Math. Sci. & Engg. Appls. (IJMSEA), ISSN 0973-9424, vol. 5, No. V, pp: 389-401. [14] Radi´c, M. & Suˇsanj, R, (1992) “An Application of the Determinant of A Rectangular Matrix in Discovering Some Properties of the Pentagon,” Glas. Mat. Ser. III 27, pp: 217-226. [15] Radi´c, M, (2008) "Areas of Certain Polygons in Connection with Determinants of Rectangular Matrices", Beitrage zur Algebra und Geometrie Contributions to Algebra and Geometry, vol. 49, pp:71-96. [16] Radi´c, M, (1991) “A Generalization of the Determinant of a Square Matrix and Some of Its Applications in Geometry,” Serbo-Croatian Matematika (Zagreb), vol. 20, pp:19-36. [17] Radi´c, M, (2005) "About A Determinant of Rectangular 2 × n Matrix and It’s Geometric Interpretation", Beitrage Zur Algbera und Geometric Contributions to Algebra and Geometry, vol. 46, pp:321-349. [18] Susanj, R. & Radi´c, M, (1994) "Geometrical Meaning of One Generalization of the Determinant of A Square Matrix", Glasnik Matematicki, vol. 29, pp:217-234.
  • 12. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 12 [19] Amiri, A. & Fathy, M. & Bayat, M, (2010) "Generalization of Some Determinantal Identities for Non-Square Matrices Based on Radic’s Definition", TWMS J. Pure Appl. Math, vol. 1, No. 2, pp: 163-175. [20] Amiri, A. & Fathy, M, (2011) “Generalization of Eigenvalue and Eigenvector for Non-Square matrices based on Radic´s Determinant and its application to video retrieval,” to appear in Journal of Applied and Computational Mathematics (A&CM). [21] Amiri, A. & Fathy, M, (2009) “A Novel Video Retrieval System Using GED-based Similarity Measure,” International Journal of Signal Processing, Image Processing and Pattern Recognition, vol. 2, No. 3, pp:99-108. [22] Amiri, A. & Fathy, M, (2009) “Video Shot Boundary Detection Using Generalized Eigenvalue Decomposition,” Lecture Notes In Computer Science, vol. 5593, pp:780-790. [23] Zhou, S.K, (2004) “Trace and determinant kernels between matrices,” SCR Technical Report. [24] Abdollahi, N. & Jafari, M. & Amiri, A. & Fathy, M, (2011) “A New Parallel Algorithm for calculating the Determinant of a non-square Matrix of Order 2×n ,“ 1st National Conference on Soft Computing and Information Technology. [25] Amiri, A. & Bayat, M. & Fath, M. & Tiemoori, H, (2005) “Determinant Identities for Non-Square Matrices Based on Radic’s Definition: Dodgson,Cauchy-Binet and Trahan,” Euro Combinatory, pp:123-134. Authors Neda Abdollahi was born in Zanjan, Iran, in 1985. She received the B.S. and M.Sc. Islamic Azad University, Zanjan, Iran, in 2008 and 2011. In 2009, she joined Bina Software Co., as a technical expert and science then she has been with Department of Electronic and Computer Engineering, Islamic Azad University of Zanjan and Payame Noor University and from 2012, she has been a Faculty member of Saeb University, Abhar, Iran. Her research interests include Multimedia Retrieval, Software Modeling, Machine Learning Methods, Object-Oriented Analysis and Design, Mobile Ad-Hoc Networks, Distributed Systems, Micro Programming and Web Design. Mohammad Jafari was born in Zanjan, Iran, in 1977. She received the B.S. and M.Sc. Islamic Azad University, Zanjan, Iran, in 2003 and 2011. In 2001, he has started his work as CEO of Bina Software Co., Zanjan, Iran. From 2006 to 2011, he was a computer technical expert of information and planning unit of the Zanjan Broadcasting Center. And science 2009, he has been with Department of Electronic and Computer Engineering, Islamic Azad University of Zanjan and University of Applied Science and Technology and Sufi University, Zanjan, Iran. his research interests include Software Modeling, Data Base, Object-Oriented Design, Computer Networking, Mobile Distributed Systems, Programming and Web Design. Morteza Bayat received M.S. degree in 2002 from Institute for Advance Studies in Basic Sciences (IASBS), Zanjan, Iran, in Applied Mathematics, and the Ph.D. degree in Differential Equations in 2008 from IASBS. Since 2008, he has worked in the Computer Engineering Department of Zanjan University as an Professor Assistant. His research interests include Matrix Computations and Differential Equations. Ali Amiri was born in Zanjan, Iran, in 1982. He received the M.S. degree in Computer Engineering from Iran University of Science and Technology (IUST), in 2006, where he is currently pursuing Ph.D. degree in the IUST. His research interests include video segmentation, video retrieval and summarization, Matrix Computation and moving object detection and tracking.
  • 13. International Journal of Distributed and Parallel Systems (IJDPS) Vol.6, No.4, July 2015 13 Mahmood Fathy, was born in Tehran, Iran, in 1959. He received the B.S. degree in Electronic Engineering from Iran University of Science and Technology (IUST), in 1985, M.Sc. degree in Microprocessor Engineering from Bradford, UK, 1988 and Ph.D. degree in Image Processing and Processor Design from UMIST, UK in 1991. Since 1992, he has been with the IUST, where he is currently Associate Professor at the Department of Computer Engineering. His research interests include Computer networks, QOS , internet Engineering, Application of image processing in Traffic, Computer Architecture for image processing, video processing applications, Panorama, Supper resolution, video classification, video retrieval and summarization.