Concepts inAlgorithm for generating a step matrix by permutation
Permutation
In mathematics, the notion of permutation is used with several slightly different meanings, all related to the act of permuting (rearranging) objects or values. Informally, a permutation of a set of objects is an arrangement of those objects into a particular order. For example, there are six permutations of the set {1,2,3}, namely (1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2), and (3,2,1). One might define an anagram of a word as a permutation of its letters.
more from Wikipedia
Matrix (mathematics)
In mathematics, a matrix (plural matrices, or less commonly matrixes) is a rectangular array of numbers, symbols, or expressions. The individual items in a matrix are called its elements or entries. An example of a matrix with six elements is Matrices of the same size can be added or subtracted element by element. The rule for matrix multiplication is more complicated, and two matrices can be multiplied only when the number of columns in the first equals the number of rows in the second.
more from Wikipedia
Array data structure
In computer science, an array data structure or simply array is a data structure consisting of a collection of elements, each identified by at least one array index or key. An array is stored so that the position of each element can be computed from its index tuple by a mathematical formula.
more from Wikipedia
Time complexity
In computer science, the time complexity of an algorithm quantifies the amount of time taken by an algorithm to run as a function of the size of the input to the problem. The time complexity of an algorithm is commonly expressed using big O notation, which suppresses multiplicative constants and lower order terms. When expressed this way, the time complexity is said to be described asymptotically, i.e. , as the input size goes to infinity.
more from Wikipedia
Order (group theory)
In group theory, a branch of mathematics, the term order is used in two closely related senses: The order of a group is its cardinality, i.e. , the number of elements in its set. The order, sometimes period, of an element a of a group is the smallest positive integer m such that a = e (where e denotes the identity element of the group, and a denotes the product of m copies of a). If no such m exists, a is said to have infinite order. All elements of finite groups have finite order.
more from Wikipedia
Reduction (complexity)
In computability theory and computational complexity theory, a reduction is a transformation of one problem into another problem. Depending on the transformation used this can be used to define complexity classes on a set of problems. Intuitively, problem A is reducible to problem B if solutions to B exist and give solutions to A whenever A has solutions. Thus, solving A cannot be harder than solving B.
more from Wikipedia