GB2480261A - An algorithm for cyclic compression and decompression of a data sequence - Google Patents

An algorithm for cyclic compression and decompression of a data sequence Download PDF

Info

Publication number
GB2480261A
GB2480261A GB1007797A GB201007797A GB2480261A GB 2480261 A GB2480261 A GB 2480261A GB 1007797 A GB1007797 A GB 1007797A GB 201007797 A GB201007797 A GB 201007797A GB 2480261 A GB2480261 A GB 2480261A
Authority
GB
United Kingdom
Prior art keywords
piat
data sequence
coefficients
polynomial
coefficient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB1007797A
Other versions
GB201007797D0 (en
Inventor
Jonathan Attia
Bernard Pinot
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Etsem Ltd
Original Assignee
Etsem Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Etsem Ltd filed Critical Etsem Ltd
Priority to GB1007797A priority Critical patent/GB2480261A/en
Publication of GB201007797D0 publication Critical patent/GB201007797D0/en
Publication of GB2480261A publication Critical patent/GB2480261A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • H04L29/06659
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme

Abstract

The invention relates to a cyclic form of compression that does not depend upon the form of data being compressed. An initial data sequence undergoes a first level of compression and that compressed data can itself undergo a further level of compression. The compression continues in this cyclic manner until a highly compressed final data sequence is achieved. A separate index is used to indicate the level of compression, i.e. the number of cycles performed. Decompression essentially involves reversing the compression method. The compression/decompression technique is based on an algorithm, named the " PIAT Method", which finds and manipulates the coefficients of polynomials. It starts with an initial or generator polynomial and governs the generation of associated polynomials. It is possible to "jump" from the initial data sequence to the highly compressed data without calculating any of the intervening levels of compression (413). The compressed final data sequence is essentially an encrypted form of the initial data, with the index serving as a decryption key.

Description

METHOD OF DECOMPRESSING AND AN APPARATUS ARRANGED TO
DECOMPRESS A COMPRESSED DATA SEQUENCE
FIELD
The present invention relates to a method of decompressing and an apparatus arranged to decompress a compressed data sequence.
BACKGROUND
Data can be represented digitally as a sequence of bits (binary digits).
Modification of digital data is inherently a mathematical process of operating on numbers. A certain amount of background mathematical knowledge is required to understand how data is modified and to gain a good understanding of the present invention.
Homer's Scheme, the Newton-Raphson Method for finding polynomial roots, Taylor and Maclaurin Series Expansions, and Pascal's Triangle provide a background to the developments in mathematics that have led to, but are encompassed by, the present invention and also put it into historical context. They are outlined below.
Homer's Scheme Homer's Scheme (1819), named after the British mathematician William Homer, is a popular method for approximating the roots of a polynomial P(x)=ax" +a_x"' +.,.+a1x+a0, wherea0,a1,..,a1,a are called the "coefficients" of P(x).
The roots, denoted herein as f, of the polynomial P(x) are those values of x for which the image of P(x*)= ax + +... + ax + a0 is zero, i.e. the values of x'for which 0.
Although Homer's Scheme is attributed to Homer, it also has origins in Chinese mathematics from the Han Dynasty. The Chinese mathematician Ch'in Chiu-shao is believed to have arrived at an equivalent form in 1247 based on methods of root extraction from the Chiu Chang Suan Shu ("The Nine Chapters of Mathematics"), which is believed to date back to around IOOAD. Sometimes, Homer's Scheme is referred to as the Ch'in-Horner Scheme or Method.
FIG. 1 shows Homer's Scheme where, in the initial step, a new set of coefficients {b1 0,...b1}is defined as: First Stage Second Stage n Stage 15:= a b2:= : b_1, b1x + a1:= b1,x + b1,1:= b1,2x + a1 b21:= b22x + b10:= b11x + a0 These new coefficients can be seen by following the arrows in FIG. 1 from the upper leftmost corner to the bottom rightmost corner.
is the Homer coefficient in the th row and n -j +1 th column of Homer's Scheme. It lies under the initial coefficient a For example, for a third-degree polynomial, i.e. where n = 3, b1 = b32 is the coefficient on the third row and second column (n -j +1 = 3-2 + 1 = 2) of Homer's Scheme and lies under the initial coefficient a_11 = a3_21 = a2.
By first factoring outx and the substituting the new coefficients into the result, P(x)can be rewritten in the nested form: P(x)= a0 + x[ai + x[a2 + . . . x[ani + aflX]]] = a0 + x a1 + x a2 + . . . x a1 + =a0+x a1+xb12 =a0+b11x=k0
______J ----
=:b1,1 =:b,,0 Thus, P(x) = b10.
For some polynomials, the roots are relatively easy to find and there are many elementary methods for doing so. For example, to find the roots of the polynomialP(x) x2 -16, i.e. the values ofx for which P(x)= 0, some of the approaches are: Taking A Square Root P(x)=0x2_16=ox2=16x=±,/i=±4. Thusx=-4andf =4.
Perfect Square P(x)is in the form of a perfect soP(x)= x2 -16 (x+4Xx-4). This can only equal zero when x = 4 orx -4.
Rational Root Theorem P(x)is in the form P(x)= ax +a_1x"' +...+a1x+a0where the coefficients {a1} are integer values. According to the Rational Root Theorem, if a!= Oand a0!= 0, then each rootx* is in the form f = £., where p is an integer factor of a0 and q is an integer q factor of a. The list of all possible roots can be found by calculating the value of ±for q all possible values of p and q and then testing whether these possible values are indeed rootsx*ofP(x).
In the numerical example above, P(x) = -16. The possible values forp are 1,2,4,8,16 and the only possible value of q isi. The possible roots are, thus: +! ÷..,+± +! ÷ 1' 1 1' 1' 1 It can be verified that the only values which satisfyP(x)= 0 are±4.
Quadratic Equation SinceP(x)= x2 -l6is in the formP(x)= ax2 +bx+c, wherea = 1,b = 0,c = -16, its roots can be found by: * _b±Ib2_4ac x= 2a Thus, the roots of P(x)-_ x2 -I6are: -_O±,102 -4.1.(-16) -±/ -±8 -21 -2 2 Trial And Error Another approach is to take a guess as to the possible root and then revise the guess in some predetermined manner. For example, taking x 2 as a reasonable guess, we find that: P(2)=22-16=4-16=-12!=o We then try another value, sayx = 3 because we need to increase the value of x2 in P(x): P(3)=3216=9_16=_3!=O We might then tryx 4 and find that it solves P(x)= 0. In fact, for such a simple polynomial, it is likely that, after a moment's thought, it would be evident that the roots arex ±4.
The above methods are suitable for finding roots of simple polynomials. However, for a higher-order polynomial such as P(x) -9x2 + 23x -15, the above methods either do not apply or are rather more complicated. This polynomial is not a perfect square, we cannot manipulate and take roots and it is not a quadratic. We could use trial and error.
One well-known method for approximating the roots of a polynomial such as this is the Newton-Raphson method.
Newton-Raphson The Newton-Raphson method was initially devised by the British mathematician Sir Issac Newton in 1669 and was first published in 1685. It computed a series of polynomials to arrive at an approximation of the roots x. Newton's method was simplified by fellow British mathematician Joseph Raphson who described Newton's method in terms of a series of better approximations x÷1 of the root x starting from an initial approximation of the root x. Raphson's work was published in 1690.
Like Newton, who is credited along with the German mathematician Gottfried Leibniz for devising Calculus in the 1660s, Raphson apparently did not notice the link with Calculus in his approximation method. It was another British mathematician, Thomas Simpson, who described the link in 1740, some 80 years before Homer's Scheme was described in 1819.
FIG. 2 illustrates the Newton-Raphson method.
Given an initial guess; of a rootx'of a polynomialP(x), a better approximation to the actual rootxis the pointx1 where the tangent to the P(x)at the initial guess x crosses the x-axis.
The tangent to the P(x)at the initial guess x can be found from elementary Calculus in the following manner: P'(x) = xn -xn+i However, since x1 is the point at which the tangent crosses thex-axis, we can use that = 0. Thus:
(x)-o xn -xn+i xn -xn+I
-_____
X, -X_1 -
-____
n+1 -Xfl -P'(x) Accordingly, we simply make an initial guess of the value of; and continue the Newton-Raphson method until a sufficiently accurate root has been found. Using the numerical example with an initial guess of; = 2: P(x)=x3-9x2+23x-15 P'(x) = 3x2 -1 8x +23 x =2-x =x -P(x) =2_92+23215) n n+1 (3.22_18.2+23) (12-36+23) (-i) The Newton-Raphson method gives a better approximation x,,1 of the root of the polynomial asx1 = 5. Indeed, it can be seen thatP(5)=53_9.52+23.5_15=125_225+115_15=O. Thus,f=Sisaroot ofP(x)=x3 -9x2 +23x-15.
Had we chosen; = 0 as the initial guess, we would have calculated: P(x)= x3 -9x2 +23x-15 P'(x) 3x2 -1 8x +23 -P(x) (o3_9.o2+23.o_15)(o_o+o_15) (302180+23) (0-0+23) O(_1s)15 065 (23) 23 -P(x,,) =0.65_(0.65 90.65 +23 0.65 is) n+I n+2 n (3.0652_18.065+23) 0.65-(0.227 -3.828 + 15-15) 0.65-(-3.60) 0.65 + 0.28 -0.93 (1.276 -11.739 + 23) (12.54) This process can be continued until the sequence of root approximations sufficiently close to the actual rootx*, which, in fact, in this case isx* 1.
Homer's Scheme Another alternative is to use Homer's Scheme to approximate the roots. In fact, this method involves essentially the same calculations as the Newton-Raphson method but does not directly involve calculating differentials.
As explained above, the Netwon-Rapshon method involves calculating: x,1+1=xn-ii
P
However, we know from above that, for a third-order polynomial, (x)= b10 and we will show laterthatP'(x)=b21. Thus, under Homer's Scheme, we can calculate x1 by: I0 = -U2,' The method of approximation under Homer's Scheme starts by identifying coefficients in the polynomial P(x) = -9x2 + 23x -15 and preparing a table of Homer Coefficients. Using the same initial guess of; = 2 as under the Newton-Raphson Method,x=x0=2: Zeroth a3 1 a2 = -9 a1 = 23 a0 = -15 Homer Stage Multiplication x0b13 =2x1=2 x0b12 =2x-7=-14 x0b11 =2x9=18 byx0 =2-* First Homer = a3 = 1 b1,2 = a2 + x0b13 bH = a1 + x0b12 b1,0 = a0 + x0b11 Stage (1=1) =-9+2 =-7 =23-14=9 =-15+18=3 Multiplication x0b23 2 xl 2 x0b2,2 byx0=2-* =2x-5=--10 Second b23 = b13 1 b22 = + x0b23 b21 = b + x0b22 Homer =-7+2=-5 =9-10=-i Stage(i=2) Thus: This gives exactly the same root as the Newton-Raphson method.
If we had used; = x0 =0: -10 -Zeroth a3 = I a2 -9 a1 = 23 a0 -15 Homer Stage Multiplication x0b3 = Ox I =0 x0b2 = Ox -9 = 0 x0b11 = Ox 23=0 by; = 0 -* First Homer b13 = a3 1 b12 a2 + x0b13 b = a1 + x0b12 b = a0 + x0b11 Stage =-9+O=-9 =23+0=23 =-15+O=--15 Multiplication x0b23 = Ox 1 = 0 x0b22 =0 x -9 0 byx0 =2-+ Second b23 = b 1 2,2 k,2 + x0b23 b2, = b + x0b22 Homer Stage -9+0 = 9 23+0 23 Thus: x =O-x =x b21 (23) 23 This also gives the same solution as would be obtained by the Newton-Raphson method. This value of x1 0.65 can then be used as a better estimate of the actual rootx' 1 under Homer's Scheme. It can be shown that, in this case, b1,0 = -3.60 and b21 12.54 such that: x,,1 = 0.65 - -0.65 -((30? 0.65 + 0.28 0.93 Thus, one use of Homer's Scheme is to find or approximate the roots x*of a non-trivial polynomial (x).
-11 -Homer's Scheme can also be used to evaluate the image of P(x) at a particular pointx0, i.e. it can be used to find the value: P(x0) = ax0 + + ... + a1x + a0 b10.
Homer's Scheme can further be used in long polynomial division, polynomial factorisation and also to find Taylor coefficients.
FIG. 3 illustrates a numerical example of the use of Homer's Scheme. To calculate the Homer coefficients of P(x) = x2 + -when x = 3, the set {i lof coefficients is defined as follows: b12:= a2 = 2 b11:=x0b12-4-a1=3x2+1=6+1=7 b1,0:= x0b11 +a0 =(3x 7)-3 = 21-3 =18 This calculation, in which the coefficients {110,b11,b12}can be seen in the second dotted box in FIG. 3.
According to Homer's scheme, P(3) = b10 = 18. This can be verified from the original polynomial as P(3) = 2 x (3)2 + 1 x 3-3 = 2 x 9 + 3-3 = 18.
The Homer coefficients {b0,b11,b12}are also useful for performing polynomial long division, which is often referred to as "synthetic division".
-12 -Any polynomial P(x)can be divided by a non-zero polynomial g(x) such that: P(x) r(x) -q(x)+--, where degr(x)<degg(x).
g(x) g(x) In this expression, g(x) is referred to as the "divisor", q(x) is referred to as the "quotient" and r(x)as the "remainder".
The above expression can be trivially rewritten as: P(x)= q(x).g(x)+ r(x) To divide P(x)by a linear binomal (i.e. a first-order polynomial) in the form g(x) = x -x0, we have from above that: P(x)= q(x).(x-x)+ r(x) The special case of polynomial division by a linear binomial is known as Ruffini's Rule, which is named after the Italian mathematician Paolo Ruffini who described it in 1809, ten years before Homer's Scheme was described in 1819.
Since deg r(x) < deg g(x), and we know that deg g(x) = deg(x -x0) = 1, we have that deg r(x) <1 deg r(x)= 0 r(x) r, i.e. the remainder is a constant.
According to Homer's Scheme, P(x0)=b10for any polynomial. Since: P(x0)=q(x0).(x0-x0)÷r =q(x0).0+r=r g(xo) P(x0)= r b10 -13 -Thus, the remainderrof long polynomial division is equal to the final first-row Homer Coefficient b10. Alternatively, we can say that the value of P(x)atx = x0 is equal to the remainderr = k0whenP(x)is divided byx-x0. This is known as the Polynomial Remainder Theorem.
Furthermore, if P(x)is an nthdegree polynomial in the form P(x)= af + + ... + a1x + a0, then q(x) will be an n1thdegree polynomial in the form: q(x) = c_1x" + c,,2x"2 +... + c1x + c0 From the above, we have that: P(x)= q(x).(x-x0)+ r + ... + a1x + a0 = + c 2x2 + ... + c1x + c0)(x-x0)+ r =P(x) =q(x) =g(x) = + -c_1x0]x' + ... + -cixolx + [r -c0x0] Equating coefficients gives: -3 a = c1 c,,1 x' -3 c,,_2 -c,,_1x0 c,2 a,,1 + c,_1x0 x' -3 a1 C0 -C1; = C1 = a1 +c1x0 -3 a = r -C0; = r = a0 + c0x0 However, according to Homer's Scheme, we know that: -14 -b1,, := a b1,1:= a1 + b1,x0 : a1 + b1,2x0 := a0 + b11x0 Substituting this into the equated coefficients above: x' -* c,,1 a =: b1 x -3 c2 = a + a1 + bx0 =: x'-c0=a1+c1x0=a1+b12x0=:b11 =b2 x° -r = a0 + c0 x0 = a1 + =: =b11 Returning back to the initial definition of the quotientq(x) and using this correspondence between the coefficients {c, } of the quotient q(x) with the first row Homer coefficients {b1}, we have that: q(x) = c_1x + c_2x2 +... + c2x + = + + + b12x + This finally gives that: P(x) = (b1x'' + b_1x2 + .. + b12x + b11). (x -x0) + b1,0 r In summary, long polynomial division of an nthdegree polynomial function P(x)by a linear polynomial divisorg(x)in the form g(x)=x-x0gives an n1thdegree polynomial -15 -quotient q(x) having Homer's coefficients {b1,...,b1 jas its coefficients {c 1,...c0}with a constant remainderr equal to the lowest-order first stage Homer coefficientk0divided by the divisorg(x).
By way of a numerical example, to divide a second-degree polynomial P(x) = + by a linear polynomial g(x) = x -, we know that: P(x) r / \ "10 18 ( \ = q(x)+-7---=b12x+b11)+ =(2x+7)+ gX) gxj x-3j x-3 Thus, 2x2+lx-3, 18 x-3 (x-3) Long polynomial division in the above numerical example can be performed "by hand" in the following elementary manner by way of a comparison: 2x+7 (x_3))2x2+Ix_3 2x2 -6x +7x-3 + 7x -21 +18 Homer's Scheme clearly also gives a method for factorising P(x)byg(x)= (x -x0)since: P(x)=q(x).g(x)+r In this numerical example, we, therefore, have that: -16 -q(x).g(x)+r=(2x+7x_3)+18=(2x2 -6x+7x-21)+18 = 2x2 + x -3= P(x) Given a general third-order polynomial (for simplicity) P(x) a3x3 + a2x2 + a1x + a0, we can populate a table for use under Homer's Scheme as follows: Zeroth Homer a3 a2 a1 a0 Stage Multiplication x0b13 x0b12 x0b1,1 by; -+ First Homer = a3 b12 a2 + x0b13 b1 = a1 + x0b1,2 b10 a0 + x0b11 Stage Multiplication x0b23 x0b22 byx0 -* Second Homer b2,3 = b13 b22 b12 + x0b23 b21 b11 + x0b22 Stage Multiplication x0b33 byx0 -f Third Homer b3,3 = b32 b22 + x0b33 Stage To define the Homer coefficients: -17 -b13:= a3 b1,2:= a2 + x0b13 b1,1:= a1 + x0b12 := a0 + b23:= b13 b22:= b12 + x0b23 b21:= b1 + x0b22 3,3 2,3 b32 b22 + x0b33 We know from the above, that we can write P(x)-_q1(x).(x-x0)+r1, where: q1 (x) b13x2 + b12x + b, and j However, q1(x) can also be factorised under Homer's Scheme as follows: q1(x)=b13x2 +b12x+b11 =q2(x).(x-x0)+r2, where: q1(x)=(d1x+d0x_x0)+r2=[d1]x2+{d0_d1x0Jx+[r2_d0x0] q2(x) Equating coefficients gives: -b13 = d1 = d1 = b2,3 =:b23 x -b12 d0 -d1 x0 d0 b1,2 + b23x0 d0 = b2,2 b23 -= r2 -d0 x0 = = b11 + b22x0 => r2 = b -18 -Thus, it can be seen that the second polynomialq2(x)also has the Homer Coefficients as its coefficients and that the remainder of the polynomial factorisation is the lowest-order Homer coefficient on the second Homer row, b21: q1(x)= (b23x + b2 2Xx -x0)÷ b21 In the final step of the Homer Scheme, the first-order monomialq2(x)is factorised again: q2(x)=b23x+b22 =q3(x).(x-x0)+r3,where: q2(x)= (e0)(x-x0)+i =[e0}x+k-e0x0] 3(X) Equating coefficients gives: x -+ b = e0 b33 x° -* b22 = -e0 x0 = = b22 +b33x0 = = b33 =:b32 Thus, it can be seen that the third polynomial q3(x) also has a Homer coefficients as its constant term and that the remainder of the polynomial factorisation is the lowest-order Homer coefficient b3,2: q1(x)=(b33x-x0)+b32 =q3(x) From above, we have that: P(x)=bx2+b12x+b11.(x-x0)+b.
q1(x) g x) , -19 -Dividing both sides byg(x)= (x-x0)gives: P(x) (b13x2 + b12x + )+ k,0 (x-x0) (x-x0) Dividing both sides again byg(x)= (x-x0)gives: P(x) -b13x2 + b12x + b11 + b10 (x -x0)2 -( -x0) (x -x0)2 However, we have from above that: q1(x)-_ b13x2 +b12x+b11 = q2(x).(x-x0)+r =(b23x+b22).(x-x0)+b q2(x) r2 b13x2+k2x+b1, / b23x+b22)+1 X-X0) X-X0 Substituting this into the earlier expression for P(x) 2 we have that: (x -xo) P(x) -b13x2 + b12x + b11 b10 -b b21 b10 I \2 -f + f \2 -k 23X+ 2,21+ 1 + / X-X0) X-X0) x-x0) ,X-X0) ,X-X0) Dividing both sides again byg(x)= (x-x0)gives: P(x) -b23x + b22 + b2,1 + (x -x0)3 -(x -x0) (x -x0)2 ( -x0)3 However, we have from above that: -20 - = q3(x).(x-x0)+i =(b33Xx-xo)+b q3(x) r3 b2,3x + b2,2 b32 ( x-xo) tx-xo Substituting this into the earlier expression for P(x) , we have that: (x - ) P(x) -b23x + b22 b21 b1,0 -b b32 b21 b10 3 + 2+ -33+( 2 3 (x-x0) (x-x0 (x-x0) (x-x0 x-x0) (x-x0) (x-x0) It will also be seen that multiplying both sides of this equation by(x-x0)3 gives: P(x)=b33(x-x0+b32(x--x0)2+b21(x-x0)+b10.
This factorisation of P(x)can be used to find the derivative P'(x0)of P(x)atx x0as follows: P(x)= b33(x-x0)3 +b3,2(x-x0)2 +b21(x-x0)+b10 = P(x0)= b3,3(x0-x0)3 +b32(x0-x0)2 +b21(x0-x0)+b10 = b1,0 -+ P'(x)= 3b33(x-x0)2 +2b32(x-x0)+b21 P'(x) = 3b33 (x0-x0)2 + 2b32 (x0-x0) + b21 = -P(x)= 6b33(x-x0)+ 2b32 7(x0) = 6b3,3 (x0-x0) + 2b32 7(x0) = -* 7(x) 6b33 = Pm(xo)= 6b33 pm(XO)b -21 -
In summary, in the case of a third-order
polynomial P(x) = a3x3 + a2x2 + a1x + a0 (which can be extended for larger-order polynomials): Polynomial Factorisation 1 P(x) = (b13x2 +b2x+b11(x-x0)+b q1(x) = (b23x+b22Xx-x0)+b (-0)+ b10 q2(x) = q3(x) r2 Polynomial Factorisation 2 P(x)=b33(x-x0+b32(x-x0)2+b21(x-x0)+b10 Polynomial Division P(x) =(b3x2 +b12x+b11)+ b (x-x0) -(x-x0) q1(x) r2 P(x) 2 =(b23x+b22)+ + 2 (x-x0) ----(x-x0) (x-x0) q(x) r3 P(x) -b33 + + b21 2 + (x-x) (x-xo) (x-x) (x-xo) Derivatives -22 -P(x0)= b1,0 P'(x0)= b21 P"(xo)b 2 3,2 P'"(x0) -b Taylor Series The Taylor Series of a mathematical function f(x) is a representation of that function as a sum of terms which include derivativesf(x),f(x),. . .,f(x)of that function at a particular pointx = x0. It is named after the British mathematician Brook Taylor who described a general method for constructing such a series in 1715 some hundred years before Homer's Scheme was described in 1819. The problem of finding a finite sum of an infinite series had, however, been considered for many centuries before Taylor published his general method. A special case of the Taylor Series is the Maclaurin series, named after the British mathematician Cohn Maclaurin which also dates from the eighteenth century.
If the function is a polynomial of the form P(x)= a1x' = a0 + a1x + ... + af, then the Taylor Series ofP(x)aboutx0 =Ocan be found as follows: P(x)=a0+a1x+...+af P(O)=a0+a1O+...+aO'=a0 Thus, a0 =(o).
P'(x) = 1a1 + 2a2x... + nax' P'(0)= Ia1 +2a20...+naO" =1a1 -23 -Thus, a1 = P(x)= 2x1a2 +3x2a3x...+n(n_1)ax2 p"(o)= 2 x hi2 + 3 x 2a30... + n( -i)a02 = 2 x hi2 Thus, a2 = 2x1 P(x) = -lXn -2)... (1)a0 iP"(O)=n(n-1Xn-2)...(1)a0 -n!a0 p(n) (o) Thus, a0 = n! Thus, the polynomial can be rewritten as: (o) (o) 2 p(n)(o) P(x)=a0-i-a1x+...+ax =(o)+ x +...+ x 1! 2! n! 00.-__v----' a1 a, a,, This series is referred to as the Maclaurin Series, which is the special instance of the Taylor Series when x0 = 0.
It can be shown that, for any x0: p,( P(x)=P(x0)+ Xo)()+ X0)()2 1! 2! This is referred to as the Taylor Series ofP(x)aboutx0.
-24 -The above can be verified using an exemplary polynomial: P(x) = 2x2 + lx -3.
Forx0 = O(Maclaurin Series): P(x)=2x2 +lx-3 P'(x)=4x+1 P(O)=2x02 +lxO-3=-3 P'(0)=4x0+1=l P"(O)=4 Thus: (o) (o) pM(�) 2 -3 1 4 2 x+ x =-+-x+-x 0! 1! 2! 1 1 2 =2x2 +lx-3 For; = 3 (Taylor Series): P(x) 2x2 + lx -3 P'(x) 4x +1 P"(x) =4 P(3)= 2x32 +1x3-3 = 18 P'(3)=4x3+1 =13 P"(3)= 4 Thus: P(x)-_--()+ (-3)+ P"(3)(3)2 =l8+(x_3)+.(x_3)2 =18+13x_39+2(x2 _6x+9)=2x2 +(13-2x6)x+(18--39+2x9) =2x2 +lx-3 FIG. 3 also shows how successive stages of Homer's Scheme can be used to find the th Taylor Coefficient The value obtained at the final step of each level of stage of Homer's Scheme gives the corresponding Taylor Coefficient. In general, -25 -b = P(x0) In the above example, it can be seen thatb10 = = 18, _____ pt'3' b2= kI=l3andthatb32= k1=2. 1! 2!
The Taylor Series expansion of one special factorised polynomial is of particular interest. A Taylor Series expansion of the function P(x) = (i + can be found as follows: P(x) = (i + =P(o)=(1+o) =i' =i Thus, P(O)= 1.
P'(x) = n(1 + =P'(0)=n(1+O)'' =nl"' =n Thus,P'(O)=n.
P"(x) = n(n -1X1 + = n(n -1X1 + = -iXi)"2 = n(n -i) Thus, "(o) -i).
P(x) = n(n -i). . .(1X1 + p(n)() = -1).. .(iXi + -i). . .(iXi)° = n(n -i). . .(i) Thus, p(n)() = n!.
Thus, the Taylor (Maclaurin) Series expansion for P(x)is: -26 -p'(\ P0I'& ______ P(x)=a0+a1x+...+af=P(O)+ 1x+ " )x2+...+ i-' 1! 2! 0 -v-_I n n(n-1) 2 n! a x +...+ x +...+-x 1! 2! (n-i)i! The form of the i° coefficient, may already be familiar to the reader who is (z -familiar with Pascal's Triangle.
Pascal's Triangle FIG. 4 shows an extract of the first eight rows of Pascal's Triangle. Pascal's Triangle is named after the French mathematician Blaise Pascal who described it in 1653. However, it was also known to mathematicians in India, Persia, China and Italy hundreds, and even thousands, of years earlier arid goes by different names throughout the world.
The first row of Pascal's Triangle is usually called the zeroth (as opposed to the first) row. Pascal's Triangle is well-known and so a detailed description is omitted.
According to the Binomial Theorem, Pascal's Triangle can be used to find the binomial coefficients {a0,...a)of a binomial expansion of: (x + = a1x'y = a0f + a1xy + ... + + It can be shown that(x + y)0 (Jx"_ii, where = [I) = i!(n-i)! -27 -The binomial coefficients can be found either by using the above factorial calculation or from inspecting the jth value on the nth row of Pascal's triangle.
Thus, for(x+y)5: (C\ I \5 II s_u sx+y)= 1.1x y 1=0 = (5Jxsoyo + (Jxsyi +(5)x5-2? + (5Jx5-33 +(Jx5y + (5Jxsss 5! = xs+ xy+ xy+ xy+ ;y+ y O!(5-O)! 1!(5-1)! 2!(5-2)! 3!(5-3)! 4!(5-4)! 5!(5-5)! 5! 5! 5! 3 2 5! 2 3 5! 5! =-x +-xy+----xy +-xy +-xy +-y 5! 4! 2!3! 3!2! 4! 5! = 1x5 + x4y + + Ox2y3 + xy4 + As explained above, the values {a0,...,a5}can, as an alternative to the factorial method of calculation above, be obtained by reading-off the value directly from Pascal's Triangle. Since Pascal's Triangle is widely available, the look-up approach can be significantly quicker than calculating each of the values {a0,. . .,a5} using factorials. This is particularly true for large values of n and i.
In addition to providing the value of an associated binomial coefficient, In") ______ a, = I I = also indicates the number of ways of selecting a number, i, of j) i!(n-i)! elements from a set containing n elements, where any particular element can only be selected once and where the order of the selected elements does not matter. This is often called the number of combinations uwithout repetition". For example, this could be used to find the number of different possible ways of winning a lottery, where the lottery -28 -balls are not replaced after they are drawn and the particular order of the lottery balls does not matter; only the specific numbers on the drawn balls matters.
By way of an example, supposing one had a bag with six balls in it: one green (G), one black (B), one white (W), one red (R), one yellow (Y) and one orange (0).
Firstly, to calculate the number of different permutations of balls (i.e. where the order of the balls does matter) you could select by taking three successive balls from the bag but replacing the drawn ball on each occasion (to allow repetition), you would have a choice of any one of six balls in the bag for the first pick, then any one of the six original balls for the second pick and, again, any one of the six original balls for the third and final pick. Thus, you would have 6 x 6 x 6 = 6 possible permutations if the selected ball were replaced after each draw. It is clear that the number of permutations of I elements from an n -element set where repetition is allowed is: n'.
Secondly, to calculate the number of different permutations of balls (i.e. where the order of the balls does matter) you could select by taking three successive balls from the bag without replacing the ones that have been taken, you would have a choice of any one of six balls in the bag for the first pick, then any one of the five remaining balls for the second pick and any one of the four remaining balls for the third and final pick.
Thus, you would have 6 x 5 x 4 = 120 different permutations of three balls from the six-ball bag. It will readily be seen that the number of permutations of ielements from a set of n elements without replacement (without repetition) is: P(n,i)= n! (n-i)! -29 -However, if the order of the balls is unimportant (i.e. moving from permutations to combinations), then, for example, in selecting the green, black and white balls, {G, B, w}, {G, W, B}, {B, G, w}, {B, W, G}, {w,G, B}and {w, B,G}are all equivalent to {G, B, w}. It will, thus, be seen that the number of combinations decreases by a factor of i!so that the number of combinations without repetition of ielements from ann -element set is: C(n,i)= i!(n'-i)! In the above example, the number of combinations without repetition can be read-off from Pascal's Triangle (in fact, the fourth value on the seventh row) or can be calculated using the factorial formula as: c(6,3) = 16 6! = 6 x 5 x 3) 3!(3)! 3x2x1 There are many known methods of data modification that employ mathematical techniques such as those described above. A subset of these methods is data compression: reducing the size of data.
FIG. 5 shows various known techniques for a type of data compression called "lossless" data compression. Lossless data compression is a form of compression in which the data is compressed according to an algorithm which preserves all of the original data. In other words, it enables the compressed data to be decompressed back to its original form without any loss of information. A familiar example of lossless data compression is a "zipped" computer file which can be "unzipped" to recreate the original file.
-30 -In contrast, an example of so-called "lossy" data compression is compression of a WAV audio file into an MP3 audio file. This is because some of the data in the WAV file (lying outside the human audible range) is intentionally removed during the compression into MP3 format.
There are three main types of lossless data compression: entropy encoding, dictionary-based algorithms and heuristic reduction of entropy.
In entropy encoding, a codeword is assigned to each symbol in the data to be compressed. The more common the symbol, the shorter the codeword. Examples of entropy encoding are Arithmetic and Adaptive Arithmetic Encoding, Huffman Encoding (one-pass and two-pass), and Universal Code. An example of a dictionary-based algorithm is Lempel-Ziv 77/78. Examples of heuristic reduction of entropy encoding are the Burrows-Wheeler Transform, Move-To-Front and Prediction by Partial Matching.
Another known compression technique is Run-Length Encoding ("RLE"). RLE relies upon adjacent symbol or character repetitions in data. By way of an example, the first line of a 16x16 pixel icon, in which each pixel is either black (B) or white (W) could be BBBWBBWWWWWBBBBB. This can be compressed under the RLE technique as [3JBW[2]B[5]W[5]B, where the number in parentheses indicates the number of repetitions of the following symbol. An alternative data sequence such as BWBWBWBWBWBWBWBW cannot be compressed using RLE since there are no adjacent repetitions of individual symbols.
Current encoding techniques suffer from various drawbacks including the maximum amount of compression obtainable under the techniques, different rates of -31 -data compression for different input data types and a possible lack of security in relation to the compressed data.
The present invention is set against this backdrop.
STATEMENTS OF INVENTION
According to a first aspect of the invention, there is provided a method of decompressing a compressed data sequence, comprising providing an index indicating the level of compression of the compressed data sequence relative to an initial data sequence, and non-entropically decompressing the compressed data sequence by applying the index to the compressed data sequence to obtain the initial data sequence.
Unlike standard decompression that is based on an entropic analysis of the source data, non-entropic decompression under the PIAT Protocol operates directiy on the compressed data. The PIAT Protocol provides various advantages over conventional encoding and decoding techniques, such as lossless data compression, on-the-fly data processing, insensitivity to the particular type of input data (exe, txt, jpg, ...), a once-compressed data stream is further compressible as many times as necessary in a cyclic manner.
According to a second aspect of the invention, there is provided a method of decompressing a compressed data sequence, comprising providing an index indicating the level of compression of the compressed data sequence relative to an initial data sequence, the index being separable from the compressed data sequence, and decompressing the compressed data sequence by applying the index to the compressed data sequence to obtain the initial data sequence.
-32 -The PIAT Protocol provides various advantages over conventional decoding techniques, such as lossless data compression, on-the-fly data processing, insensitivity to the particular type of input data (exe, txt, jpg, ...), a once-compressed data stream is further compressible as many times as necessary in a cyclic manner and secure encryption and decryption via compression and decompression since the index is separable from the compressed data and serves as a decryption key.
Decompression may comprise dividing the compressed data sequence into an ordered set of coefficients, each coefficient being a sub-sequence of the compressed data sequence, increasing the magnitude of at least some of the coefficients to provide an increased ordered set of coefficients, the increased ordered set of coefficients defining the initial data sequence.
The compressed data sequence can be optimised, for example according to an optimisation heuristic so give the best possible decompression under the PIAT Protocol.
Dividing the compressed data sequence into a set of coefficients is a particularly advantageous method of optimising the compressed data. For example, it makes it suitable for polynomial treatment which is an efficient basis for data decompression under the PIAT Protocol. By increasing the magnitude of the coefficients in the ordered sets, the overall size of the data is increased, i.e. the data is decompressed.
The value of the index may be equal to the value of the division of, as numerator, the difference between the value of the second-smallest coefficient in the increased ordered set, and the value of the second-smallest coefficient in the increased ordered set modulo the value of smallest coefficient in the increased ordered set, and, as denominator, the value of smallest coefficient in the increased ordered set.
-33 -This provides an advantageous method of determining the value of the index, which is used to recreate the initial data sequence from the compressed data sequence, using the coefficients related to the input data sequence.
Decompression may comprise a coefficient-increasing cycle of providing the first coefficient in the increased ordered set with the same value as the first coefficient in the ordered set, adding a multiple of the first coefficient in the increased ordered set to the second coefficient in the ordered set to provide the second coefficient in the increased ordered set, the second coefficient in the increased ordered set being larger then the first coefficient in the increased ordered set and adding a multiple of an ilth coefficient in the increased ordered set to the ith coefficient in the ordered set to provide the ith coefficient in the increased ordered set for all other coefficients in the ordered set, the i coefficient in the increased ordered set being larger than the ilth coefficient in the increased ordered on each occasion.
This provides a highly structured and reversible method for decompressing an initial data sequence into a decompressed data sequence.
Decompression may comprise multiple coefficient-increasing cycles, the magnitude of at least some of the coefficients being increased during each cycle.
Multiple cycles of the highly structured and reversible method can be effected to give increasing decompression rates with each cycle. The number of cycles can be chosen in an appropriate manner given the object of the decompression (e.g. time versus compression rate) and until the correct initial data is obtained. 34 -
The value of the multiple may be unity and the ordered set of coefficients and the increased ordered set of coefficients may each comprise only two ordered coefficients.
These particular values of the multiple and of the coefficients give the optimum processing system under the PIAT Protocol at least in terms of the index and a simplified optimisation heuristic.
Decompression may comprise calculating the increased ordered set of coefficients directly from the ordered set of coefficients and using values located in the Carré de PIAT (CdP).
Direct calculation of the increased coefficients can reduce the overall number of calculations required to achieve optimum data decompression under the PIAT Protocol.
The method may comprise receiving the compressed data sequence and/or the index from a communications network or retrieving the compressed data sequence and/or the index from a memory. Preferably, the method comprises receiving or retrieving the index separately from the compressed data.
The PIAT Protocol is particularly suited to processing such data sequences as would be used within a communications network or stored in memory. Separating the index from the compressed data increases the overall security of the compressed data.
The method may comprise transmitting the decompressed initial data sequence to a communications network or storing the decompressed initial data sequence in a memory.
-35 -The PIAT Protocol is particularly suited to processing such data sequences as would be used within a communications network or stored in memory.
The compressed and decompressed initial data sequences may be binary data sequences.
The PIAT Protocol is insensitive to the type of input data, but operates directly on binary data sequences which are typically used in computer hardware.
The index may be compressed, and the method may further comprise decompressing the index, preferably using entropy decoding or decompression under the PIAT Protocol.
The index can be compressed whether to reduce the overali size of data compressed under the PIAT Protocol or to increase the security of the compressed data sequence.
According to a third aspect of the invention, there is provided a computer program comprising computer-readable instructions which, when executed, cause a data-processing apparatus to perform such methods. A computer-readable medium or signal may comprise the computer program.
According to a fourth aspect of the invention, there is provided an apparatus arranged to decompress a compressed data sequence, comprising a processor arranged to provide an index indicating the level of compression of the compressed data sequence relative to an initial data sequence and non-entropically decompress the -36 -compressed data sequence by applying the index to the compressed data sequence to obtain the initial data sequence.
According to a fifth aspect of the invention, there is provided an apparatus arranged to decompress a compressed data sequence, comprising a processor arranged to provide an index indicating the level of compression of the compressed data sequence relative to an initial data sequence, the index being separable from the compressed data sequence and decompress the compressed data sequence by applying the index to the compressed data sequence to obtain the initial data sequence.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will now be described, by way of example only, with reference to the accompanying drawings, in which: FIG. 1 shows the initial step of Homer's Scheme; FIG. 2 shows the Newton-Raphson method; FIG. 3 shows an example of how Homer's Scheme can be used to find the Taylor coefficients; FIG. 4 shows an extract of the first eight rows of Pascal's Triangle; FIG. 5 shows various conventional methods of lossless data compression; FIG. 6 shows the Protocol Stacks under the TCT/lP and OSI models; FIG. 7 shows data encapsulation under the TCP/IP Protocol; FIG. 8 shows an IP datagram having a packet header and a data payload; FIG. 9 shows a PIAT router configured to operate under the PIAT Protocol; FIG. 10 shows an IP datagram having a data payload subject to cyclic PIAT compression and decompression; FIG. 11 shows an overview of a communications network operating under the PIAT Protocol; -37 -FIG. 12 shows the PIAT Algorithm for a polynomial P(x); FIG. 13 shows a numerical example of the PIAT Algorithm; FIG. 14 shows the Inverse PIAT Algorithm; FIG. 15 shows the PIAT Method; FIG. 16 shows the Inverse PIAT Method; FIG. 17 shows the Extended PIAT Method; FIG. 18 shows the Inverse Extended PIAT Method; FIG. 19 shows further rows of the Extended PIAT Method to give the same results as the PIAT Algorithm; FIGs. 20A, B and C show numerical examples of the PIAT Algorithm, the PIAT Method and the Inverse (Extended) PIAT Method for; 1; FIGs. 21A, B and C show numerical examples of the PIAT Algorithm, the PIAT Method and the Inverse (Extended) PIAT Method for; 2; FIG. 22 shows a binary and decimal representation of a data sequence; FIG. 23 shows a PIAT polynomial tree for compressing a data sequence; FIG. 24 shows a numerical example of polynomial reduction under the Inverse PIAT Method; FIG. 25 shows a numerical example of polynomial expansion under the PIAT Method; FIG. 26 shows a numerical example of polynomial reduction/expansion under the PIAT Protocol; FIG. 27 shows how the PIAT Algorithm can be used to construct the one-dimensional CdP, CdP1; FIG. 28 shows numerically how to populate the CdP1 using the PIAT Method; FIG. 29 shows the mapping between the Carré de PIAT (CdP) and Pascal's Triangle; -38 -FIG. 30 shows an extract from the 1-dimensional CdP, denoted CdP1; FIG. 31 shows a numerical example of calculating a value in the CdP1; FIG. 32 shows a numerical example of mapping the CdP1 onto the CdP; FIG. 33 shows how the PIAT Algorithm can be used to construct the dimensional CdP, CdP; FIG. 34 shows an extract from the 2-dimensional Carré de PIAT, denoted CdP2; FIG. 35 shows an extract from the 3-dimensional Carré de PIAT, denoted CdP3; FIGs. 36A and 36B show a detailed numerical example of jumping from an initial PIAT Polynomial to the 200,000th associated Perfect PIAT polynomial; FIG. 37 shows a numerical example of reduction under the Inverse PIAT Method; FIG. 38 shows another numerical example of reduction under the Inverse PIAT Method subject to index correction; FIG. 39 shows the PIAT optimisation heuristic; FIG. 40 shows an overview of data compression under the PIAT Protocol; FIG. 41 shows an overview of data decompression under the PIAT Protocol; FIG. 42 shows compression and decompression of an index under the PIAT Protocol; FIG. 43 shows the different rates of data compression under PIAT, Huffman and RLE compression schemes; FIG. 44 shows a numerical example of Euclidean polynomial division; FIG. 45 shows a method of how to calculate P(X)at a pointx0; FIG. 46 shows a numerical example of how to calculate the value of a polynomial (x) at a point x0; FIG. 47 shows the PIAT Classification Space forx0 = ifor the numbers between 0 and 109; -39 -FIG. 48 shows the PIAT Classification Space forx0 = I for the numbers between 0 and 299; FIG. 49 shows a graph of certain polynomials associated with the PIAT Classification Space for; = 1; FIG. 50 shows the PIAT Classification Space forx0 2for the numbers between 0 and 299; FIG. 51 shows a graph of certain polynomials associated with the PIAT Classification Space for; = 2; FIG. 52 shows a series of perfect couples as part of the PIAT Classification Space; FIG. 53 shows mapping and composite mapping functions within the PIAT Classification Space FIG. 54 shows an 8-bit PIAT classification space; FIG. 55 shows a 16-bit PIAT classification space; FIG. 56 shows the mathematical perimeter in relation to the PIAT Protocol; FIG. 57 shows various mathematical consequences under the PIAT Protocoi; FIG. 58 shows the Restricted CdP, denoted CRdP; FIG. 59 shows numerical examples of calculations in relation to the CRdP; FIG. 60 shows the PIAT Triangle (TdP) and the Complementary PIAT Triangle (ThTdP); FIG. 61 shows a numerical calculation in relation to the hypotenuse of the TdP; FIG. 62 shows a system for cyclic PIAT encryption; FIG. 63 shows an extract from the CdP1 identifying the intersections of PIAT Triangles associated with prime numbers; FIG. 64 shows the PIAT Diagonal (DdP); FIG. 65 shows how the sequence of prime numbers can be determined using the CdP1; -40 -FIG. 66 shows the algorithm for the sequence of prime numbers; FIG. 67 shows the General and Restricted Criterion of Primality; F1G. 68 shows the Rights of Primality DdPM; and FIG. 69 shows a summary of the remarkable properties of the CdP.
DETAILED DESCRIPTION
Data processing according to the PIAT Protocol will now be explained.
FIG. 6 shows the four-layer TCP/IP architecture model and how it corresponds to the seven-layer OSI model. Two layers of particular interest in relation to the present invention are the Application and Internet layers.
The Application layer, implemented in layer 7 of the TCP/IP model, defines how applications can exchange data with each other and how they can access the services of other layers. The Internet layer, implemented in layer 3 of the TCP/IP model, is responsible for addressing, packaging, and routing functions.
FIG. 7 shows data encapsulation according to the TCP/IP Protocol.
Data is transmitted according to the TCP/IP Protocol as packets of information; the packets having a header and a data or payload component. If one System, A, wishes to send data to another system, B, via the TCP/IP Protocol, the data passes through all seven layers of the TCP/IP Protocol Stack at both systems. At the sending system, system A, the data is formatted in the Application layer, layer 7, so that the Transport layer can handle the data. The Transport layer encapsulates the data and modifies the packet header so that the Internet layer, layer 3, can handle the data. This process -41 -continues until the data has passed through the TCP/IP Protocol Stack to the Physical Network layer, layer 1.
The data is then transferred via a communications network to the other system, System B. System B then reverses the encapsulation by passing the received encapsulated data through the layers of the TCP/IP Protocol Stack in the reverse order until it finally receives the original data in the Application layer, layer 7.
FIG. 8 shows the various fields of the header of an IP Datagram. The IP Datagram also includes a data component which does not form part of the header. As will be explained below, the data component can be compressed and encrypted according to the PIAT Protocol.
FIG. 9 shows a router 90 which operates under the PIAT Protocol. The router is similar to conventional routers but it also includes PIAT processors 91 which allow the router to operate under the PIAT Protocol. When data is received via an input port 92, it is modified by a PIAT processor; for example, either by way of compression or decompression. The modified data is then output via output ports 93. The router operates under the control of a processor 94 and can include a memory 95 which can store a computer-program 96 for performing operations under the PIAT Protocol. A switch fabric 97 allows routing of data packets within the router 90.
FIG. 10 shows a datagram under the PIAT Protocol, in which the data field of any IP datagram sent to a router undergoes a mathematical reduction in size (compression) via the PIAT processor. The compression is independent of the format of the data (exe, bin, txt, 1mg, -) being compressed. Unlike current techniques, compression according to the PIAT Protocol does not depend upon entropic factors. Furthermore, in contrast to -42 -known compression techniques, PIAT Compression can be performed multiple times to reduce the size of the data continuously in a cyclic manner. The router reduces the size of the data field each time it undergoes a cycle of PIAT Compression.
Furthermore, under the PIAT Protocol the data field is encrypted simultaneously with the reduction in size. This is because both the compressed data and an associated index indicating the level of compression are needed to decompress the compressed data and neither the compressed data nor the associated index individually resembles the original data. The original information in the data field is not accessible in plaintext by an unauthorised third party, such as an operator or a service provider, who does not also have the index.
These compression/decompression and encryption/decryption operations under the PIAT Protocol are possible in layer 3 and above.
FIG. 11 shows a possible network architecture 110 which implements the PIAT Protocol.
PIAT routers 111 in the network architecture 110 include PIAT processors (not visible), as discussed above, so that data transmitted within the network 112 is processed according to the PIAT Protocol. This means that the data within the network undergoes simultaneous compression and encryption, and simultaneous decompression and decryption under the PIAT Protocol.
Although the invention lies in the field of improved data processing techniques and the associated hardware, an explanation of the mathematics that led to the advantages realised by the invention is necessary to enable its understanding. Throughout the text -43 -below, various new terms will be introduced in French, since these are the terms originally used by the inventors.
The Algorithme do P/AT (AdP) The Algorithme de PIAT (PIAT Algorithm), denoted herein as AdP, takes its name from a portmanteau of the inventors' surnames: (Pl)not and (AT)tia. The AdP unifies the inventors' developments and represents a starting point for understanding the present invention.
In general terms, the PIAT Algorithm is an algorithm for finding and manipulating coefficients of polynomials. It starts with any initial polynomial P(X)0 of degreec and governs the generation of an infinite sequence of Associated PIAT Polynomials of increasing degree where each Associated PIAT Polynomial P(X),. is of degree 2'c such that: P(X)0 = acXc + + ... + aX + a0 P(X)1 =X2 +...÷b1X+b0 where (a1,b1,...,2,)N P(X)r=2rX2'C+...2iX+20 The initial PIAT polynomial P(X)0 will often be referred to herein as the "Generator PIAT Polynomial" and individual Associated PIAT Polynomials P(X)1,. **,P(X)r will often be referred to herein as "Perfect PIAT Polynomials".
FIG. 12 shows the PIAT Algorithm.
-44 -The PIAT Algorithm starts with an Initial or Generator polynomial: P(X)0 = acXc + a1X' + ... + aX + a0.
The initial coefficients {a,. . . ,a} are arranged in an ordered set and are used as an input into the PIAT Algorithm. The initial coefficients {a,...,a0}are arranged in a row in degree-order, where the highest-order coefficient (the leading" coefficient) a is in the leftmost column (column zero) of the row. The lowest-order coefficient (the constant term) a0 is in the rightmost column (column c) of the row. The rows referred to in relation to the PIAT Algorithm are denoted as p4 and the columns referred to in relation to the PIAT Algorithm are denoted asyPA.
Arranging the coefficients (ar,. . . ,a0}in this manner on the zeroth row pp4 = 0 of the PIAT Algorithm is, in effect, the zeroth step of the PIAT Algorithm. This step is identical to the first step of Homer's Scheme which has been discussed extensively above and can be seen in FIG. 1.
In the first step of the PIAT Algorithm and with reference again to FIG. 12, the entire set of coefficients {a,.. * , a0) is multiplied by a value x0 and is shifted to the right directly below the initial arrangement in the zeroth row p4 = 0 to provide the first rowp4 = 1 of the PIAT Algorithm. Thus, in the first rowp4 = lof the PIAT Algorithm, none of the initial coefficients lies directly below the highest-order coefficient a of the zeroth rowp,, = 0. In other words, the zeroth column = Oaf the first row pp4 = us empty.
-45 -Below the second-highest-order coefficient a_1 in the zeroth row PPA = 0, lies ax0.
Below the lowest-order coefficient a0 in the zeroth row p4 = 0, lies a1x0. The lowest-order coefficient a0x0 in the first row p =1, which is in column y,,4 = c +1, does not lie below any coefficient {a,. . . , a0} from the zeroth row PPA = 0.
This shifting process is repeated a total number of c times (cbeing the degree of the polynomial), each time multiplying all of the coefficients by x0 when moving to the immediately lower rowpPA - + land also shifting the resultant set of multiplied coefficients one column to the right + 1. This results in a total number of c rows of shifted coefficients under one complete shifting-multiplication cycle of the PIAT Algorithm, i.e. so that PPA = c.
On the final row = c, the highest-order coefficient acxoc lies in column YPA = ca total number of c rows below the lowest-order coefficient a0 in the zeroth rowpPA = 0.
The lowest-order coefficient aoxoC on the final row PPA = c lies in column YPA = 2c, and has no coefficients above it in any of the preceding rows PPA = 0,1,... , c -1.
At this stage the full set of shifted coefficients span a total of pp4 = crows and y = 2c +1 columns under the PIAT Algorithm.
After the total number of c steps of the PIAT Algorithm have been effected and the shifting-multiplication cycle is complete, all of the values in the zeroth column YPA = 0 from the zeroth row = 0 to the c row care added together to give the highest-order coefficientb2in the second set of coefficients {b2,...b0}.
-46 -This is repeated for the first column y,,4 I so that all of the coefficients in the first column y = 1 from the zeroth row p,, = 0 to the cth row PPA = care added together to give the second highest-order coefficient b21 in the second set of coefficients {b2,...b0}.
The lowest-order coefficient in the second set of coefficients {b2,.. . b0}, denotedb0, is found by adding all of the coefficients above it in the 2cth column = 2cfrom the zeroth IOWPPA =Oto the cth rowpPA =c.
It will be seen that the total number of coefficients in the second set {b2,.. b0} is 2c +1. Of these coefficients, the first c + 1 coefficients {b2, * , , b} lie under the initial coefficients {a,.. , a0} in columnsyPA =0,...,cand the furtherccoefficients {b_1,b_2,...,k,b0}lie to the right of the firstc+1coefficients{b2,b2_1,...,b+1,b}in columnsyPA = c+1,...,2c.
Mathematically, the firstc +1 coefficients {b2,b2_1,. .,b+1,b}of the second set can be expressed in terms of the first set of coefficients {a,...,a0}as follows: b2 -* b2 = -. b2 = ax0 + b22 -* b2 = a;2 + + b+2 -* b2 = ax02 + a_lxoc_3 + + a3x0 + a2 b+1 -p b1 ax0 + a_1x02 + + a2; + a1 b -= axoc + ac_Ixoc_l +. + a1x0 + a0 = P(x0) Thus, in general: -47 -b *x0' , whenj E{c,c+1,...,2c-1,2c} The furtherccoefflcients {b_1,b_2,...,b1,b0)of the second set can be expressed in terms of the first set of coefficients {a,...,a0}as follows: -+ = ac_Ixoc + ac 2xQ +... + a1x02 + a0; b2 = a 2x0C + a3x0 +... + a1x03 + a0;2 b3 -+ = a_3x0' + a4x0 +... + a1x0 + a0x03 C c-I c-2 b2-*b2=a2x0 +a1x0 +a0x0 b1 -= aixoC + a0xQ"1 b0 -* b0 = aox0C Thus, in general: b =a1_.X0C, whenj{O,1,...,c-2,c---1} The increased set of coefficients {b2,...b0}can be used to construct the first Associated PIAT Polynomial P(X)1 = b2X2c + b2_iX2c_I + + b1X + b0 of degree 2c.
The process of shifting and multiplying byx0 can be repeated with the second set of coefficients {b2,. . . b0} corresponding to the first Associated PIAT polynomial (x)1 to generate a further set of4c+1coefficients{c4,...c0} which can be used to construct the second Associated PIAT Polynomial (x)2. It will be clear that, in theory, an infinite number of Associated PIAT Polynomials P(X)r can be constructed using the PIAT -48 Algorithm, although the computational power required to do so becomes significantly more demanding for larger values of r.
FIG. 13 shows a numerical example of how the PIAT Algorithm can be used to construct an infinite sequence of increasing-degree Associated PIAT Polynomials {P(X)0,P(X)1,...P(X)}starting from a Generator PIAT Polynomial (x)0.
In this example, the Generator PIAT Polynomial isP(X)0 6X4 +5X3 +5X2 +3X+.
In this example, the value of x0 is chosen to be unity, i.e. x0 = 1. The reason for this is so that the process of multiplication byx0 each time the set of coefficients is dropped to the next PIAT Algorithm row PPA -PpA +1 is greatly simplified.
It can be seen in FIG. 13 that each coefficient {b8,...,b0} in the first Associated PIAT Polynomial (x)1 is the sum of all of the coefficients in the column YPA = 0,..., y4 = 8 directly above it.
As explained above, in order to calculate, for example, the fourth largest-order coefficient b5 in the first Associated PIAT Polynomial p(x)1, the calculation under the PIAT Algorithm where x0 =1 would be: b5 =a4x03+a,x02 +a2x0' +a1=6x1' +5x12 +5x1' +3= 19.
Since 4 = c «= 5 «= 2c = 8, this can equivalently be written in terms of the summation expression as: -49 -b1 j = 5 = * = a11.x01 = a1.x0° + a11 x0' + a21 + a31 i=O 1=1 i=2 1=3 =a1+a2X0 +a3X0 +a; =19 In order to calculate, for example, the third-smallest-order coefficientb2 in the first Associated PIAT Polynomial (x)1, the calculation under the PIAT Algorithm wherex0 =lwould be: b2 =a2x04 +a1x03 +a0x02 =5x14 +3x13 +1x12 =9.
Since 0 «= 2 «= c = 4, this can equivalently be written in terms of the summation expression as: b1 j=2b2 =a21*x041 =a2x04+a1x03+a0x02=5x14+3x13+1x12=9 It can readily seen from FIG. 13 that the sequence of Associated PIAT Polynomials for the Generator PIAT Polynomial (x)0 is: -50 -P(X)0 = + [Jx3 + [?3x2 + [jx + [] P(X)1 = ]x8 +[i i}X7 +[16]X6 + [19]x5 + [2o}x4 + [14}x3 +[9}x2 +[4}x' + [j P(X)2 = x'6 + [i7]x'5 + [33]x4 + [52]x'3 + [nix'2 + [86]x" + 95]x'° + 99}x or6 ci6 + [ioo]x8 + [94]x7 + [83]x6 + [67]x5 + [48]x4 + [28]x3 + [14}x2 + [5Jx' + [iJ P(X) =[...IIx +...
FIG. 14 shows the Inverse PIAT Algorithm.
The Inverse PIAT Algorithm is effectively the reverse of the PIAT Algorithm and enables a Generator polynomial P(X)0 to be uniquely constructed from an Associated or Perfect PIAT Polynomial P(X),. b2,X2'c +... + A. Like the PIAT Algorithm, the Inverse FIAT Algorithm is simplified in the case where; = 1.
The highest-order coefficient in a Generator PIAT Polynomial P(X)0 acXc +... + a0, denoted a, can be found based on the first Associated PIAT Polynomial (x), by recalling that, according to the PIAT Algorithm, b2 = a.
The second-highest-order coefficient in the Generator PIAT Polynomial, denoted a_,, is found by recalling that, under the PIAT Algorithm: b2_1 = + ax0.
Thus, b2, a, + a x0 = b2, -ax0. =b2
-51 -Continuing in this manner enables lowest-order coefficient in the Generator PIAT Polynomial P(X)0, denoted a0, to be found according to: bc=ao+aixo+...+acxoc =bc_aixo_..._acxoc.
Alternatively, the Inverse PIAT Algorithm can be effected by starting with the lowest-order coefficient!,0 in the first Associated PIAT Polynomial P(X)1 and reversing the PIAT Algorithm by division and subtraction: b0 a0 -+ b0 = a0x0 a0 = -s-x0 c-I c c-i 01 -a0x0 a1 -+ b = a1x0 + a0x0 a1 = x0 a_1 -* b_ a_lxoc + a_2x0' +... + a0; c-I -b_1 -a2x0 -... -a0x0 x0 ac -+ = acxoc + a1x0 +... + a0 c-i b-a 1x0 -...-a0 = C c-x0 Reference is made again to FIG. 13 (in whichx0 = 1) which shows a Perfect PIAT PolynomialP(X)1 = 6X8-i-11x7 +16X6+19X5+20X4 +14X3 + 2X2+ 4X+ 1.
=b4 =b3 12 i b Under the Inverse PIAT Algorithm, it is possible to reduce this Perfect PIAT Polynomial to a Generator PIAT Polynomial in the form (x)0 = a4X4 + a3X3 + a2X2 + a1X' + a0 as follows: a4 = b8 =6 -52 -a3=b7-x0a4=1i-1x6=:5 a2 =b6-x02a4-x0a3 =16-12x6-1x5=5 a1 =b5-x03 a4-x02 a3 -x0a2 =19-13x6--12 x5-1x5=3 a0 =b4 -x04a4 -x03a3 -x02a2 -x0a1 =2O-1 x6-13 x5-12 x5-1x3=1 The Inverse PIAT Algorithm gives a4 = 6, a3 = 5, a2 = 5, a1 = 3 and a0 = 1, which correctly leads to the Generator PIAT Polynomial: P(X)0 = 6X4 + 5X3 + 5X2 + 3X + 1.
Alternatively, the lower-order coefficients can be used as: b0 1 a0 = =1 xo I c-I 3 -k-a0xo -4-ixi - a1--14 -x0 I a2 = b2 _ajxoC_i_aoxoC_2 9-3x13-lxl2 x0 1 c-i c-2 c-3 3 2 1 -b3-a2x0 -a1x0 -a0x0 14-5x1 -3x1 -lxi - a3-c --xO c-i c-2 c-3 c-4 3 2 1 0 -b4-a3x0 -a2x0 -a1x0 -a0; 20-5x1 -5x1 -3x1 -lxi - a3--14 -x0 I In summary, the PIAT Algorithm defines the relationship between a Generator PIAT Polynomial (x)0 and an infinite sequence of associated Perfect PIAT Polynomials P(X)r, and the Inverse PIAT Algorithm defines the reverse relationship.
The Schema de P/AT (SdP) -53 -Like the PIAT Algorithm, the Schema de PIAT (PIAT Method) is a process under the PIAT Protocol for constructing an infinite sequence of Associated PIAT Polynomials, starting from a Generator PIAT Polynomial: P(X)0 = acXc + + ... + a1X + a0.
However, the PIAT Method is for the construction of an infinite sequence of Associated PIAT Polynomials {P(X)0,...,P(X)}of the same degree cas the Generator PIAT Polynomial (x)0 such that: P(X)0 = acXc + a1X' + ... + aX + a0 P(x)1 =bXc +b1X' +...+b1X+b0 = KcXC + KC_IXC I + + ,c1X + ,c0 = kXC + 2CIX + ... + + where(a1,b1,...,A1)e Nand a, «=b1 «=r1 «= A,Vi[O,c]. AswiIl be shown below, the coefficients are a function of x0.
In fact, the PIAT Method gives exactly the same results as the PIAT Algorithm when only the firstc coefficients of each of the Associated PIAT Polynomials {P(X)0,...,.P(X)}are taken into account. The means by which these coefficients are obtained, however, is somewhat different to that under the PIAT Algorithm. Indeed, the PIAT Method can be thought of as an extension of Homer's Scheme.
FIG. 15 shows the PIAT Method. It can be seen that zeroth step of the PIAT Method is the same as that in the PIAT Algorithm and Homer's Scheme. Indeed, the -54 -first step under the PIAT Method, for finding the coefficients {b,.. .b0}of the first Associated PIAT Polynomial P(X)1 is identical to the first stage of Homer's Scheme.
However, under Homer's Scheme the number of coefficients calculated at each stage decreases by one until only one coefficient is calculated at the final stage. The reason for this under Homer's Scheme is quite clear if it is recalled that the later stages of Homer's Scheme correspond to lower-degree polynomials. For example, factors or divisors g(x) = x -x0 reduce the order of polynomials associated with the later stages of Homer's Scheme. In addition, the Homer coefficients in the later stages of Homer's Scheme relate to higher order Talyor Coefficients. Since those Taylor Coefficients themselves relate to higher-order polynomial derivatives, the polynomials they relate to are also lower-order. In effect, there is no need to calculate any other coefficients under Homer's Scheme.
Since the PIAT Method continues to calculatec coefficients at each level, it can be thought of as a vertical extension to Homer's Scheme.
Under the PIAT Method, in order to calculate a particular coefficient 2, in the rth Associated PIAT Polynomial, P(X), the following formula is used: 20. A=(x0.i%11)+K.,whenO<i<cand * 21=K1wheni=c.
In other words, to calculate a particular coefficient, one multiplies the value of the coefficient immediately to the left of it byx0 and adds this to the value of the coefficient immediately above it. However, when calculating the leftmost coefficient, since there is -55 -no coefficient immediately to the left of it, the value of that would-be coefficient is set as zero.
Thus, in order to calculate b, the coefficient of xc in (x)1, since i c, b = a.
However, to calculate b1, the coefficient of x' in (x)1, assuming 0 «= 1 <c, thenb1 =(x0.b1)+a1 =x0b2+a1.
By way of a numerical example, a set of Associated PIAT Polynomials in x0 1 can be constructed under the PIAT Method starting from the following Generator PIAT Polynomial (x)0 of degree four (i.e. c = 4): P(X)0 =6X4 +X3 4-X2 +3X+1.
Here, a4 = 6; a3 = 5; a2 = 5; a1 = 3; a0 = 1.
ForP(X)1: =0 x0 + a4 = a4 =6 b3 =b4. +a3 =1,4 1+a3 =6+5=11 b2=b3x0-i-a2=b,.1+a2=11-i-5=16 ForP(X)2: c4 =O*x0+b4 -b4 =6 c3 =c4 +b, =c4.1+b = 6+11= 17 c2 =c3x0+b2 =c3 1+b2 =17+16=33 -56 -Following this iterative method, the sequence of Associated PIAT Polynomials can be constructed as follows: [6}X + [5lx + [5]x2 + [3}x + [i] P(X)1 =[6]X4+[11]X3+[16]X2+[19]X+[20] P(X)2 =[6]X +[17]x3 +[33}x2 +[52]x+[72] P(X)3 =[6]x4 +[23]x3 +[56}x2 +[1o8]x+[18o] P(X)4 =[6]X +[29]x3 +{851x2 +[193]x+[373] P(X)5 =[6]X +[35]x3 +[12o]x2 +[313]x+[686] As explained above, Homer's Scheme only returns a subset of these coefficients and does not calculate the coefficients needed to construct the higher Associated PIAT Polynomials. Indeed, in effect, the degree of the polynomial represented at each stage of Homer's Scheme actually decreases...
With reference again to FIG. 13, it can be seen that the first two Perfect PIAT Polynomials above, P(X)1 =[6]x ÷[ii]x3 +[16]x2 +[19]X+[20] and P(X)2 [6]x + [i 7]X3 + [33]x2 + [52]x + [72], can be constructed from the five highest-order coefficients at each stage of the PIAT Algorithm. The PIAT Algorithm can be continued to give the same coefficients as the higher Perfect PIAT Polynomials obtained by the PIAT Method. The PIAT Method is fully consistent with the PIAT Algorithm.
Like the PIAT Algorithm, the PIAT Method also has an inverse. In other words, it is possible to determine uniquely the value of the coefficients {a0,. . .a}of a Generator -57 -PIAT Polynomial (x)0 using the coefficients -} of any Associated PIAT Polynomial P(X),,: P(X)r = 2CXC + + ... + 21X + P(X)ri = [Ac}XC + [(a)(a)}x + ... + [(a1)-ç)Jx + P(X)0 [bcIJX' +[(b_1)-(b)Jx +...+[(b).-(b2)]x+[(b0)-(b1)] wherex0 land fr1. .. are the coefficients of the (r1)th PIAT polynomial.
FIG. 16 illustrates the Inverse PIAT Method. It will be recalled that P(x0)-_ b0:= b1x0 + a0. This is shown with partly faded lines on the left side of FIG. 16. By manipulating the above equation, it will be seen thatb0 -b1x0 = a0. Thus, by knowing both coefficientsb0 and b1 and the value of x0, the value of a0, the constant in the initial polynomial (x)0, can be found.
The Inverse PIAT Method can easily be verified using the below space of Associated PIAT Polynomials: = [6]x + [5}x3 + [5]X2 + [3}x + [i] = [6Jx4 + [1 ilk-3 + {16Jx2 + [19}x + [20] = [6}x + [i 7]X3 + [33]x2 + [52}x + [72] P(X)3 = [6Jx + [23Jx + [56]x2 + [1o8]x + [i 80] P(X) =[61x4÷[...]x3÷[...1x2+{...}x+[...] -58 -Forexample, whenx0 =1, givenP(X)2 =[6]X +[17}x +[33]X2 +[52JX-i-[72], = P(X)21 = + + [17)Jx2 + + (72)-(52j =6X4 +11X3 +16X2 +19X+20
--
b4 b2 b1 As explained above, the PIAT Method can be seen to be an extension of Homer's Scheme and both are consistent with the PIAT Algorithm. The PIAT Method can, however, be extended itself as will now be described.
The Schéma-étendu de P/AT (S9dP) The Schéma-étendu de PIAT (Extended PIAT Method) is an extension of the PIAT Method that gives the same full set of results as the PIAT Algorithm, but generates them in a somewhat different manner.
FIG. 17 shows how the PIAT Method can be extended into the Extended PIAT Method to give exactly the same results as the PIAT Algorithm. Whereas the PIAT Method is limited to generating Associated PIAT Polynomials P(X)r of the same degree c as the Generator PIAT Polynomial (x)0, the Extended PIAT Method can be used to generate increasing-degree Associated PIAT Polynomials P(X). to give the same results as the PIAT A'gorithm.
Under the PIAT Algorithm (see FIG. 12), the coefficient b in the column c +1 of the PIAT Algorithm is found by: -59 -=ací*x0 1=0 1=1 i=c-2 i-I = acIxoc + a2x0 + .. . + a1x02 + a0x0' The final coefficientb P(x0)under the PIAT Method is found by: P(x0)0 = acxoc + ac_Ixoc_t + ... + a1x0 + a0 Multiplying b = P(x0) by x0 and subtracting ax0" gives: c+I I c c-I c+i x0.P(x0)0 -ax0 = x0ax0 +a1x0 +...+a1x0 +a0)-ax0 c+1 c 2 I c+I =ax0 +a1x0 +...+a1x0 +a0x0 -ax0 = aclxoc + ... + a1x02 + a0x0' = b_1 Multiplying b_1 by x0 and subtracting ac_1x01 gives: x0b_1 a_1x0 x(axc +a_2x0 + *** + 2 + a0xo)_ ac_Ixoc+I =a1x0 +Qc2XO +...+a1x0 +a0x0 a0 c 3 2 = -2; + *. + ax + a0x0 = a21 x0C = b2 This can be continued as shown in FIG. 17 to give the same set of coefficients {b_1,...,b0}as those in the PIAT Algorithm.
Like the PIAT Algorithm and PIAT Method, the Extended PIAT Method also has an inverse.
-60 -FIG. 18 shows the Inverse Extended PIAT Method.
To find a, we have that: bx0 -ax0 c+1 = P(x0)x0 -ax0 c+I b_1 c+1 =ax0 =bx0-b_1 bx0-b a = c+I xo To find a1, we have that: b_1; -a_1x0 c+1 a_1x0' = -b2 b_1x0 -b_2 a1 = c+1 xo To find a1, we have that: b1x0 -a1x0"'--b0 c+1 a1x0 =b1x0-b0 b1x0 -b0 xo To find a0, we have that: c+I a0x0 =b0 b = a0 x0 -61 -FIG. 19 shows multiple rows of the Extended PIAT Method which can be used to find the necessary coefficients to construct the higher Associated PIAT Polynomials.
FIGs. 20A, 208 and 20C show numerical examples of how the PIAT Algorithm and Inverse PIAT Algorithm, the (Extended) PIAT Method and the Inverse (Extended) PIAT Method can be used to process an exemplary Generator PIAT Polynomial (x)0 6X4 + 5X3 + 5X2 + 3X + 1 using x0 = 1.
FIGs. 21A, 21B and 21C show numerical examples of how the PIAT Algorithm and Inverse PIAT Algorithm, the (Extended) PIAT Method and the Inverse (Extended) PIAT Method can be used to process an exemplary Generator PIAT PolynomialP(X)0 =6X4 +5X3 +5X2 +3X+lusing x0 =2.
In summary, the PIAT Algorithm and the (Extended) PIAT Method are both forms of algorithms. Like Homer's Scheme, the PIAT Method involves addition and only c multiplications.
The PIAT Algorithm in turn involves onlycadditions of coefficients shifted byc columns. In fact, the shifting of coefficients in the PIAT Algorithm altogether replaces multiplication.
An advantage of the PIAT Algorithm over the PIAT Method is that calculations are simplified and performance can thereby be improved.
Mathematically speaking, both the PIAT Algorithm and the PIAT Method can be used to construct an infinite sequence of Associated PIAT polynomials. Moreover, these -62 -algorithms can be used to evaluate numerically the expressions P(x0)orP'(x0)or even to factorise any given polynomial as (see below): P(X)=aX' +a1X +...+a1X+a0 =((...(R+1x+R)x+...R3)x+R2)X÷R1 Continuation of the PIAT Algorithm or the (Extended) PIAT Method more generally allows the Taylor coefficients!P(x0) of a function P(x)about a pointx0to be calculated.
Thus, under the PIAT Protocol, the PIAT Algorithm, the PIAT Method and the Extended PIAT Method all enable an infinite series of Associated PIAT Polynomials P(X)r to be constructed in a predetermined and structured manner from a Generator PIAT Polynomial p(x)0. The Inverse FIAT Algorithm, the Inverse PIAT Method and the Inverse Extended PIAT Method allow any Generator PIAT Polynomial P(X)0to be recovered from a Perfect PIAT Polynomial P(X)r.
The PIAT Protocol is particularly suited to data processing, especially data compression and decompression and encryption and decryption, as will now be explained.
P/AT Protoco/ in Data Processing FIG. 22 shows a binary-decimal representation of data.
Modern computers usually work in base 2, i.e. in binary. Human beings often find it easier to understand numbers in base 10, i.e. in decimal. Accordingly, in the following description (as above), data will generally be represented in decimal form. However, it -63 -should be remembered that a number in decimal form can equally be represented in, or converted to, binary form. For example, the number 13 in decimal (often written 13) is equivalent to 1101 in binary (often written 11012).
By way of an example, we will assume that an initial data sequence received at a data processing apparatus such as a PIAT router, can be written in decimal form as: 61200005120001600005800022000190000340001 8666976668400001120000120 0003000021 333373333900005666700000783346500093600009600021000034000240 001700005200018000295002050002 This data might represent an encrypted password, a text file or some other digital data. This initial data requires 166 decimal symbols to convey all of the information it embodies.
This data can be converted into binary format using Binary-Coded Decimal encoding. A binary digit (called a "bit") is either 0 or 1. Each one-digit decimal number can be represented in binary by a unique sequence of four bits (called a "nibble') as shown below: Decimal Binary 0 0000 1 0001 2 0010 3 0011 4 0100 0101 6 0110 -64 -7 0111 8 1000 9 1001 Since computers usually store data in groups of eight bits (called a "byte"), uncompressed BCD encoding stores each decimal digit as the corresponding binary four-bit nibble equivalent, prefixed by another predetermined nibble, such as 0000, 1111, or 1011. Thus, the initial decimal data sequence could be stored as: 0000 0110 0000 0001 0000 0010 0000 0000
--------------J 010
This would requirel66x8 = 1328 bits to store the initial data sequence.
It is, instead, possible to use compressed BCD encoding to store two decimal digits in each byte by not including the prefixed nibble. Accordingly, the initial decimal data sequence could be stored as: 0001 0010 0000
---
6o 110 tO -tO This would only requireló6x4 = 664 bits to store the initial data sequence.
Another possibility is to convert the full 166-digit decimal number directly from base to base 2 by changing the base, which would yield a binary number that can be stored in 552 bits.
Remarkably, under the PIAT Protocol, it is possible to express this 166-digit initial decimal data sequence as a 15-digit decimal sequence with a six-digit index or, -65 -equivalently, as a 48-bit decimal sequence. The PIAT-compressed sequence would be 655311 125939352 (a total of 15 decimal symbols) or 1111111111111011001010111111101110011001101110002(atotalof48 bits)in binary.
( ( final number of bits In terms of compression rates (found by I 1-I I ix 100), the initial number of bits)) PJAT-Compressed data exhibits a 96.3% reduction in size ( i 48 xl 00) 1320)) compared to the uncompressed BCD-encoding, a 92.7% reduction in size ([1 -x 100) compared to the compressed BCD-encoding and a reduction of 91.3% in size (1 -x 100) compared to directly changing base. Thus, PIAT Compression provides a highly effective method of compressing data.
FIG. 23 shows an initial data sequence P(X). subjected to an optimisation heuristic which will be described in more detail below. After optimisation, the initial data sequence is converted to a series of Perfect PIAT Polynomials {F(X)r,...,p(X)r}. In this example, only five Perfect PIAT Polynomials are shown, but it will be understood that a different number of polynomials may be appropriate depending, for example, upon the size of the initial data sequence P(X)r.
These Perfect PIAT Polynomials are each subject to PIAT compression under PIAT Protocol until a corresponding series of five respective reduced Associated PIAT -66 -Polynomials {i(x)0,...,F(x)0} are constructed. These reduced polynomials {F(x)0,...,i(x)0} would ideally be Generator PIAT Polynomials.
These reduced polynomials {i (X)0,...,F(X)0}are then collectively subject to optimisation and further PIAT Compression, until another level of reduced Associated PIAT Polynomials {Q1(x)0,...,Q2(x)0} is obtained. This set of reduced polynomials {Q1(x)0,...,Q2 (X)0}is again optimised and subject to further PIAT Compression and the cycle continues until a final reduced or Generator PIAT Polynomial Z(X)0 is obtained.
It will be understood that PIAT Compression under the PIAT Protocol may be according to the Inverse PIAT Algorithm, the Inverse PIAT Method and/or the Inverse Extended PIAT Method. All of these inverse PIAT-processing techniques reduce the size of the coefficients of the polynomials representing an initial data sequence.
FIG. 24 shows with a numerical example an overview of PIAT Compresion under the PIAT Protocol. This is achieved by reducing the size of the coefficients of the Perfect PIAT Polynomials associated with the full input sequence of 166 decimal symbols under the PIAT Protocol. The optimisation heuristic receives the 166-decimal digit initial data sequence and generates three optimised Perfect PIAT Polynomials: f(X) = 6X4 + 1200005X3 + 120001600005X2 + 8000220001900003X + 400018666976668400001 F(X) = ix4 + 200001X3 + 20000300002X2 + 1333373333900005X + 66670000078334650009 F(X) = 3X4 + 600009x3 + 60002100003X2 + 4000240001700005X + 200018000295002050002 -67 -These polynomials each undergo PIAT Compression to generate three corresponding reduced Generator PIAT Polynomials in various ways which will be described below: 1(X)0 -6X4+5X3+5X2÷3X+1 F(X)0=1X4+1X3+2X2+5X+9 P3(X)0 -3X4+9X3÷3X2+5X+2 The coefficients of these reduced polynomials can be represented by a total of only 15 decimal symbols as: {65531} , {1 1259) and {39352}.
FIG. 25 shows an overview of PIAT Decompression under the PIAT Protocol, using the same numerical example starting from the compressed sequence of 15 decimal symbols: 655311125939352. After processing by the optimisation heuristic, the sequence is expressed as three Generator PIAT Polynomials, P{1,23}(X)0, each of degreec = 4as follows: 1(X)0 =6X4 -4-5X3-l-5X2 +3X+1 P2(X)0 =ix +1x3 +2X2 +5X+9 I(X)0 =3X4+9X3+3X2 ÷5X+2 These three initial polynomials, P{123)(X)0, are then subject to expansion or PIAT Decompression under the PIAT Protocol as will be explained below until the following Perfect PIAT Polynomials representing the initial pre-PIAT Compression data sequence are obtained: P1(X) = 6X4 ÷ 1200005X3 + 120001600005X2 + 8000220001900003X + 400018666976668400001 -68 -P(X) = 1X4 + 20000 1X3 + 20000300002X2 + 1333373333900005X + 66670000078334650009 F(X) = 3X4 + 600009X3 + 60002100003X2 + 4000240001700005X + 200018000295002050002 FIG. 26 shows a numerical example of how the Perfect PIAT Polynomial i(X),. can be reduced to a Generator PIAT polynomial F (x)0 of the same degree, c 4, under the PIAT Protocol using the Inverse PIAT Method when x0 = 1. It will be recalled that the Inverse PIAT Method specifies how the Perfect PIAT Polynomial i(x), is reduced to the Generator PIAT Polynomial i(X)0: P(X)r = i%cr + 2LIX1 + ... + A1X + P(X)ri = k1xc +[(21)-(2)]X' + +[(1)(,'L2)}X +[(2)-(A)] P(X)o={bcIXC+[(bct)_(bcj1XC1+...+[(b)_(b2)IX+[(bO)_(bi)1 Using this numerical example: P1(X) = 6X4 + 1200005X3 + 120001600005X2 +8000220001900003X + 400018666976668400001.
Thus, 24 = 6,A = 1200005,22 = 120001600005, A. = 8000220001900003 and = 4000186669 7666840000 1.
The coefficients,c of the preceding polynomial P(X)r1 can be determined according to the Inverse PIAT Method as: = A1 400018666976668400001-8000220001900003 = 400010666756666499998 -69 -K2 -A.. = 120001600005-1200005 = 120000400000 K3 -2 A4 =1200005-6=1199999 K4 -1%4 =6 Processing is continued under the Inverse PIAT Method until no further reduction in size of the coefficients is possible. This is typically the stage before any of the coefficients becoming negative, but other termination conditions could be imposed.
After some 200,000 reduction steps, it can be determined thata4=6,a3=5,a2=5,a1=3anda0=1.
Thus, according to the Inverse PIAT Method, P1(X) = 6X4 + 1200005X3 + 120001600005X2 ÷8000220001900003X + 400018666976668400001 can be reduced to a Generator PIAT PoIynomiaIJ(X)0 = + 5X3 + 5X2 + 3X + of the same degree c =4 as F (x), by performing 200,000 stages of the Inverse PIAT Method.
In turn, the Generator PIAT Polynomial F (X)0 = 6X4 + 5X3 + 5X2 + 3X + can be expanded or PIAT Decompressed under the PIAT Method as described in detail above to generate Associated PIAT Polynomials until the desired Perfect PIAT Polynomial J(X) = 6X4 + 1200005X3 + 120001600005X2 + 8000220001900003X + 400018666976668400001 is obtained after 200,000 stages of the PIAT Method.
-70 -The valuer = 200,000 is referred to herein the as Index". The index indicates the level of reduction of F(X)0 relative to the larger polynomiaI1(x)200000. It indicates the number of steps under the PIAT Method or Inverse PIAT Method required to convert the Perfect PIAT Polynomial F(X) into the Generator PIAT Polynomial F(X)or vice versa.
The indexris separable from the Generator PIAT Polynomial P0(X).
In summary, given a Generator PIAT Polynomial i(x) representing PIAT-Compressed data and a separable indexr indicating the number of steps under the PIAT Method required to obtain an associated Perfect PIAT Polynomial P1(X), that associated Perfect PIAT Polynomial F(X)can be uniquely reconstructed and represents an initial uncompressed data sequence.
Similarly, given a Perfect PIAT Polynomial i(x) representing an initial, uncompressed data sequence, the Perfect PIAT Polynomial F(X)can be PIAT Compressed under the Inverse PIAT Method to generate an associated Generator PIAT Polynomial F(X)and a separable indexr indicating the number of steps under the Inverse PIAT Method that were required to obtain the Generator PIAT Polynomial i(x), so that the initial, uncompressed data sequence can be uniquely reconstructed.
It will be appreciated that the initial data sequence could be PIAT-Compressed under the PIAT Protocol by means of the Inverse PIAT Algorithm or Inverse Extended PJAT Method and could be PJAT-Decompressed by means of the PIAT Algorithm or Extended PIAT Method. It will also be appreciated that PIAT Compression and Decompression is non-entropic. In other words, symbols in the input data sequence are not assigned codewords depending upon the frequency of their occurrence.
-71 -Although this cyclic, non-entropic compression is quite remarkable in itself, performing 200,000 stages of processing -PIAT-Compression or PIAT-Decompression -under the PIAT Protocol can be fairly time-consuming and processor-intensive.
The inventors have, in fact, devised a method of jumping directly from a Generator PIAT Polynomial to the Perfect PIAT Polynomial associated with the particular index r or, inversely, jumping directly from a Perfect PIAT Polynomial to the Generator PIAT Polynomial associated with the particular indexr. Neither the coefficients of the intervening Associated PIAT Polynomials nor any of the intervening PIAT-processing steps need to be calculated or performed.
However, this has only become possible as a result of a significant new mathematical construct, which will now be described before explaining how direct jumping is possible.
The Carré de P/A T (CdP) The Carré de PIAT (PIAT's Square) is a new mathematical construct which takes the form of a matrix of special numbers.
As will become clear later, the first column of the CdP is assigned the column numberc = 0. The first row of the CdP is assigned the row numberr = 1. Hereinafter, r will be used to denote the value of the cell of the CdP at (r, c) (row r, column c). For example, ,z is the origin cell in the first row (r 1) and first column (c = 0).
-72 -The CdP can be constructed in various forms, referred to herein as "dimensionsn", as a function of;. The one-dimensional CdP, denoted CdP1, is the CdP associated with x0 1. The nthdimensional CdP, denoted CdPI is the CdP associated with x0 n.
FIG. 27 shows how the PIAT Algorithm can be used to construct the first two rows (r 1,2) and first four columns (c 0,1,2,3) of the one-dimensional CdP; CdP1.
To construct the CdP1, the PIAT Algorithm starts on the zeroth lOW PPA 0 with a third-order identity Generator PIAT Polynomial P1 (x)0 = + x2 + + These coefficients form the first rowr = 1 of the CdP1 as follows: a3 (first row(r=1), first column (c=0)) a2 = (first row (r = 1), second column (c = 1)) a1 (first row (r=1), third column (c=2)) a0 (first row (r = 1), fourth column (c = 3)) In other words, the value in the first rowr = land first columnc = Oof the CdP1 isa3 = 1. The value in the first row r = land second column c = 1 of the CdP1 isa2 The value in the first row r = land third column c = 2 of the CdP1 isa1 = 1. The value in the first rowr = land fourth column c = 3of the CdP1 isa0 = 1.
-73 -The first four values of the second row r 2 of the CdP1 are the coefficients of the first Perfect PIAT Polynomial p(x)1 associated with (x)0. Under the PIAT Algorithm, this is calculated as: = a3 -1 5,r =a3x0' +a2 =lxl' +1=2 =a3x02 +a2x0' +a1 =1x12+lxl' +1=3 r =a3x03 +a2x02 +a1x0' +a0 =ixi3 +1x12 +lxl' +1=4 In other words, the value in the second row r = 2 and first column c 0 of the CdP1 isi. The value in the second row r = 2 and second column c = 1 of the CdP1 is 2. The value in the second row r 2 and third column c = 2 of the CdP1 is 3. The value in the second row r = 2 and fourth column c 3 of the CdP1 is 4.
After a further cycle of the PIAT Algorithm, it can be found that the values of the CdP1 in the first four columns (c 0,1,2,3) on the third row (r = 3) of the CdP, are: =1 =3 =6 =10 By using a higher-degree identity Generator PIAT Polynomial i(x)0 = ... + + +... + lx + ., more columns c of the CdP1 can be populated. By performing a larger number of steps of the PIAT Algorithm, more rows r of the CdP1 can be populated. In this manner, the full CdP1 can be constructed.
-74 -FIG. 28 shows how the CdP1 can alternatively be derived using an identity Generator PIAT Polynomial P1 (x) = + + + 1 under the PIAT Method.
As with the PIAT Algorithm, these coefficients form the first rowr = 1 of the CdP1 as follows: a3 = a2 = a1 = a0 = Again, as with the PIAT Algorithm, the first four values of the second rowr = 2of the CdP1 are the coefficients of the first Perfect PIAT Polynomial (x)1 associated with (x)0. Under the PIAT Method, this is calculated as: = a3 1 r =rx0+a =lxl+1=2 r =rx0+a1 =2x1+1=3 7r =,rx+a0 =31+1=4 This calculation under the PIAT Method gives exactly the same numerical values as those obtained under the FIAT Algorithm, but the mathematical calculation is slightly different.
As shown in FIG. 28, and as explained above in relation to the PIAT Algorithm, processing via further stages of the PIAT Method can be continued to populate the first -75 -four columns of all higher rows rof the CdP1. The degree of the identity Generator PIAT Polynomial can likewise be increased to populate the higher columnscof the CdP1.
As can be seen from FIG. 28, the CdP1 includes the Taylor and Homer coefficients as indicated by diagonal dotted lines. It also includes the numbers found in Pascal's Triangle as indicated by broken diagonal lines. The CdP1 contains these important values but has many more remarkable mathematical properties.
One of the remarkable mathematical properties of the CdP1 can be seen by an alternative derivation of the CdP1 which uses neither the PIAT Algorithm nor the PIAT Method. This alternative derivation uses combinatorics. It is emphasised, however, that this alternative derivation is completely consistent with both of these methods under the PIAT Protocol.
FIG. 29 shows the relationship between the binomial coefficients of Pascal's Triangle and the values,r the CdP.
It will be recalled that the number of combinations of ielements from a set of n elements without repetition can be found from the following factorial formula, whose values can also be found from Pascal's Triangle: C(n,z)= .! .\ iR,n -1)! To determine the number combinations of ielements from a set of n elements with repetition, we can imagine the set of n elements with each element spaced from the adjacent element with a vertical bar, there being a total of n-I bars: {nhIn2I...ln} -76 -We can indicate the frequency of any element in a selection of elements from the set by a star underneath the corresponding element in the barred set. Thus, for example if i 3 elements were selected from a set of n = 6 elements and, of those, n2was selected twice and n4 once, the indication would be: fl21fl3 1n41n51n6}.
This can, in turn, be written as follows simply by omitting the element Iabelsn1: I**II* III In a bijective manner, the following indication would imply that n1 was selected once, n2 was not selected, n3 was selected once, n4 was not selected, n5 was selected once and n6was not selected: * 11* 11* II It will be seen that there are n -1 vertical bars and i stars, which makes a total of(n-1)+isymbols, the positions of which can be varied.
Thus, in general the question becomes determining the number of ways in which one can arrange the I stars in the (n -i) + i positions (without repetition since there is only space for one symbol per position). Using the earlier factorial formula for such combinations: C(n-1+i,i)= (n-1+i)! = (n-I+i)! z!((n-1+i)-z)! i!(n-1)! -77 -Equivalently, the question could be formulated as determining the number of ways in which one can arrange the(n-1)vertical bars in the (n-1)+i positions (without repetition). Using the same earlier formula for such combinations: (n-1+i)! (n-1+i) (n-1+i)! Cn-1+i n-1)= = =Cn-1+z i (n-1)!((n--1+i)-(n-1))! (n-1)t.(i) i!(n-1)! Thus, in summary, the number of ways of choosing I elements from a set of n elements, where the order of the i selected elements is not important and where repetition of any of those elements is possible is: (n-1+i)! i!(n-1)! This consideration of combinatorics leads to an alternative derivation of the CdP1.
FIG. 30 shows an extract of the first ten rows (r = 1,.. .,10) and ten columns (c = 0,.. .,9) of the one-dimensional form (i.e. where x0 = 1) of the CdP, denoted CdP1.
r, the value of a given cell at location (r,c)of the one-dimensional CdP1 can be found using the following formula, which gives the number of combinations with repetition: (r+c-1)/ r c!(r-1)! This method of finding the value of any cell r of the CdP is referred to herein as the °factorial method". Remarkably, this is entirely consistent with the values,r obtained -78 -by the PIAT Algorithm or (Extended) PIAT Method from an identity Generator PIAT Polynomial.
In order to populate the CdP1 using the factorial method, one starts with the origin location (r, c) (i,o). Using the factorial method, the value at this location, ir, is: ______ 0! 1 1 -O!(1 -1)! -0!0! = 1.1 = Thus,,r =1.
Indeed, the value of any coefficient in the first column (c = 0) of the CdP1 is unity.
This is because: 0(r+0-1)! (r-1)! (r-1)!1 0!(r-1)! 1!(r-1)! (r-1)! It can also be seen that the value of any coefficient in the first row (r = 1) of the CdP1 is unity. This is because: J1+c-1)LCL.cL1 c!(1-1)! c!0! c!
In summary, r° = = 1.
There are various other ways in which the coefficients,r in the later rows rand columnscof the CdP can be obtained or calculated: Triangular Method -79 -The first of these is the "triangular method", where 1r = + ,r. This involves the summation of: * the value r' of the coefficient in the adjacent cell in the immediately preceding column (c -i) (i.e. the cell immediately to the left of the cell in question), and * the value of the coefficient in the adjacent cell in the immediately preceding row(r -i) (i.e. the cell immediately above the cell in question).
Vertical Hockey Stick Method The second method is referred to as the "vertical hockey stick" method, where ir = + + ... + + ,r. This involves the summation of the value of all of the coefficients in the preceding column (c -i) (i.e. the column immediately to the left of the column in question) from the first row, r 1, up to the row under consideration, r.
Horizontal Hockey Stick Method The third method is referred to as the "horizontal hockey stick" method, where r = = + + ... + + ir. This involves the summation of the value of all of the coefficients in the preceding row (r -i) (i.e. the row immediately above the row in question) from the first column, c = 0, up to the column under consideration, c.
All of these three methods of calculating the value of r, give the same value as each other, the factorial method and the values obtained via the PIAT Algorithm and the PIAT Method.
-80 -FIG. 31 shows an example of how to use the triangular, vertical hockey stick and horizontal hockey stick methods to calculate the value ofr. In this example, the dimension of the CdP is one, i.e. x0 1.
The value ofr (the coefficient in the third row and second column of CdP1) can be calculated using the triangular method as the summation of the value of the coefficient in the cell in the immediately preceding column (c -1 = o) and the value of the coefficient in the cell in the immediately preceding row(r-1 = 2): This value is also found by using the factorial method as follows: (3+1-1)! 3! 3*2! 21 = -= -3.
1! (3-1)! 1!2! 2! The value of,r (the coefficient in the fourth row and fourth column of CdP1) can be calculated using the vertical hockey stick method as the summation of the value of all of the coefficients in the preceding column (c-i = 2) from the first row, r 1, up to the row under consideration, r = 4: This value is also found by using the factorial method as follows: = (4 + 3-1)! 6! 65 *43! = 6*5*4 = 20 3!(4-1)! 3!3! 3!3! 32.1 -81 -The value of (the coefficient in the second row and fourth column of CdP1) can be calculated using the horizontal hockey stick method as the summation of the value of all of the coefficients in the preceding row(r -1 = i) from the first column, c 0, up to the column under consideration, c = 3: = = ° ÷ ÷ + =1+1+1÷1=4.
This value is also found by using the factorial method as follows: (2+3-1) 4! 43! 3!(2-1) 3!1! 3! For higher values of r and c, the factorial method provides an efficient way of calculating the corresponding value of the coefficientifin the CdP1. For example, the value of the coefficient in the eighth row(r = 8)and the seventh column (c = 6) can be calculated by using factorials as: (8+6-1)! 13! =-=22x3x11x13=1716.
6!7! 6!7! This value can be verified using any of the above summation methods or by reference to the cell (8,6)in the extract of the CdP1 shown in FIG. 30, if desired.
Constructing the CdP FIG. 32 shows one method of constructing the nthdimensional form of the CdP, CdP starting from the one-dimensional form CdP1.
-82 -The coefficient in a particular ceII(r,c)of the nthdimensionaI form of the CdP, denoted CdP, is calculated by the product of: * the value ofthe coefficient in the corresponding cell(r,c) in CdP1 (i.e. the one-dimensional CdP), and * x0 to the cth power.
This can be expressed more concisely in mathematical terms as: =xox,rdl r1 In terms of the factorial method, the value of a particular cell in the CdP of dimensionn=x0can be found by: (r+c-1)! 2rr X0 O-l It may be recalled from above and from FIG. 29 that the number of permutations of i elements from ann-element set where repetition is allowed is: n'. It will be seen from the previous equation that an equivalent term x0C defines the mapping of vaIuesr from the CdP1 to those/r1 in the CdP. x0=I
FIG. 32 also shows how the values in the first two rows and four columns of the CdP1 can be used to calculate the corresponding values in the nthdimensional Cdl', CdP, using the above equation. The left-hand side of FIG. 32 corresponds to CdP1 and the right-hand side to CdP, wheren> 1. These rows and columns show only a small fraction of the full CdP1, which is mathematically unlimited in terms of the number of -83 -columns and rows it can contain. The only limitation in terms of the size of the CdP lies in the computational requirements for computing the values in the higher cells.
By way of a numerical example (indicated with shading), to calculate the value of the coefficient in the first row (r = 1) and fourth column (c = 3) of the 2nd x0 =2 dimensional CdP, CdP2, the following equation is used: 2rI =23x7rI x0=2 x0=1 However, since,r = 1 in the CdP1 for all values of c, when c = 3, ir = 1. Thus:
L=2 2 xrJ 2 xl=8x1=8.
It will also be recalled that the value of 2rl can be calculated by means of the x0 =2 general factorial formula: r c!(r-1)! ° This gives that: 3J (ll3_l)!x23 =----x8=8.
xo=2 3!(1 -1)! 3!1! FIG. 33 shows how the PIAT Algorithm can also be used to construct the n-dimensional CdP. The only difference between the PIAT Algorithm for constructing the nth..dimensional CdP and for constructing the CdP1 is that the initial -84 -coefficients{a3,a2,a1,a0} are multiplied byx07', whererPA is the column of the PIAT Algorithm in which the particular initial coefficient is located, which can be best seen in FIG. 33 itself.
The general method under the PIAT Algorithm of multiplying all of the coefficients on one row PPA by x0, dropping those coefficients to the following row PPA -÷ PPA + 1 and shifting them one column to the righty4 -+ y +1 remains the same. Thus, for example, for the cell r: 2 0 2 I I 2 = a3 x x0 x0 + a2 x x0 x0 + a1 x x0 = n=xo _YP4 lxxo2j+i xxo2J+[ xxo2J=3x02 This can be confirmed by recalling that x because, by inspection of the CdP1 in FIG. 30 or otherwise, 3.
FIGs. 34 and 35 show, respectively, extracts from CdP2 and CdP3. i.e. the 2-and 3rd..dimensional forms of the CdP. The Taylor coefficients and the values found in Pascal's Triangle are present in the higher order CdPs.
CdP in Data Processing It will be recalled from above that the PIAT Method can be used to calculate a Perfect PIAT Polynomial P(X),. from a Generator PIAT Polynomial P(X)0and a separable index r which indicates the number of repetitions of the PIAT Method that are required to arrive at that particular Perfect PIAT PolynomiaIP(X). It will also be -85 -recalled that this requires that every intervening Associated PIAT Polynomial be computed. This can be time-consuming and processor-intensive for large coefficients and/or large index values r.
The inventors have devised an alternative method of calculating the coefficients {2,. . . , 2} of that r Perfect PIAT polynomial P(X),. which requires knowledge of only the coefficients {a0,. . . , a}of the Generator PIAT Polynomial (x)0, the particular value of the iridexr and certain special values,r,c from the CdP. None of the coefficients, b. , c. , ic, of the intervening Associated PIAT Polynomials is required.
This alternative method is, thus, particularly advantageous for large values of r.
In order to calculate the coefficients {20,...,2}of the rth associated Perfect PIAT Polynomial P(X),. starting from an initial polynomial (x)0, where P(X)0 = a1X' = acXc + ac,Xc_I + ... + a1X + a0, one can use the following formula: P(X) = (axir)X' + (a < )< + + (a x.it" + ...+ a0 x To find the ith coefficient 2, of the term X' in the r associated Perfect FIAT Polynomial P(X)r, one calculates: A=a+,x7r'.
For example:
-86 - = a0 x4 -I-a1x iv' + ... +a x i=l =a+,xit=a0+ix4+a,+,xit'+..,+a,+,xit =a1 xir +a2 x,r, +... +a x ir' = = x 7r x IT = a0+ x4 = a x Using the numerical example of P(X)0 above: a4 = 6; a3 5; a2 = 5; a1 = 3; a0 = 1.
In order to constructP(X),, i.e. P(X)r wherer =1, using the above equation: = (a4. r,°)x + (a4,r + a3. + (4 ir + a3. + a2 o)x2 + (a4.4 +a3 *4 +a2.4 +a1.4)X' +a4 *ir +a3.4 +a2 *4 +a, .,r +a0 =6*1.X4+(6.1+5.1)X3+...+(6.1+5.1+5.1+3.1+1.1) = [6]X +{i iJx3 +[16]x2 +[19]x +[2o] In order to construct P(X)4, i.e. P(X). wherer 4, using the above equation: = a4. )x + a4.4 + a3 4)x + a4 4 + a3 4 + a2.4)X2 + * 4 + a3 * 4 +a2 *4 + a1.4)x' + a4 *4 + a3.4 + a2 *4 + a1.4 + a0 *4)x° =6.1.X4+(6.4÷5.1)X3+...+(6.35+5.20+5.JO+3.4+1.1)
-V
=29 =373 = {6]x + [29Jx3 + [85]X2 + [193}x + [373] Given a Generator PIAT Polynomial (x)0 and an index r, it is possible to obtain the r associated Perfect PIAT Polynomial P(X)r from (x)0 using only the values of the coefficients {a0,...a}ofP(X)0anci certain values, from the r row of the CdP.
-87 -This method of jumping directly from a Generator PIAT Polynomial to the associated Perfect PIAT Polynomial is particularly efficient for large index values r. For example, referring back to the numerical example given in FIGs. 25 and 26, a Generator PIAT Polynomial P(X)0 = 6X4 + 5X3 + 5X2 + 3X +1 representing a compressed data sequence could be expending under the PIAT Method to give the 200,000th associated Perfect PIAT Polynomial representing an uncompressed data sequence by carrying out 200,000 PIAT Method steps to arrive at: P(X)2� = 6X4 + 1200005X3 + 120001600005X2 + 8000220001900003X + 400018666976668400001 FIGs. 36A and 36B show the expansion or PIAT-Decompression of a Generator PIAT Polynomial P1(X)0 = 6X4 + 5X3 + 5X2 + 3X + ito construct the 200,000th associated Perfect PIAT Polynomial i (x)200 directly using the CdP: r (x)200000 = (a4 x + (a4 x 2OO,OOO9 + a3 X + (a4 < 2OO,OOO9 + a3 X + a2 x + (a4 x + a3 x + a2 x + a1 x + (a4 x 20O,O009 + a3 x + a2 x + a1 x + a0 x 00000) 88 - = 6x1(200,000+0 1).') x4 L 0!(200,000-1) ) + 6 1(200,000 + I i) 1(200,0o0-0-i)') x3 L 1!(200,000-1)!) O!(200,000-1) +...
6 I (200000+4-1)!') + 5 (200,000+3-1)!') + 5 1(200,000+2_i)! L 4!(200,000-1) ) 3!(200,000-I)'.) 2!(200,000-1)! + 3 ((200,000+1 1)') 1(2oo,ooo+o_1)! 1!(200,000-1)! ) 0!(200,000-1) =(6x1)X4 + (6 x 200,000+5 x i)x3 +...
200,003 x 200,002 x 200,001 x 200,000 200,002 x 200,001 x 200,000 +6x +5x 4x3x2xi 3x2xi 200,00 lx 200,000 200,000 1 +5x +3x +lx -2x1 1 1 g200,000 + [200005]X3 +...
6 x 666866668500005000Q +5 x 333353333400000+5 x 20000100000 + =,rQ0 000 t00ooo +3x200000+ix 1 =g200000 = [6]X4 + [200005]X3 + .. . + [400018666976668400001] Since none of the intervening Associated PIAT Polynomials were calculated, this represents a highly efficient method of data decompression.
-89 -It will also be recalled from above that the Inverse PIAT Method of computing a Generator PIAT Polynomial (x)0 given an associated Perfect PIAT Polynomial P(x),. involves processing one PIAT polynomial P(X),. to find the preceding associated PIAT polynomial P(X)1 and repeating this process until the Generator PIAT Polynomial (x)0 is obtained.
As with the PIAT Method, the inventors have devised an alternative method of using the CdP to jump directly to the Generator PIAT Polynomial (x)0 from an associated Perfect PIAT Polynomial P(X),. and having an index r, without calculating all of the intervening Associated PIAT Polynomials. This method of jumping directly from the associated Perfect PIAT Polynomial P(X)r to the Generator PIAT Polynomial P(X)0 using the indexr also uses the CdP.
It will be recalled that under the PIAT Method, given a Generator PIAT Polynomial P(X)0 aXc + a1X' + ... + a1X + a0 and an index r, there is an associated Perfect PIAT Polynomial in the form P(X). = + + ... + A1X + 10.
It will also be recalled that the r associated Perfect PIAT Polynomial can be found according to the following equation, which only includes values found in the CdP and the values of the coefficients {a0,. ..a}of the Generator PIAT PolynomialP(X)0: P(X)r -90 -To fund r given only the coefficients of the Perfect PIAT Polynomial P(X)r, we know that 2_ mod2 = a_1. This can be verified from any of the numerical examples above.
However, we also know that a1 + r = (see, for example, FIG. 15). Combining these two expressions gives: r = k-1 -a1 -2C mod 2 = c-i - mod 2
IC
Thus, r can be found from knowing onIy2 and 2_ To finda: 2 = a a =--=-=2, since, =lVr. r 1
To find a_1: We know that: = (a x + a1 x Thus,a_1 = Lc r = -,;;c xr = -2 Alternatively, one could use: a1 + r a = = a_1 = -r = I_ -r 2.
To find a_2: We know that: -91 - = a x + x + a, x %_2-a xir2-a 1xr' 2 a_ = C C P C p = 2c-2 -a x -a_1 X = c-2 -k x -a1 x = c-2 -X It -k1 -x x This process can be continued to find all of the coefficients {a,. . . a0} of the Generator PIAT Polynomial p(x)0, without having to calculate the coefficients of any of the intervening PIAT Polynomials.
FIG. 37 shows a numerical example of the Inverse PIAT Method. Given a Perfect PIAT Polynomial, P(X)r = 6 X4 + 35X3 + 120X2 + + , to construct its = A0 associated Generator PIAT Polynomial, we first determine the value ofr using: r2c_Actm0d2c_1im0d2435_35m0d635_5.5 24 6 6 6 To find a4 a4 = 24 = 6 Tofinda3: a3 =k-1 -x,' =2 -24 xlT -_35-(6x5)=5 To find a2: -92 -a2 =2-kx _[_2x]x 24xff5[2x5)x5 = 120-6 x 15-(35-6 x 5)x 5 = 120-90-(5 x 5) =5 To find a1: = a X 7T3 + a_1 x + a_2 x + a_3 x ir A. 3-a x2r3-a 1xir2-a 2xr' 3 2 = a_3 = C r C-r C-r k_3 -a x -a_1 x -a2 X =k -x -[l -x]x [c2 -k x --2 = 4 [24X]x[k -24 X --24 =313-6x35-(35-6x5)x15-(120-6x15-(35 -6x5)x5)x5 =210 =25 =3 To find a1, we can use the shorter calculation method, making use of the fact that we have already calculated a4, a3, a2 and a1: =686-6 x 70-5 x 35-5 x 15-3 x 5 =1 FIG. 38 shows another example of reduction under the Inverse PIAT Method, that employs a correction factor forr.
-93 -Given a Perfect PIAT Polynomial, P(X)r = 3 X2 + 16X + 47, to construct its =22 =2 =.l associated Generator PIAT Polynomial, we determine the value of r using: A2 3 3 3 Tofinda2: a2 = =3 To find a1: a1 =2 -a2xg5 =16-3x5=16-15=1 To find a0: a0 =20-a2x,r -a1 xr =47-3x15-1x5=-3N Since a value of one of the coefficients has been calculated as a negative integer, a correction factor needs to be applied. In this case, the value of the indexr needs to be reduced by unity: Ja1 I'Ni r = r la, NVi='r-*r-1 Using the correction, r = 5-1 = 4.
To find a2 a2 = 3 -94 -To find a1: a1 =A. -a2 xir =16-3x4=16-12=4 To find a0 a0 -_A0-a2 x7r-a1xr 47-3x1O-4x4=1N Using the correction of r, the generator polynomial (x)0 is correctly calculated asP(X)0 =3X2 +4X+1 FIG. 39 shows the optimisation heuristic discussed above in more detail.
The optimisation heuristic defines the ideal construction of a Perfect PIAT Polynomial given an input data sequence in order to allow an optimum reduction in size or compression according to the Inverse PIAT Method. The result of processing under the Inverse PIAT Method gives a reduced Generator PIAT Polynomial associated with the Perfect PIAT Polynomial. The optimisation heuristic belongs to the class of non-deterministic polynomial problems.
The optimisation heuristic includes a rule database 391 which stores all of the logical rules according to the PIAT Protocol that allows optimal reading and processing of the coefficients of PIAT Polynomials.
The optimisation heuristic also includes an inference engine 392 which can deduce properties of polynomials based on verified information, such as properties of previously processed sets of Associated PIAT Polynomials, based on formal logic. The verified -95 -information is stored at a polynomial database 393 which stores the values of coefficients a., b,,. . . , A associated with PIAT polynomials F (x),.. . , i (x) being processed or that have already been processed. A polynomial generator 394 generates PIAT Polynomials for use under the PIAT Protocol.
The main heuristic rules of the system, which apply under the PIAT Protocol, are as follows: * the heuristic can decide to maintain, increase or decrease the degree of the polynomial being analysed (for example to allow for variable-degree polynomials under the PIAT Algorithm or the Extended PIAT Method); * the heuristic can exclude one or more symbol of the polynomial being analysed; * the heuristic can consider all coefficients of the polynomial as a variable-degree "sub-polynomial"; * the heuristic controls the requirement that the coefficient of the lowest degree term in a polynomial be strictly greater than the coefficient of the next lowest degree term in the polynomial; * the heuristic can verify the modulos of the coefficients of the input polynomial relative to the number of lines r calculated by the lnverse'PIAT Method; and * the heuristic can choose to reverse the reading direction of the polynomial being analysed, i.e. change the order in which the coefficients are arranged.
All binary sequences, which are intelligently divided into smaller binary sequences by the optimisation heuristic necessarily correspond to a generator (origin or initial) -96 -polynomial with a number of variable-coefficient symbols. To reduce the computational cost under the PIAT Protocol, the optimisation heuristic can proceed by: identifying a polynomial of the same degree which is linked to the Generator PIAT Polynomial by a truncating/reducing the coefficients; or * by a minimal differential approximation of a value stored in the system relative to a Perfect PIAT Polynomial linked to a known Generator PIAT Polynomial.
Thus, the optimisation heuristic could identify a Perfect PIAT polynomial with a known link (via the indexr) to a known Generator PIAT polynomial and recreate the result, rather than perform the full Inverse PIAT Method to compress the size of the binary data sequence.
Using one of the numerical examples above, the optimisation heuristic could store the fact that an input data sequence of 612000051200016000058000220001 900003400018666976668400001 (in decimal) corresponds to a Perfect PIAT Polynomial of the form P1(X) = 6X4 + 1200005X3 + 120001600005X2 + 8000220001900003X + 400018666976668400001, which can be compressed to a data sequence having only five decimal digits 65531 and an associated six-digit decimal index, r, of 200,000. If the optimisation heuristic were to receive such an input data sequence in the future, it could infer the result of compression under the Inverse PIAT Method rather than having to perform the full Inverse PIAT Method each time it receives that input data sequence.
This is particularly useful when the same data is PIAT-Compressed more than once under the PIAT Protocol. As an example, a user may wish to compress a movie file under the PIAT Protocol into a compressed file and an index and then decompress -97 -the compressed file using the index under the PIAT Protocol at a later date to view the movie file. If they then wish to re-compress the movie file under the PIAT Protocol, rather than having to perform calculations under the PIAT Protocol, the result of the PIAT Compression (compressed data sequence and index) could be inferred by reference into a database of previous compressions.
FIGs. 40 and 41 respectively show the reduction (FIAT Compression) of, and subsequent expansion (PIAT Decompression) to recover, an initial data sequence, such as the 166 decimal-symbol sequence mentioned earlier.
FIG. 40 shows an overview of the steps involved in the Inverse PIAT Method of reducing a large initial data sequence to a smaller final data sequence with an associated final index, rF which indicates the level of compression. Not all of the steps shown in FIG. 40 are essential in reducing the initial data sequence to a smaller final data sequence. For example, the final index, rF, need not be subject to further encoding itself.
The compressed data sequence can also serve as a checksum to provide error-checking capabilities. If an initial data sequence is operated on according to the PIAT Protocol, it produces a smaller data sequence. If the initial data sequence is transmitted to another entity and incurs errors during transmission, the received data sequence would be highly unlikely to produce the same smaller data sequence under the PIAT Protocol as the non-erroneous initial data sequence. If the compressed data sequences were different, it could indicate transmission errors.
-98 -At Step 401, an initial data sequence is received for PIAT Compression. The data sequence may, for example, represent a digital audio file, a digital text file or may take the form of any other input data.
At Step 402, the input data sequence is subject to the optimisation heuristic as discussed earlier.
At step 403, the Inverse PIAT Method is used to process the initial data sequence.
The Inverse PIAT Method may be used to compute each intermediate Associated PIAT Polynomial or may be used to jump directly to the smallest possible Generator PIAT Polynomial (x)0 with the associated index, r. If each intermediate Associated PIAT Polynomial is computed, then, at each iteration, a temporary sequence will be produced.
That temporary sequence corresponds to an Associated PIAT Polynomial reduced by one level.
At Step 404 when desired, the temporary index, is subjected to an entropy heuristic. This involves establishing the best possible encoding for the particular technique of entropic encoding being used to encode the temporary indexr,. More precisely, it involves encoding all or part of the values of the temporary indext. Thus, the entropy of the temporary indexr is reduced by increasing the probability of the occurrence of characters, which greatly optimises the compression rate in line with current methods of entropic compression.
At Step 405 the temporary indexi is subjected to entropy encoding to produce a final index, rF. The final index, rF, together with the final data sequence can be used to reconstruct the initial data sequence.
-99 - FIG. 41 shows an overview of the steps involved in the PIAT Method of PIAT-Decompressing the small final data sequence using the final index, TF, to recover the larger initial data sequence. Not all of the steps shown in FIG. 41 are essential to expand the final data sequence to the initial data sequence, particularly if the final index, r1, was not subject to encoding itself.
At Step 411 the final indexrF that was subject to entropic encoding is subjected to entropy decoding.
At Step 412, the resultant index is subject to an inverse entropy heuristic to provide the temporary index, i.
At Step 413, the compressed data sequence and the temporary index r are used, optionally along with the CdP, under the PIAT Method to reconstruct the initial data sequence. In constructing the initial sequence, it is possible to construct each Associated PIAT sequence or Polynomial iteratively between the compressed and initial data sequence or to jump directly from the final data sequence to the initial data sequence.
FIG. 42 shows how the Inverse PIAT Method and the PIAT Method can be used to compress and decompress, respectively, the indexr generated under the PIAT Protocol. Since the index is, itself, a data sequence and may be relatively large, the index can be subject to PIAT Compression as opposed to conventional entropy encoding. This would generate a further data sequence corresponding to the compressed index and a further index indicating the level of compression of the -100 -compressed index. This process of compressing the index generated at each level can be continued to reduce the overall size of the data, at the possible expense of increased processing time.
To decompress the data, the final data sequence and final index are combined under the PIAT Method to generate the previous index. The previous index can then be combined with the previous data sequence under the PIAT Method to generate the yet previous index. This process can be repeated to recreate the original data sequence.
This method of compressing the index provides not only a further level of data compression, but a further level of security in relation to the original data sequence. For example, if an original data sequence underwent three stages of PIAT Compression, compressing the index at each stage, three data sequences and three indexes would be generated. It would not be possible to reconstruct the original data sequence without knowing or calculating all of the sequences and indexes, save, possibly, for a time-consuming brute force attack. Each of the data sequences and indexes, thus, acts as a decryption key as well as an element of the compressed data.
FIG 43 shows typical compression rates obtainable under the PIAT Protocol contrasted with that under conventional Huffman Coding and under RLE.
As explained previously, a 552-bit (69 ASCII character) initial sequence identical to that discussed in relation to FIG. 22 as being a direct decimal-to-binary conversion of a 166-digit decimal sequence can be compressed under the PIAT Protocol by a rate of 91.3%.
-101 -Under Huffman coding, a codeword having 63 unique ASCII characters and 6 ASCII characters repeated twice, can be used to obtain a Huffman coding having 414 bits (52 ASCII characters). This represents only a 25% compression rate( (1-1.-i) x 100).
552)) Under RLE encoding, since there are no repeated characters in the initial sequence, RLE would return an encoded sequence having the same number of bits (552 bits) as the initial sequence, giving a 0% compression rate ([1_.JJx 100).
Thus, PIAT Compression greatly outperforms both of these known compression techniques based on this initial data sequence.
Huffman and RLE encoding are based on a statistic encoding depending upon the appearance of characters. In the above example, the initial data sequence has a low probability of occurrence: 69 ASCII characters of which 63 are unique. This very fact exposes a weakness in the Huffman algorithm in that the associated Huffman tree of codewords must be locally complete. As for RLE, coding is inefficient. Indeed, RLE only applies when at least 3 consecutive identical characters are identified.
In summary, unlike standard compression that is based on an entropic analysis of the source data, the PIAT Protocol operates directly on the binary values of the input data. The PIAT Protocol provides various advantages over conventional encoding techniques: processing under the PIAT performs lossless data compression; * PIAT processing enables on-the-fly data processing; -102 - * processing under the PIAT is insensitive to the particular type of input data (exe, txt, jpg, ...); * a data stream compressed under the PIAT Protocol further compressible as many times as necessary in a cyclic manner; * the PIAT Protocol is particularly effective whenc = 1, i.e. when P(x) = a1X + a0 deg (x) =1, and x0 1 because of the constant compression level and the fact that the optimisation heuristic is also simplified; * higher rates of data compression can be obtained by increasing the value of x0 at the cost of a higher complexity of calculations; and * the indexr generated under the PIAT Protocol is separable from the compressed data and can serve as a decompression or decryption key.
Polynomial Factorisation and Division It will be recalled that Homer's Scheme can be used to factorise a polynomial by a factorg(x)=x-x0.
Generally, all polynomialsP(X), where P(X)= aXv =acXc +a1X' +...+a1X+a0 can be written as (c.f. Homer's Scheme): P(X) = ((...((x -x0)R+, + R)(x -x0) + . . . R3)(x -x0) + R2 Xx -x0) + R1 The CdP enables all of the the remainders, Rr making up the factorised polynomial to be calculated according to the following equation: -103 -c-r+I Rr= By way of an example, suppose one wanted to factorise P(X)= 6X4 -i-5X3 ÷5X2 ÷3X+1 by(X-1) as many times as possible.
Here, x0 = isince the required factor is(X -x01. Accordingly, the one-dimensional CdP, denoted CdP1 is required.
The remainders R,. making up the factorised polynomial with c +1 »= r »= I are calculated by: Rr (ay+r_j Each of the coefficients Rr can be obtained as follows: TocalculateR1: 4-1+1 4 R1 = (a+i_, x) (a x -*
R
R1 =1x,r+3x,r' +5x.ir12 +5x,r+6x,r =lxl+3x1+5x1+5x1+6x1=20 Thus,R1=20.
-104 -To calculateR2: 4-2+1 3 R2 = (av+2_i xff;)=(av+1xff)-+ R2 R2 =3x,r +5x,r +5x,r +6x'r =3c1+5x2+5x3+6x452 Thus,R2 =52.
TocalculateR3: 4-3+1 2 R3 = R3=[ao+2xJ+[a2xr+[a2+2xr]] R3 =5x,r-i-5xg +6x,r =5x1+5x3+6x6=56 Thus,R3 =56.
TocalculateR4: 4-4÷1 1 R4 = (a÷4_1 xr)=(a÷41 xr)-* a1÷3x R4 =5x7r+6x,r =5x1+6x4=29 Thus,R4 =29.
-105 -To calculateR5: 4-5+1 0 R5 = (a+51 x; ) = (a5_1 x if;)
R
R5=6x,r=6x1=6 This leads to the factorisation of P(X) = 6X4 + 5X3 + 5X2 + 3X + 1 as P(X)=[(X-1(X-1(X-1(X1)6 ÷J++]+Q].
R5 R4 R3 R2 I The validity of this factorisation of P(X)can be verified by expansion, if desired.
It is also possible to calculate Euclidean polynomial divisions in a similar manner to Homer's Scheme by using the CdP in the relevant dimension x0 = n.
Starting from any polynomial P(X)of degree c, using the r row r of the CdP allows all of the quotients Q(X) and remainders R1 of successive Euclidean division of (x) by (x -0) to be calculated as follows: -106 -r -0 -p (x) (x) = Q(X)1 R + I r =1 -* (x-xo) (X-x0) degQ(X)1 =c-I but Q(X)1 ______ Q(x) + (X-x0) 2 (X-x0) r = 2 - (Xx0 2 Q(X)2 + R2 + R1 -...-(X-x0) (X-.-x0)2 -degQ(X=c-2 _____ R3 but Q(X)2 Q(X3 + (x -(X-x) _____ -R 2*** R1 r=c-* + c + (x -x0)c -d? (x -x0)' (x -x0) (x -x0)c -o according to the following formula: (c-r+I c-r (c-r-k I (a_1 x) 1 P(X) - JX + I (X_x0y k=O (X-x)' J Thus, foir = 1, i.e. to divideP(X)by(X-x0)': P(X) = Q(X)1 R + I (X-x0)' -.-----(X-x0) degQ(X=c-I =[a xjxc +[(a xff)+(a_1 x,r)Jx_2 +[(a x,r)+(ai xir)+(a_2 x,r0)Jxc_3 +...+[(ax)+...+(ai (X-x0)' Forr = 2, i.e. to divide P(X)by(X-x0)2: P(X) = Q(X)2 R R1 + 2 + (X -x0)2 1⁄4__' (x -x0) (x -x0)2 degQ(X)2=c-2 =[a x,r0}X2 +[(a x,r)+(ac_j x,)}xc_3 +[(a x2r22)+(ac_l x,r)+(a_2,.O)}Xc_4 + +[( c-2 ax.7r2)+...+ (X-x0)' (X-x0)2 -107 -Forr c (wherecis the order of P(X)), i.e. to dividep(X)by(X_xo)c: P(X) R R R ____ C + C1 (X_xo)C dz?O (X-x0)' (X-x0)2 (X_xo)C =[a (x -x0) (X -x0)C_I (X _x0)c FIG. 44 shows, and an explanation is provided below of, how the polynomialP(X) = 6X4 + 5X3 + 5X2 + 3X + 1 can be written in the P(X) R R1 R form = Q(X) + r + r-** + I (X -1)' r (X -1)' (X -1)2 (X -Firstly, the quotient Q(X)1 and remainder R1 of the first division, i.e. the division by(X-1),are calculated: P(X) - (X-1)' -Q(X),+, = [6xr]x3 +[(6xff:]+[sxff)]x2 ÷[2]÷( xTi)÷[sx/r0J]x1 + [(6 x J + (5 j + ( x j + (3 x J]xo + [(6 + ( ] + ( x + x) + ( x (X -I)' =[6xI1X3 +[(6xI)e(5x1)Jx2 +[(6x1)+(5x1)+(sxI)Jx' + [(6xI)+(sxI)+(sxI)+(3x1)1xo+[(6x1)+(5x1)+(5x:)+(3x1)+(1x1)] =6X3+11X2+16X+19+ 20 (X-I)' -108 -Secondly, the quotient Q(X)2 and remainder R2 of the second division, i.e. the division by(X-1)2 are calculated: P(X) (X-I) Q(X) + R2 R1 = 2 (X-I)'(X-1)2 =[6xn]X2 +[(6xirJ+[5 xn]]x' + (X-I)' (I-I)' =[6x1J12 +[(6x2)+(sxI)Jx' +[(6x3)+(5x4+(5xI)]x0 + [(6x4)+(5x3)+(5x2)+(3x1)] (I-I)' (I-fl2 52 20 =6X2+17X1s-33+ + Q (X -1)' (I -1)2 Thirdly, the quotientQ(X)3 and remainderR3 of the third division, i.e. the division by (x -are calculated: P(X) R3 ÷ + R1 (X-1)3 =Q(X)3 + (X-1)1 (X-1)2 (X-1)3
______ ______
04) \O) 2 52 20 = [6 lx' + [1 x + 1 + (X _ (X -+ [04] La4) 103 [(6x6)+(5x3)+(5x1] ______ 1+ + =[6x1JX' +[(6x3)+(5x1)Jx° + (X-1)' (X-1)2 (X-1)3 R2 56 52 20 =6X÷23÷ + + (X -1)' (X -1)2 (X -1) Finally, the quotient Q(X)4 and remainder R4 of the fourth and final division, i.e. the division by (X-1)4 are calculated: -109 -P(X) Q(X)4 + R4 + R3 + R2 + R1 (X-1) (X-1)1 (X-1)2 (X-1)3 (X-1)4 o B3 R2 B1 Q4 03 56 52 20 + + + La4 (X -1)' (X -1)2 (X -1) (X - =[6x1]x° [(6x4)+(Sxl)] (X-1)4 R4 B3 R2 B1 29 56 52 20 =6+ + + + Q(X)4 (X -1)' (X -1)2 (X -1) (X -1) The above example can be written differently as: P(X) Q(X) R R *** + R1 + r + (X -iy (X -1)' (X -1)2 (X -iy c_r+I c-(r-1)+1 c c-r(c-r-k (ay+r_i xg) (a+(,_ll x2r(_1)) (a x,r1') = (aV x)JXk + v=O + v=O *** + v=O _______________________ (X-1)' (X-1)2 (X-1)' Firstly, forr = 1: Ic -4 =1 To find the first quotient Q(X)1: 4-I (4-1-k) 3 /3-k Q(X)r (aV+l+k x r) Xk I (a÷I+k x rJXk k=Ov=O k=Ov=O (3-0 p3-i J /3-2 13_3 = ) IX° + (a+1+1) X' +1 (a12) 1x2 +1 (a13 x)JX3 v=0) \v=0) v=o = (r + air +a2+I,r12 + r)X° + (aO+2,r;+2'*l + + (aO+37r)X2
-C
= (a1 +a2r1 +a3,r1 +a4,z*1)X +(a2g +a3r +a4ir)X' +(a3r +a4r)X2 +(a4,r)X3 = (3 x 1+5 x 1+5 x 1+6 x 1)X° + (5 x 1+5 xl +6 x 1)X' + (5 xl +6 x 1)X2 + (6 x 1)X3 =Q(X)1=6X3+l1X2+16X'+19X° To find the first remainderR1: 4-1+1 4 R1= =a0x°+a1x,r +a2x2r+a3xJt+a4xg =lxl+3x1+Sxl+5x1+6x1 =20 So, P(X) =Q(x) + R1 (X-1)' (X-1)1 =6X3+11X2+16X'+19+ 20 (X-1)' Secondly, forr 2: Ic =4 r=2 To find the second quotient Q(X)2: 4-2 (4-2-k 2 (2-k Q(X)r = = x -((aV+2+k x,r') JXk k=O v=O k0 v=O I -111 - ,r)JX0 + (a v+2+I > 2rDJx' + x 7r)JX2 = (a020,r +a1207r +a22÷0ir)X° +(a02÷1,r +a121,r)X' +(a022.ir)X2 02 03 04 03 04 2-0 2-I 2-2 E (a,,.2xr)X° (a2÷1xff)X1 (a22xir)X2 =(a2,r +a3,r +a4ir)X° +(a3r +a4,r)X' +(a4ir)X2 (5x1+5x2+6x3)X° +(5x1+6x2)X' +(6x1)X2 =>Q(X)2=6X2+17X'+33X° To find the second remainderR2: 4-2+1 3 R2 = (a2_1 x2r)=(a +1 =a1 x7r+a2X2r +a3 xr +a4 x,r =3x1+5x2+5x3+6x4 =52 So, P(X) R R =Q(X)2+ + (X-1)2 (X-1)' (X-1)2 =6X2-i-17X'÷33÷ 52 + 20 (X-1)' (X-1)2 Thirdly,forr=3: Ic =4 r=3 To find the third quotient Q(X)3: -112 - 4-3 (4-3-k I (I-k Q(X)r =Q(X)3 x2r;) JXk -1\(av+3÷k x7r)JXk k=O v=O k=O v=O = (ax fr;)Jxo + (a v+3+I X lrflJXi = (a030,r° + a130)X° + (a031)X1 vd vJ a3 a4 a4 1-0 I-I (a,30xsr)X° "-0 = (a3r + a4ir)X° + (a4,r)X' =(5x1+6x3)X°+(6x1)X' =Q(X)3=6X'+23X° To find the third remainder R3: 4-3+1 2 R3 =a2xr +a3 +a4 xt =5x1+5x3+6x6 = 56 So, P(X) R R R + 2 + 1 (.X -1) (X' -1)' (X -1)2 (X -56 52 20 =6X÷23+ + + (X-1)' (X-1)2 (X-1)3 Finally, forr = 4: Ic =4 r=4 To find the fourth quotient Q(X)4: -113 - 4-4 14-4-k 0 10-k = 1%S (aV+4+k x,r)Jxk -4 1('v+4+k xJr)JX/t k=0 v=0 k=0 v=O = (a4+ X 7r4))X = (ao+4+04)X0 (a4x,r)X° =(6x1)X° =Q(X)4=6X° To find the fourth remainderR4: 4-4+1 1 R4 = x = (a3 x = a3 x + a4 x =5x1+6x4 =29 So, P(X) R R R2 R1 + + + (X -1) (X -1)' (X -1)2 (X -1) (X -1) 29 56 52 20 =6+ + + + (X-1)' (X-1)2 (X-1)3 (X-1)4 Instead of dividing by(X-1)' (i.e. where; = 1) above, it may be desired to divide P(X)by (x-2), in which casex0 = 2. It then becomes necessary to use the two-dimensional CdP, denoted CdP2.
-114 -If dividing by (x -2)', then the same polynomial, P(X) = 6X4 + 5X3 + 5X2 + 3X+ 1, can be expressed as: a4 a3 at 00 P(X) R _____ R1 + + (X - Q(X)r (X -2)' (X -2)2 (X -2) Firstly, calculating the quotientQ(X), and remainderR1 of the first division, i.e. the division by (x -2)': P(X) (X-2)' =Q(X)+ (X -2)' =[,]x3 + 1(6 x ff +(5 x LL) +{[6x,riJ+(5x)+(5 xrJ+(xr'J]x [6x,riJ+(5xir)+(5xJri')+(3x:J+(1xri0]] + (X-2)' =[6x1]x3+[(6x2)+(sxl)1x2+[(6x4)+(5x2)+(5xI)1x1+[(6x8)+(5x4)+(5x2)+(3x1) 1xo+ [(6x16)+(5x8)+(5x4)+(3x2)+(lxI)] (X -2)' =3+I7X+39X+8I+ 163 (X-2)' Secondly, calculating the quotient Q(X)2 and remainderR2 of the second division, i.e. the division by(X-2)2: (X2)2 = Q(X)2 + + (X-2)' (X-2) =[6xir]X2 +[6xJ+[s xffJ]xt +[(6 x)+[s xJ+(s x:)]xo + 1 1j 163 + (X-2)' (X-2)2 =[6IJX2 +[(6x4)+(5x1)Jg' +[(6x12)+(5x4)+(Sxl)IX0+ [(632)+(5xl2)+(5x4)+(3x1)] 163 (X-2)' (X-2)2
--
275 163 =6X2+29X'+97+ + (X -2)' (X -2) -115 -Thirdly, calculating the quotient Q(X)3 and remainderR3 of the third division, i.e. the division by(X -2): P(X) _____ _____ _____ =Q(X)3+ R3 + R2 + R, (X -2) (X -2)' (X -2)2 (X -2) 0) ) 275 163 +- (X -2)' (X -2)2 (X -2) [04] [a4) L03 R2 R1 = [6x1]x' +[(6x6)+(Sxl)]X0 + [(6x24)+(5x6)+(5x1)] 275 163 + + (X-2)' (X-2)2 (X-2)3 R2 R1 179 275 163 = 6X + 41+ * (X-2)' + (X2)2 + (X-2)3 Finally, calculating the quotient Q(X)4 and remainderR4of the fourth and final division, i.e. the division by(X-2)4: P(X) Q(X) + R4 + R3 + + R1 (X-2)4 (X-2)' (X-2)2 (X-2)3 (X-2)4 R3 R2 R1 6x]X°+ ____ ____ ____ -a4) )] 179 275 163 [a (x2)' (x-2)2 (x-2)3 (x-2)4 -+ + + R3 R2 R1 _[6xl]xo+[(6x8(5x1)] 179 275 163 + + + -(X -2)' (X -2)2 (X -2) (X -2) R4 R3 R2 53 179 275 163 = 6+ Q(X)4 (X-2)' + (X-2)2 + (X-2)3 + (X-2)4 It will be recalled from above that the CdP1 can be derived from the PIAT Algorithm or (Extended) PIAT Method by using an identity polynomial,F(X). The CdP1 can also be derived using the factorial method. Another method for deriving the CdP1 is by Polynomial division of an identity polynomial in the form: -116 -
C vO
C
P(X ____ ____________ _____ _____ 1xC+1xC-'+...+ix+i ) -_______________
-I --
(X_1)r (X_1)r (Xi)' c-r c+1-r c+1-(r-1) = (:+1xv)+ + °+ + .+ (X-i)' (X-i)2 (Xi)r Using a fourth-degree identity polynomial, P(X) = X4 + + X2 + X + 1: P(X) 4-1 4+1-1 r = 1 * v=O -(ff+iX(4_1)_v)+ (X -1)' = (X-1)' -v0 (X 1)1 2 _____ = ±kX-')÷ ,r' _____ X-1)' -(X-1)' v=O P(X) 4-2 4+1-2 r = 2 --(;+,x(4_2_)+ 2+1 + (X-1)2 (X-i)2 -(K-i)' (X-1)2 2 ______+ =(;x2)+ (X-1)' (X-i)2 vrO 2 _____ _____ = -4-rX' + r3 + (X -1)' + (X -1)2 r=...
This can be compared with the result obtained by other methods of polynomial division as: P(X) x4+x3+x2+x'+i 5 = 1X3+2X2+3X'+4+ r =1 (x -i)' = (x -i)' x 1)1 P(X)X4+X3+X2+X'+1ix2316 10 5 r =2 -+ + + (x -1)2 -(x -1)2 I (X-i)' (X-1)2 -117 -4 4 P(X) X4+X3+X2+X'+l 10 10 5 r=3-= =1X+4+ + + (x -i)3 (x - (X 1)1 (X -1)2 (X -1) 4 4 4 P(X) X4+X3+X2+X'+l 5 10 10 5 r=4-+ =1+ + + + (x -(x -, (X -1)' (X -1)2 (X -1) (X -Calculating P(x0) With reference to FIG. 45, is possible to calculateP(X)atx0using the first row, r = 1, of the nthdimensionaI CdP, i.e. using the CdP that has the same dimension as the point x0 about which calculation is desired: P(x0) = axOv = acxoc + ac + ... + a1x0 + a0 However,since,r =ir *x0C, n=x0 n=1
C C C C C
whenr=1,,r1 = =r1 = =1x0 =x0 ax0 nz31
C C
-+ P(x0) = a,x0" = a,, x rJ It can be seen that in calculating P(x0), the powers,c, ofP(X)inXcorrespond to the values of the coefficients,r in the corresponding-d;mersional CdP. For example, the coefficient of the term in X3 (a 3) about the pointx0 = 4 n x0 = 4 would correspond to the value of the coefficient,ron the first rowr = land the fourth columnc = 3 in the 4th dimensional CdP, denoted CdP4.
-118 -FIG. 46 shows, and the calculation below explains how, P(X)about the points x0 land x0 = 2 can be calculated when P(X) X4 + 5X3 + 5X2 + 3X + using the corresponding CdPs; CdP1 and CdP2 respectively.
Forx0 =1, using CdP1: P(x0) = ±(av)= a0 + a1 x +a2 x +a3 x +a4 x =1 x 1+3 x 1+5 x 1+5 xl +6 xl 20 To verify, substituting X = =1 into P(X) = 6X4 + 5X3 + 5X2 + 3X + 1 yields: P(1) = 6[lr +5[ir +5[1]2 +3[l]+1 =20 Forx0 = 2, using CdP2: P(x0) = ±(a x)= a0 x° + a1 x +a2 x + a3 x +a4 =lx 1 +3x 2 +5x 4 +Sx 8 +6x 16 =163 20nI 22.ff 23.g 2.irj To verify, substituting X = x0 = 2 into P(X) 6X4 + 5X3 + 5X2 + 3X + lyields: P(2) = 6[2] + 5[2] + 5[2]2 + 3[2] + 1 = 163 Other Mathematical Formulae Expressed in Terms of the CdP Binomial Expansion A binomial expansion can equally be expressed in terms of cells,r from the CdP: -119 - (a±b)" =ir.am.(±b)° +,r.a.(±b)' .am_2.(±b)2 a° .(±b)m = .a1.(±b By way of a first numerical example: (a+b)4 ±r+i1 a4' *b1 I 0 -* *a4° b° ,r5° *a4 i1-*,r1*a4'*b'=,r*a3*b2 i=2_*,r2a42b2 =,r*a2*b2 i=3-,r3*a43*b3 I 4 -÷ 2T5 a *b4 = ,r *b4 =(a+b)4 ==,r5° *a4+ir*a3 *b2+,r *a2 *b2 +,r *a*b3+,c *b4 ---- d 1=0 1=1 1=2 1=3 1=4 = 1 *a4+ 4 a3*b2+ 6 a2b2+ 4.a.b3+ 1 *b4 =4 =,t =4 =,r =4 Thus by way of two more numerical examples, (1+x)4=1 +4x+6x2+4x3+1x4 4,r 4 Jr 4 (i -(i + (-x))4 -+ 6x2 -x3 + x4 4 4 ir 4 If the sum of the coefficients of a polynomial is in the form 2", then there exists a polynomial P(x) such that P(x) = (x + a)m.
Sum of Natural Numbers The sum of the firstm natural numbers: Sm=1+2+3÷...+(m_l)+m=m(m+1)=1.
-120 -By way of a numerical example: S4 =1+2÷3÷4=4(4+1)=10 54 = = 10 Combinations with and without Repetition It will be recalled from above that the number of combinations without repetition can be found according to the following formula:
CC r
It will also be recalled that this can be mapped to the CdP, which can be thought of as the number of combinations with repetition: (r+c-i)!
I c!r-1
It can be seen from these two expressions that: CC -(r+c-1)! -(r+c-1)! - -II \ \ -I \ -r an r+c-1)-c)!C! r-1jic! -((r-c+1)+c-1)! -r! - r-c+I -II \ \ -i -c!ir-c+1)-1)! c!r-c)! Binomial Law Under the Binomial Law, the probability P of c successes from r trials where the probability of getting c isp is given by: I, =c.pC.(1_py -121 -To map this to combinations with repetition, we can use, from above, that = C,cto give: c c I \(r-c+I)-c c c I \r-2c+I = rrc+i p i -P) r-C+1 -Perfect P/AT Couples and the PIAT Classification Space FIG. 47 shows a small extract from another new mathematical construct, referred to herein as the PIAT Classification Space, for; 1, using the numbers between 1 and 109 inclusive. These individual numbers are denoted herein asa.
The PIAT Classification Space exhibits various remarkable mathematical properties that can be used for data compression and decompression under the PIAT Protocol.
To populate the PIAT Classification Space, we can start with a second-order polynomial in the form: P(x)= a2x2 +a1x+a0, where 0 «= a, «=9.
This polynomiaII(x)is used to represent a three decimal digit number in the form a = a2a1a0. For example, to represent the decimal numbera = 109, a2 = 1, a1 0 and a0 = 9. The number a = 109 has an associated polynomiaL09(x)=1x2 +Ox+9 =x2 +9.
The number a = 74 = 074 can be represented bya2 = 0, a1 = 7 and a0 4. The numbera = 74has an associated polynomial:P74(x)= Ox2 +7x+4 = 7x+4.
-122 -The numbera:=8=OO8can be represented bya2 =0,a1 =Oanda0 =8. The numbera =8has an associated polynomial: P8(x)= Ox2 +Ox+8 z=.
These three-digit numbers a are arranged into Classification Space Families, where all associated polynomials I(x)of the members of the same family have the same value of P.(x0). In this case, wherex0 =1: 109 -*I09(x0)=]09(1)= 1 x12 +Oxl +9=1+0+9=10 74-f P74(x0)=P0741)=0 x12 +7x1+4 =0+7+4=11 8-* F08tx0)=I08(1)=Oxi2 +Oxl +8=0+0+8=8 The decimal numbera = 109 belongs to the family of polynomials for which (i)= 10, a = 74 belongs to the family of polynomials for which p(i)= 11 and a = 8 belongs to the family of polynomials for which p(i) = 8.
The set of decimal numbers a between 1 and 109 inclusive for which (i) =3 is indicated by a dotted by on FIG. 47 as: a =3-*F(1)=Jo3(1)=0x12 +Oxl+3 = 0+0+3=3 a=12-+F2(1)=112(1)=0xI2 + IxI +2=0+1+2=3 a2 x0 a1 x a0 a =21-3I1(1)=121(1)=Ox12 +2x1+1 =0÷2÷1=3 a =30-+I0(1)=F30(1)=0x12 +3 xl+0 =0+3+0=3 a =102 -*J02(1)=1x12 +Oxl ÷2=1+0+2=3 -123 -The only values of I(1)for all of the values of a between 1 and 109 inclusive are between 1 and 18 inclusive.
FIG. 48 shows the classification space forx0 =lof polynomials R(x) associated with all of the values of a between 1 and 299 inclusive. Even a significant number of additional values of a, the only values of J(1)for all of the values of a between 1 and 299 inclusive are between 1 and 20 inclusive.
With reference to FIG. 48 again, the set of decimal numbers a between 1 and 299 inclusive for which p(i) 3 is: a 3-1(1)=Pc3(1)=0x12 +0x1+3 =0+0+3=3 a 12 -f = J12(1)= 0 x 1+ 1 x 1 + 2 =0 + 1+2=3 a =21-* P21(1)=P021(1)=0x12 +2x1+1 =0+2+1=3 a =30 -* ii)= P030(1)_ 0 x 1 +3 x 1 + 0 =0 + 3 + 0 = 3 a =102-*F02(1)=1x12+0x1+2 =1+0+2=3 a =111-F12(1)=1x12 +lxl+1 =1+1+1=3 a =120-> P120(1)= 1 x 12+2 x 1 +0 = 1 + 2 + 0 = 3 a 201 -* F01(1) = x 12+0 x 1 + 1 =2 + 0+1=3 a =210..->P210(1)=2 x12 + x+0 = 2+1+0=3 FIG. 49 shows a graph of the curves of three polynomialspa(x)forwhichPa(1)=9, namely: -124 -F6(1)=0x12+3x1+6=O+3÷6=9 F26(1)=1x12 +2x1+6 =1+2+6=9 J521)=2x12 +5x1 +2=2+5+2=9 These three polynomials P36(x),J26(x),P22(x)alI meet atI(1)= 9. The numbers a = 36,a =l26anda = 252 (as well as twenty-four other valuesa) belong to the same Classification Space Family when x0 = I for which F(I)= 9.
FIG. 50 shows the classification space forx0 =2 of polynomials a (x) associated with all of the values of a between I and 299 inclusive. The only values of J(x0 2)for all of the values of a between 1 and 299 inclusive are between 1 and 35 inclusive.
When x0 = 2, again with reference to FIG. 50, the only decimal numbera between 1 and 299 inclusive for which P(2)= 3 is a =11: a x22 +, x-i-1 =0+2+1=3 FIG. 51 shows a graph of the curves of three polynomials Ra(x)for which J(2) = 23, namely: P79(2)=0x22 +7x2+9 =0+14+9=23 13(2)_ 1x22--8x2+3=4-j-16+3=23 a2 x0 a1 x0 a0 F55(1)=x22+5x2+5=8+1O+5=23 -125 -These three polynomiaIsI9(x),I83(x),F55(x)all meet atI,(2)= 23. The numbers a = 79, a 183 and a 255 (as well as ten other values a) belong to the same Classification Space Family when x0 = 2 for which P (2) = 23.
FIG. 52 shows the set of Perfect PIAT Couples between the numbers I and 99 inclusive. Perfect PIAT Couples can be used with the PIAT Classification Space to provide a compression and decompression technique based on the remarkable properties of the PIAT Classification Space.
A Perfect PIAT Couple for; =1 is a set of two numbers{a1,a2}={a12a11,a22a21} fulfilling the following criteria: * Their Classification Space Families have the same number of elements.
This means that the number of values a having the same image ofI(1)as1(1)must be the same as the number of valuesa having the same image ofI(1)asJ(1). This, in turn, means that there must be the same number of values a on the row in the PIAT Classification Space on which a1 is located as there are on the row in the PIAT Classification Space on which a2 is located; and * a1 and a2 must terminate in the same digit, i.e. a11 = a21.
With reference again to FIG. 52, we can verify that {a1,a2}= {43,83}is a Perfect PIAT Couple because: * p(i)=i3(i)= 4 xl + 3 =4+3=7and there are a total of eight values &I,2 A0 a11 of a in the Classification Space Family for which F(1)= 7, -126 -namely a = 7,16,25,34,43,52,61,70. The only other row that has eight members is that for which p, (i) ii. The member of the Classification Space Family for which i(i)= 1 larea = 29,38,47,56,65,74,83,92 of which a2 = 83 is a member; and * Since a1 = a12a11 43 and a2 = a22a21 =83 we confirm that a11 = 3 = a21.
In fact, any value a1 that forms part of a Perfect PIAT Couple has one and only one partner value a2. Given a value a1 that forms part of a Perfect PIAT Couple, the partner value a2 can be uniquely determined by locating the row in the PIAT Classification Space that has the same number of members of its Classification Space Family as a1 and then finding the only member of that row a2 that has the same finial digit such that a11 = a2,1.
This remarkable property of Perfect PIAT Couples and the PIAT Classification Space can be used to perform lossless data compression and fully recoverable data decompression.
Certain values a in the PIAT Classification Space, however, do not form part of a Perfect PIAT Couple. For example, taking a3 = 79, then a3 is in the classification space row for which Pa(i) = 16. This row has a total of three members, namely a = 79,88,97.
The only other row with three members is the row for which R(i)= 2. The members of this row are a = 2,11,20. However, since a3 = a32a31 = 79, we have that the final digit of the prospective partner number should be a31 =9. Since none of members a = 2,11,20 of the row for which a (i)= 2 have nine as their final digit, none of them forms a Perfect PIAT Couple with a3 = 79.
-127 -[a 1[35 1 By way of a further numerical example, we use the notation = 8 to define a compressed data sequence, a = 35, and an index, /1 8. Using the notion of Perfect PIAT Couples and the PIAT Classification Space described above, we decompress the data sequence, a 35, using the index, fi = 8, as follows: * The final digit of a = 35 is 5; * Using the PIAT Classification Space, we know that the line containing cr = 35 contains 9 elements; * Using the PIAT Classification Space, we also know that ct =35 belongs to the Classification Space Family for which F (i) 8; * The index fi 8 indicates that the PIAT Classification Space row of interest is in the eighth row below the row to which a =35 belongs, so that the row of interest is8+8 =16; * The decompressed value is on the sixteenth line, in a Classification Space Family containing nine elements, and has five as its final digit; * The unique value within the PIAT Classification Space between 0 and 999 for which this holds is 655; * The decompressed data, ad, is a combination of the compressed sequence and the unique value: 65535.
This is a common number in computing because it is the highest decimal number that can be represented by an unsigned 16-bit binary number, 11111111111111112.
Whereas the decimal number 65535 requires 16 bits to store it, the compressed data -128 -r35 1 sequence, denoted 8 requires 6 bits to store the value 35 and four bits to store the value 10, so only ten bits in total.
Using the PIAT Classification space and the notion of Perfect PIAT Couples thus allows reversible data compression.
FIG. 53 shows a method of creating pseudo-isometric composite mapping functions to compress data using the PIAT Classification Space. Three mapping functions are defined: * P1 -Perfect PIAT Couple: the P1 function allows a value in the PIAT Classification Space to be swapped with its partner value in a Perfect PIAT Couple, for example P1(94)= 14; * P2-Vertical Substitution: a number in a column can be swapped with the number in the same column that is the same distance away from the horizontal axis of symmetry for that column as the number to be swapped.
For example, to calculate P2(37), 37 is three numbers below the horizontal axis of symmetry in the column in which it is located. 34 is three numbers above the horizontal axis of symmetry in the column in which 37 is located.
This means thatP2(37)=34.
* P3-Horizontal Substitution: a number in a row can be swapped with the number in the same row that is the same distance away from the vertical axis of symmetry for that row as the number to be swapped. For example, to calculate P3(16), 16 is three numbers to the left of the vertical axis of symmetry in the rowI(1)= 7 in which it is located. 61 is three numbers to -129 -the right of the horizontal axis of symmetry in t the row I (1) = 7. This means that P3(16)= 61.
To show how these functions can be used to compress data, we can define a first exemplary composite mapping function as = P20 P30 P1° P2. To calculate 7(98), we have: (98)P2oP3oP1oP(98)=P2oP3oP(91)P2oP3(71)=P2(i7)12 Because of the symmetry of the mapping functions P1,P2,P3 the inverse composite mapping function of 7, denoted 7' is simply the composite of the same three mapping functions P1, P2, P3 in the reverse order, i.e. = P20 Plo P3° P3. This can readily be seen by considering the pervious example: (l2)= P2oP1oP3oP2(12)= P20P1oP3(17)= P2oP1(71)=P2(91)=98.
A slightly better composite mapping function 7 for this numerical example is7 =P3°P2oP3oP2: 1(98)=P3oP20P30P2(98)=P3oP2oP3(91)=P30p2(19)=p3(1O)1 i (i) = P20 P3° P20 P3(1) = P2° P3o P2(10) = P2° P3(19) P2(9 i) = 98 -__v__ =10 j9 =98 Use of this composite mapping function T and the PIAT Classification space, which includes the notion of Perfect PIAT Couples, allows significant lossless and reversible data compression because the number "1" requires much fewer bits to store than the -130 -number "98" does. The composite mapping function 7 (and its inverse T21) would clearly need to be known in order to determine the route to be navigated through the PIAT Classification Space.
FIG. 54 shows the PIAT Classification Space for the numbers a between 0 and 255 (256 = 28 a byte). Twenty Classification Space Families, F(i) 0,..., i(i) 19, represent all of the binary numbers between 0 and 255 (an 8-bit word).
For PIAT Classification Spaces representing 16 and 32 bits (0 to 65535 and 0 to 4294967295 respectively), the number of Classification Space Families increases in the same manner.
FIG. 55 shows the PIAT Classification Space for the numbers a between 0 and 65535, which would represent a 16-bit word. For 16 bits, the number of Classification Space Families increases to 41. The curve represents a pseudo-Gaussian curve of the 16-bit PIAT Classification Space.
Mathematical Boundaries FIG. 56 shows a summary of the mathematical boundaries with conventional techniques in relation to the PIAT Protocol.
The PIAT Algorithm can be used to find the value of a polynomial P(X)at a pointx0 ( P(x0)), the derivatives of the polynomial P(X)at the pointx0 ( P'(x0),.. . ,P"(x0)) p(n)( ) and the Taylor coefficients of the polynomial P(X)at that point x0 ( -131 -The PIAT Algorithm can also be used to perform a change of base of numbers, Euclidean polynomial division or polynomial factorisation.
The PIAT Algorithm can also be used to approximate rootsf of polynomials P(x*)= Oand is consistent with the Newton-Raphson method.
The PIAT Algorithm can be used further to calculate binomial coefficients and other values in combinatorics.
The PIAT Algorithm is consistent with Homer's Scheme and can be used to find the values of Pascal's Triangle.
FIG. 57 shows the mathematical consequences of the PIAT Protocol.
The PIAT Algorithm leads to the PIAT Method (and its inverse), which in turn leads to the network of polynomials, polynomial classification methods, the PIAT Classification Space and Perfect PIAT Couples.
The PIAT Algorithm also leads to the PIAT Square (CdP) which in turn leads to calculating and testing of prime numbers (see below) and also to a method of polynomial factorisation.
Further Properties of the Carré de PIA T (CdP) The following formulae, that can be found in the Formula Index with a numerical example, are useful for this part of the description.
The factorial method for calculating the value of,r: -132 -(r+c-1)! iv [Formula 3] r The horizontal hockey stick method for calculating the value of ir: rc =n =,r°1 +ir1 +,r1 [Formula 4] The vertical hockey stick method for calculating the value of ir: = = + + ... + + [Formula 5] The triangular method for calculating the value of ir: = + [Formula 6] The formula for calculating n as a function of it (the cell in the CdP directly above and to the left): [Formula 7] c(r-1) The symmetry rule: lo «= C «= r -* irc = r [Formula 8] «= r «= c -The formula for calculating,r, where ir is on the PIAT Diagonal (i.e. whereir=ir): -133 -kr-I (2r -2)! (2r -2)! [Formula 12] (r-1)!(r-1)! [(r-1)!r A variant of the vertical hockey stick method: r =ir' [Formula 16] Restricted CdP (CRdP,.) Referring to FIG.58, for all r E N, there is a Carré Restreint de PIAT (Restricted Carré de PIAT), denoted CRdPr, the corners of which are uniquely defined by the following four cells of the CdP: It will be observed that the cells in the first column c =0 (i.e. ,ç°, where r 1,2,3,...) and the cells in the first rowr =1(i.e. ,r, wherec = 0,1,2,...) do not form part of the CRdP.
The total sum of all of the values,r in the CRdPr, denoted CR dP, can be found from one of the cells ir1 on the PIAT Diagonal (the set of cells in the form 2t where a E N U {o}) according to the following calculation: iCRdPI r _2r=+h1_2r=(2_2r=(2_2r.
r r+l r!(r + 1-1)! r!r! (rI)2 The cell ir÷1 is indicated in a dotted box in FIG. 58.
-134 -The Dénombrement (number) of cells,r contained in a CRdPr, denoted DCRdP, can be calculated as follows: 2 2 (r-1+2-1)! (r-2+2-1)! r! (r-1)! DR -sr +it2 + + C dP, r-I r-2!(r-1-1)! 2!(r-2-1) 2!(r-2)! 2!(r-3)! r(r-1) (r-lXr-2)1(2222) J(2r2 -4r+ 2)=r2 -2r+1= (r-1)2 Thus,DCRdP 7tri +7T2 =(r-1)2.
The cells and r2 are indicated by grey boxes in FIG. 58.
Referring to FIG. 59, a numerical example of calculating I CRdP and DCRdp is shown for CRdP3. The cells {,r,,r:,,r,,r32}making up the CRdP3 are indicated in grey boxes in FIG. 59.
To calculate CRdPI3 using the above formula: r=3-ICRdPJ3 =n -2x3=20-6=14, or: ICRdPI (2r)!(2x3)!66!66x5x46120620614 (r)2 (3/)2 (3!)2 3 x 2 xl 6 This can be verified by inspection as: CRc/Fl3 =7t+7T +7r+7r =2+3+3+6=14.
To calculate DCRd,, using the above formula: DCRdP 3-I + 3-2 = ir + = 3+1 =4, or: -135 -DCRdP =(r-1)2 =(3_1)2 =22 4 This can be verified by inspection since the cardinality of, or number of elements in, the set {ir,,r,ir,ir}is 4.
Triangle de P/AT (TdP) FIG. 60 shows the Triangle de PIAT (PIAT Triangle), denoted TdP.
For all r E N, there exists a triangle that is uniquely defined by the following three corner points: ( i. i--i. r-i 2 As with the CRdP, it will be observed that the cells in the first column c = 0 (i.e. ,r, where r 1,2,3,...) and the cells in the first rowr = 1 (i.e. n, wherec = 0,1,2,... ) do not form part of the TdP.
The total sum of all of the values r in the TdPr, denoted ITdPIr can be found from the value ir on the PIAT Diagonal according to the following calculation: ITdPI = (r+1+r-1)! = (2r)!2. = (2r)!2r r r!(r + 1 -1)! r!r! (rI)2 There also exists for all r e Na Triangle hors Triangle de FIAT (Complementary PIAT Triangle), denoted ThTdPr. The TdTdP, is uniquely defined by the corner points (2r,';7r;ff;') and is the complement of the TdPr within the CdPr. The total sum of all the values r in the ThTdPr can be obtained by the following calculation: -136 -IThT1hir I11 -ITdPI = _2r_[___2'j2' -2r.
IcRdPl ITdPL The Dénombrement (number) of cells contained in the TdPr can be calculated according to the following formula: rx(r-1) 2 7Tr_l The number of cells contained in the Complementary PIAT Triangle, ThTdPr, can be found by: -DTd, (rri r-2) 2rrt = Dcp,jp The sum of the values,r on the hypotenuse of the TdPr (and also of the ThTdPr), denoted HTdP, can be obtained from Pascal's Line which can be found within the CdP, for which the sum of all of the values on any liner of Pascal's Triangle is 2, according to the formula: HrdP=2'2.
The justification for the subtrahend in this expression is because, by definition, the values 1 and,r =1 (see FIG. 60) both lie on Pascal's Line, but do not form part of the TdP or the hypotenuse of the TdP.
FIG. 61 shows a numerical example of how these formulae can be used to calculate various values associated with the TdP3.
The total sum of the values,r within the TdP3 can be calculated as: -137 -r=3-)ITdPI3 =r -2 =20-8=12, or: ITdPI (2r)!(2x3)!820812 (r!)2 (3!) This can also be verified by inspection as: ITdPI3=+2r+2r=3+6+3=12.
The number of cells in the TdP3 can be calculated as: 3x(3-1) 3x2 DTdp = = =3 This can also be verified by inspection since the cardinality of, or number of elements in, the set {2T,2r, r}is 3, The sum of the values on the hypotenuse of TdP3 can be calculated as: HTdp=2"-2=23-2=8-2=6.
This can be verified by visual inspection as: HTdP =r+7r =3+3=6.
Divisibility Criterion It is possible to determine whether or not a prime numberc E P is a factor of r using the CdP. For all(,r, r,c) E N, c is a factor of r iffr is not a factor ofr and c is not a factor ofr iffr is a factor of,r: -138 -J(c)div(r) (r)-div(ir) where c «= r -1 (c)-,div(r) (r)div(,r) where c «= r -1 If r = 15, then we can find the prime factors,c E P, ofras follows.
c=2EP_==8eN=15djv(1r125) 2-idiv(15) c=3 p_7rr_2Z:i5_68O_4533 Ni 15-div(ir5) 3div(15) 11628 =775.2 Nl5div(,r5) 5div(15) r 15 15 r 15 15 c=11EP_+-=!70=29716OEN15div(/r)11-,div(15) r 15 15 c=13EP--==20058300=133722OeN15div(g)13-,div(15) r 15 15 The only values of c P for which (15)-,div(ff) are c = 3 and c = 5 and so 3 and 5 are the sole prime factors of 15. It is also observed that since 15 has prime factors it is not itself a prime number.
It is interesting to note that when c = 1: C 1 E P --c-= -=1 E N I 5divr5) i-thv(i 5) r 15 15 This leads to a contradiction since 1 is clearly a divisor, and hence a factor, of 15.
The only possible conclusion of this is that I is not a prime number, which is in accordance with the modern definition of a prime number which does not consider unity to be a prime number.
General Criterion of Primality -139 -As the reader will no doubt be aware, a prime number is a natural number {1,2,3,...} which is divisible only by itself and unity. Prime numbers are indicated herein in set notation as r E F, where P is the set of all prime numbers.
For example, seven is a prime number (7 E P) since it is only divisible by one and itself (seven). Ten is not a prime number because, although it is divisible by one and ten, it is also divisible by two and five, both of which are prime numbers, Indeed, the number ten can be written as a product of prime numbers as: 10 2 x 5. This expression is called a prime factorisation of the number ten.
It is possible to write a larger number, such as twenty, as a product of natural numbers as, forexample:20=4x5or20=2x10. However, neitherof these is a prime factorisation since four and ten are not prime numbers. The number twenty can be prime-factorised as: 20 2 x 2 x 5 = 22 x 5.
FIG. 62 shows a system for cyclic PIAT Encryption which makes use of prime numbers. An initial data sequence, typically a binary sequence, is optimised under the optimisation heuristic. This defines an ideal Perfect PIAT Polynomial P(X)r. The optimisation heuristic allows the binary sequence to be divided into a set of coefficients {2...,A0}OfP(X)rtO realise optimal recovery of the data under the PIAT Protocol, particularly the Inverse PIAT Method.
All of the polynomials (x) that are calculated under the Inverse PIAT Method are coded/encrypted by the XOR operator using prime numbers. These prime numbers result from the sequence of prime numbers (see below). The selection of prime numbers is defined by a private key generated by a random number generator, which -140 -could be a p-RNG (pseudo random number generator) or a q-RNG (quantum random number generator).
The temporary sequence represents a new sequence to compress via the concatenation of n initial polynomials. Compression and encryption are cyclic. The final index memorises the value ofr for the decompression phase at each compression cycle.
The final sequence is defined by the final polynomial(s) that cannot be compressed further by the system in the sense that the size (in octets) of the final polynomial(s) is slightly less than or equal to that of the index.
In general, prime numbers and prime factorisation are important in information technology, most notably in cryptography. For example, the well-known RSA algorithm uses, as a modulus for generating a public and private key, n -p q where p and q are both large prime numbers. The RSA algorithm relies, in part, upon the difficulty of factorising the large numbern,i.e. the difficulty of finding p and q given n.
For all prime numbers, r P, it can be shown that all of the values ir in the r PIAT Triangle, TdPr, are divisible byr. Mathematically, this can be written as: r P,r ETdPr rfrr, whereaIb k Ns.t.b=k-a.
All values r on the r line of the TdPr, where 0 <c «= r + 1 and r E P, are divisible (r+c-1)! byr. S:ncerr = / , then: c!r-1)! c=1-,r = = (r-1)! =r,which is clearly divisible byr -141 -c-2--,r,2 _(r+2-1)!_ (r+i (r+1XrXr-1)! ((r+lXr-1)ñ which is --2!(r-1) 2!(r-1) 2(r-1)! 2(r-1)! J' also clearly divisible by r c-3--+,r _(r+3-1)!_ (r+2) _(r+2Xr+lXrXr_1)!_..,f(r+2Xr+lXr_1)ñ --3!(r-1)! 3!(r-1)! 6(r-l)! 6(r-1)! which is again clearly divisible by r.
It is clear that all values r from c ito c r -1 on the line rare divisible by r.
If r E P, then it can also be shown that all values ir on the previous liner (r -1)of the TdPr are also divisible byr, for all values of c satisfying the inequalityl <c «= r-1: (r-1+1--1)! -(r-1)! =(r-1), which is clearly not divisible byr.
(1)!(r-1--1)!(r-2)! = (r -1 + 2 1)! (r)! r(r 1) ri{ -ifl, which is clearly divisible (2)!(r-2)! (2)(r-2)! 2 ( 2 J by r.
It is clear that all values of z from c = 2 to c r -1 on the row r -1 are divisible byr.
If r E P, then it can also be shown that all values ir on the liner = (r -2)are also divisible byr, for all values of c satisfying the inequality: 2 <c «= r -1: (r-2+1-1)! -(r-2)! =r-2, which is clearly not divisible byr.
r-2 = (1)!(r-2-1)! -(1)!(r-3)! 2 (r-2+2-i)! (r-1)! (r-i)(r-2) which is clearly not divisible r-2 (2)!(r-2-1)!2!(r-3)! 2 by r.
-142 - -(r-2+3-1)! -(r)! -r(r_1)(r_2)_rJ(r_l)(r_2)l which is r_2(3)i(,r21)!(3)!(3)! 3! -1 6 J clearly divisible byr.
It is clear that all values of,r from c 3 toe = r -ion the row r -2 are divisible byr.
In general, it can be shown that if r P, then all values,r on the liner = (r -k), wherek «= c <rare also divisible byr, for all values of c satisfying the inequality: k <c «= r -1: -(r-k+c-1)! (r-k+c-1)x(r-k+c-2)x...x(r-k) r-k -(c)!(r-k-l)! c! lfO<k<c<r,thenc-k-1»=Oandso r-k+c-1»=r. Thus, there isaiwaysa value ofron the numerator of each 7Tk. There results a triangular construction, TdPr, which is made up of values n, all of which are divisible by r, where 0 < c < r -1.
However, if each of the values in the TdPr is divisible by r, then the sum of those values is also divisible byr (i.e. if AIB k1 s.t.B = k A and AIC k2 s.t.C = A then (B + c) A(kj + k2), which is clearly also divisible by A).
Thus, the General Criterion of Primality can also be expressed by means of a summation of the values r in the TdPr, denoted I TdFI, as follows: * Vr e P,rJTdPrI ITd1IE 0(modr)-r divides the sum of the values r in the TdPr, or the sum of the values in the TdPr is zero (mod r); -143 - * Vr P,ITdPrI = -0(mod r)-r divides -2, or -2 is zero (modr); * VrEP,(Jr1 _2r)r1 [(2r)!_2rJr.i = r =e(where (r.) _____ all,in TcIP e E N) -division of any of the equivalent expressions for finding ITdPL, byrgives a natural numbere(and no remainder).
This can be verified forr = 7 E P by checking that 7 E P (kiJ e, IT'I,xr whereeE N: (+3J k=l ____ v-I 7 v=l 7 7 7 7 7 k=2 ____ v=2 v=2 7 7 7 7 7 7 k=3 ____ k=4 _____ k=5 ____ k=6)(2nl6÷l)fL)2t2l k{l...6} 3245+131+63+25+7+1=472=eeN.
-144 -Thus, seven is a prime number.
The above summation calculation could alternatively also be determined as follows: (ir; -2) = 3432-128 = 472 = e E N, where ir can be calculated by the factorial, vertical or horizontal hockey stick or triangular calculation methods, or simply by visual inspection of the CdP1.
These techniques can also be used to show that the number fifteen (which can be prime-factorised asl5 =3x5) is not a prime number.
Recall thatr e p e, whereeE N. kI v-k r If r = 15, then we need to compute: 15-I ( ) 2t5 kI vk 6=1 >(2r + z-4L 12 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15
-
4533 773.2 =54479.33 =330730.4 =643846.66 6-2 + + «= .2 15 2 15 15 15 15 15 15 15 15 15 15 15 15 15 15
-------
37.33.358.66:571.2.3808.8 -33161.33 76273.06.166409.6.346688.66.693373.35 20, ____ + + + L. ÷+ s-+ + + + + 15 =_ 15 15 15 15 15 15 15 15 15 15 15 15 15
------
=30.33.323.33 -432.53:1237.6.33591 -39595.53 -43109.73.90338.53.380277.06.546686.66.643846.66 6=4 ___ + + + + + I j2j3J4 15 15 15 15 15 15 15 15 15 15 15 15 15
--- --
=291.2 =82506 =2121.6 =5038.8 =11197.33 =23534.4 =47028.8 -145 - ________ 15_I( _____ _&.k) + 4 + 4 + 4 + 4 + .. + + .L + + y5 15 15 15 15 15 15 15 15 15 15 15
- -
=200.2 =533.86 =1296.53 =2917.2 =6158.53 =12317.06 _______ 15-I( k=6 > V 156÷1) =-) = 4 + 4 + 4 + 4 + .°-+ 4 + 4 + 4 + 4 v=6 15 15 15 15 15 15 15 15 15 15 15
---
=333.66 =762.66 =1620.66 =3241.33 15-1 1 v) 14.(:i) .9 i0 + + .i2 i3 k=7 >V15-7+I -- +_+__1 v=7 15 15 15 15 15 15 15 15 15 15 _______ 15-I( k=8 21 5-8÷1) -) = + + + + + + v=8 15 15 15 15 15 15 15 15 15 _______ 15-1( v k=9 V l5-9+1) i) v=9 15 v-9 15 15 15 15 15 15 15 2 13 14 ________ IS_l( k=10 > +) .k) -+-+---+---+---v=1Q 15 v=io 5 15 15 15 15 15 k=ll _____ 15 TdI 15 15 15 15 15 15-1( V k=12 V \15-12+i) ) v=12 15 v=12 15 15 15 ________ 15-1( V k=13 15-13+1) -.k) = + v=13 15 15 15 15 _________ 15_i( v k=14 ST l 5-14+1) - .fj) v=14 15 yj4 15 15 kI..I4} 15 225 1695 8625 33755 109845 313335 812185 + + + + + 15 15 15 15 15 15 15 1958253 4456035 9657245 20058195 40116585 77558759 + + + + + + 15 15 15 15 15 -155084752 10338983.47 N -15 -146 -is-i (15-I ( v SinceI I5i)JNr=15P k=l -k I This is a relatively lengthy calculation and it can be significantly quicker to compute by recalling that: r E p (çT, -2t = e, where e N. =ITdPI Calculating: (:+-2')5-' 155117520-32768 0388347 Thus,15P.
The General Criterion of Primality can also be expressed by means of products: ) \ r-I (r-1 pr-I ( v -IUI('_k+I)) [TI [T(:_k÷I) Vr E,flF fl r-k+I = v=k) -k1 vk) -e, whereeeP.
k1 =k r k=I r(T_ -(r-k) -7-1 Forr = 7, we need to compute the value of fJ 7(7k) 7-1 6 fl(ff;1+1) Uk) 12545280 k=i v1 -vl _____________________________________ > (7-1) -76 76 7-1 6 [T(2r2+I) [1(6) XRXff:Xff:X,: k2 v=2 -v=2 ____________________________ > 7(72) -75 = 75 -7-1 6 U (;+) J](ir;) ,r5 X7T5 xr >< = 27000 k=3 v=3 = v=3 ___________________ 7(7_3) 74 74 7-1 6 u;+) uk) k=4 y4 __________ _______________ =480 7(7_4) 73 73 -147 -fi('r;.5+') ft() 5 6 ____________________ -y5 -2Z3 X7t3 -12 7(75) -72 --f1i(;_6+1) j[J(7r;) 6 k6 v=6 = v=6 7(7_6) 71 7 k{1..6} >12545280x1026432x 27000x480x 12x1 = 2002611886306099200000 EN ThUS,7EP.
Tchebycheff's Theorem Tchebycheffs Theorem was formulated by postulated by the French mathematician Joseph Bertrand in 1845 and proved by the Russian mathematician Pafnuty Tchebycheff in 1850. It states that if n E N,n> 3, then there is at least one prime number between n and 2(n -i). The proof of this theorem is omitted herein.
The P/AT Theorem The PIAT Theorem states that for all r E N, with r >3, there is always at least one prime number p, between rand 2r -2 whose associated PIAT Triangle will always intersect with the PIAT Triangle associated with the previous prime number p,_1.
Reference is made to FIG. 63 which shows the CdP1 and various PIAT Triangles TdPs associated with the prime numbers 3,5,7,11,13 E P. According to Tchebycheff's Theorem, if r = 5, then between r = Sand 2r -2 = 2 x 5-2 = 8, there exists at least one prime number. 7 is such a prime number and, as can be seen from FIG. 63, its PIAT Triangle, TdP7, intersects the PIAT Triangle, -148 -TdP5, associated with the preceding prime number, 5. The intersection includes the cells Again, according to Tchebycheffs Theorem, if r 7, then between r = 7 and 2r-2=2x7-2=14-2=12,thereexistsatleastoneprimenumber. 11 issucha prime number and, as can be seen from FIG. 63, its PIAT Triangle, TdP11, intersects the PIAT Triangle, TdP7, associated with the preceding prime number, 7. The intersection includes the cells -The consequence of this is that if r E P is a prime number that is strictly greater than 3, then between rand 2r -2 there exists at least one prime number p whose associated PIAT Triangle, TdP, always intersects the previous PIAT Triangle TdPr associated with r. In particular, any cell on the PIAT Diagonal (i.e. cells in the form z) for which r e P (i.e. in the form is necessarily in the intersection of its associated PIAT Triangle TdPr and the following Prime PIAT Triangle.
The P/AT Diagonal (DdP) With reference to FIG. 64, for all r e N, there exists a PIAT Diagonal (DdPr) defined by an infinite number of points such that: DdPr {r°,ir,r..ir'}, where (r+r-1-1)! (2r-2)! (2r-2)! = = [Formula 12] (r.-1)!(r-1)! (r-1)!(r-1)! [(r-1)!r The Sequence of Prime Numbers According to the General Criterion of Primality and the PIAT Theorem, for all numbers r E N, where r > 3 the prime-factorisation of all of the values r on the PIAT -149 -Diagonal, DdP, will have, as a prime factor, the next prime number immediately greater thanr.
Reference is made to FIG. 65. Forr = 5 E P, the prime-factorisation of,r, which is on DdP is equal to: it54 = 70 = 2 x 5 x 7. It follows from this that the next prime number immediately above five is seven.
Forr = 6 P, the prime-factorisation of,r, which is on DdP is equal to: ,r = 252 22 x 32 x 7. It follows from this that the next prime number immediately above six is seven.
Forr = 7 P, the prime-factorisation of,r, which is also on DdP is equal to: ,r = 924 22 x 3 x 7 xli. It follows from this that the next prime number immediately above seven is eleven.
The remarkable consequence of this is that iteration of this process establishes the sequence of prime numbers, one-by-one by the prime-factorisation of all the cells it' (where p e P) on the DdP.
The PIAT Theorem, thus, gives specific values for which prime-factorisation should be calculated in order to find the next prime number. This is tantamount to saying that given any prime numberp1 e F, it is possible to fine the next prime numberp11 Pby ( +P -1-1)! (2p. -2)' calculating the prime factors of ir = 2 (p, -1)! (p, -1)! {(,, -1)!] -150 -As the value of p, increases, this calculation inevitably requires significantly more computational power. However, it pinpoints the special natural numbers (those on the DdP) that should be prime-factorised to find higher prime numbers. Given the amount of processing time and power that are wasted on trying to prime-factorise numbers that do not lead to higher prime numbers, this approach provides a significantly more efficient method of finding high prime numbers.
At present, the highest known prime number isp1 243112609 -1. Given enough computing power, the next prime number p1 E Pcan readily be found by computing: 43112609 h h -- 243u2609_1 = [((243112609 i)i) and then prime-factorising the result. Both 43l 2609 p. and z+1 are prime factors ofr;431262.
FIG. 66 shows how the values ir, r E Nand r > 3, on the DdP can be used to calculate subsequent prime numbers. For example, it can be seen that when r = 7, = 2 x 3 x 7 xli, which gives the next prime number as seven and whenr=ll, ,r =22 xllxl3xl7xl9, which gives the next prime number as eleven.
The Restricted Criterion of Primality Theorem FIG. 67 shows the Restricted Criterion of Primality Theorem. For all prime numbers r E P, -land -1 are divisible by r2: rrl 1-l rEP' r = r+ =e,whereeEN. r r
-151 -This can be seen by starting with writing using the horizontal hockey stick method: = + + ... + + r, we can write: :+1 ==,+,r+...+,r:-'+,: And in particular, -i=g-i= v=o byr if r e P. This is because {,r,i,,r2,. . are all contained in TdPI. and, according to the General Criterion of Primality, all values r in the associated TdPr are divisible byrwhenrEP.
Thus, 1 e, where e e N if r P. r-I 1 In conclusion, when r2frr -1, i.e. when = ewheree E N, then r P. For example, taking values of r = {s,...,i 1): rr_ul r-1 r-1 126-1 125 r=5-r+ = + ____ = ---=5N=5EP r2 52 25 25 25 r2 62 36 36 r-1 7-I 6 r1 -*1 r7 -1 8 1 1716-1 1715 r=7-* r = + = = = =35EN=7EP r2 72 49 49 49 -152 -r=8-* ,r -1 = -1 -1 6435-1 =100.5 N=8P r2 82 64 64 r-I 1 8 -1 24310-1 r=9-+'_-1 _l0 = -300 1N9EP r2 92 81 81 r=iO-* ,r-1 irj -1 = ir -1 = 92378-1 92377N10P r2 102 100 100 r-1 1 10_i 52h1 I r=1i_+1 _II+1'_l2 = I) =2915EN=11EP.
r2 112 121 121 This process can be repeated for increasing values ofrto find high prime numbers or to verify whether a candidate prime number is indeed a prime number.
Fermat's Little Theorem Fermat's Little Theorem is named after the French mathematician Pierre de Fermat who stated it, without proof, in 1640. It was later proved by the German mathematician Gottfried Leibniz some time between 1640 and 1683.
Given a prime numberr E F, then for every natural number, a, we have the congruence:a' a(modr). For example, ifr=7 anda =4,then ar =47 =16384=(2340x7+4.
=rJ =o We can use Fermat's Little Theorem to test whether an integer r is prime. If there is indeed an integera such thata'is not equal toa(modr), then thatris not prime. The problem is that there are numbers, called "Carmichael numbers', named after the American mathematician Robert Carmichael, which satisfy Fermat's Little Theorem, but which are not prime (341, 561, 645, 1105, 1387, ...). Thus, even if the -153 -numberr conforms to Fermat's Little Theorem, it may still not be prime (the converse of Fermat's Little Theorem is false). This test can prove that r is not prime (i.e. if it does not satisfy Fermat's Little Theorem), but not that r is prime.
The PIAT Primality Test, derived from the General Criterion of Primality is valid because it applies to all the values ir which form the PIAT Triangle, TdPr: rrr+I -2' O(modr).
The Restricted Criterion of Primality (opposite sides of TdPr) together with the Primality test based on Fermat's Little Theorem (hypotenuse of TdPr) are based on only some of the values of the PIAT Triangle, TdPr, which makes these tests necessary but not sufficient.
The Carmichael numbers do not satisfy the test under the Criterion of Restricted Primality. For example, with r = 341, ,r and,r are the only two values that are not divisible by 341. This implies, according to the Criterion of Restricted Primality, that 341 is not a prime number and that 11 and 31 are factors of 341: 5*192329*31*43*I73*343*347*349*351 519*23*2943*173343347*349*351 N 341 -31.11 -11 341-idiv(r1) 1 ldiv(341) 341-I 1 2T3411 - N I ldiv(341) Right of Primality With reference to FIG. 68, for all r e N, there is a Right of Primality ("Droite de Primalité") denoted DdPM defined by an infinite number of points such that: -154 -DdPM {7rrr..ir}, where,r =ir. By the rules of symmetry, there is a second Right of Primality DdPM', where DdPM'= {r,47r..ir}.
Properties of the Carré do P/AT (Summa,y) FIG. 69 shows a summary of the further remarkable properties of the CdP that have been discussed above, including: * Sequence of Prime Numbers * General Criterion of Primality * Restricted Criterion of Primality * The PIAT Theorem * DCRdP r-1 + r-2 = + DThdp * Intersection of two PIAT Triangles * The PIAT Diagonal, DdP * Rights of Primality, DdPM and DdPM' * Vertical and Horizontal Hockey Stick Methods * Compatibility with Tchebycheffs Theorem * Pascal's Line Various modifications will be apparent to those skilled in the art.
-155 -Formula Index Formula 1 -The valueir, indicated by a rowrand columncin the Carré de PIAT: Formula-,r * Numerical Example -,r = 1716 Formula 2 -Initial values of 1r in CdP1: * Formula-,r?=,r=1 * Numerical Example -= r2 =1 Formula 3-Calculating the value of n according to the factorial method: (r+c-1)! * Formula -,r = r c!(r-1)! * NumericalExample,=(8+61=-!L=22x3x11x13=1716 617! 617! Formula 4 -Calculating the value of,r according to the horizontal hockey stick method: * Formula-,r =n =,z1+,r1+...+,rl+,rc1 * Numerical Example -ir =n =ir+r +2r+7r =4 Formula 5 -Calculating the value ofr,c according to the vertical hockey stick method: -156 - * Formula -= = + + + + 7T * Numerical Example -r = ,r1' ÷,r +r +,r +1r =126 Formula 6 -Calculating the value ofaccording to the triangular method: * Formula -= + * Numerical Example -+ r 21+35 =56 Formula 7 -Calculating the value of,r as a function of nj: (r+c-2)(r+c-1) * Formula-ç [fri]X[ ] c(r -1) * Numerical Example - =[]x[12x3]=462xi=1716 Formula 8 -Rule of symmetry amongst,r: IO«=c«=r=,rc * Formula-,r'=j1= IO<6<8=rc * Numerical Example -r, = ir =1716= Formula 9 -Algebraic implication of Formula 7: : =:::ixi 2Xr÷c1)1 (r-1)x(c)x[] * Formula-c(r-1) =(r+c-2)(r+c-1)x[,r1] -157 - 1r8 I(8-1)(6)[,r] =(8+6-2)(8+6-1)[,r'] * Numerical Example -I c6 17x6x1716=12x13x462=72072 r Formula 10-Formula for calculating,r with an isolated quantity-:
C
= (r+c-1)! (r-i-c--1)(r+c-2)...(r)(r-1)!1 I c!(r-1)! * Formula-=[2'] c! =iji(c_1)(r÷c_2).(1)j c (c-i)! * Numerical Example - 1r= 8 =[!.Jx[ (8+61)(8+62)(8+63)(8÷64)(8+65) (6-i)! =I Ic=6 6 4 =-x1287=1716 Formula 11 -Criterion for the divisibility of,r byr as a function of c: I(c)div(r) -* (r)-idiv(,r) / c «= r -1 * Formula -1(c)div(r) (r)div() / c «= r -I 792 N5-idiv(8) c=5 (8) 8
* Numerical Example
-
lc=3 (9) 9 Formula 12-Calculating 2rwhere2rIies on the PIAT Diagonal (DdP): 1.-I (2r-2)! (2r-2)! * Formula r (r-1)!(r-1)! = [(r_1)!]2 * Numerical Example -r7 = (2x7-2)! =924 (7-i)!(7-i)! -158 -Formula 13-Relationship between a value on the PIAT Diagonal (DdP) and r: r-(2r-2)! r-2 (2r-3)! Formula-,r = =2,r =2 (r-1)!(r-1)! r (r-1)!(r-2)! 6 5 X -).
* Numerical Example -= 27 = 2 = 924 (7-1)!(7 -2)! Formula 14 -Formula for 7rj1' presented in Formula 9: (r+c-3)! * Formula-jr = (c-1)!(r-2)! 6-1 (8+6-3)! * Numerical Example -ir = = 462 8-I (6-1)!(8-2)! Formula 15 -Variant of Formula 4 (horizontal relationship): * Formula -jz = 1r-3 * Numerical Example-- =ir =r+ir+r+ir =20 v=O Formula 16 -Variant of Formula 5 (vertical relationship): * Formula-n-f * Numerical Example -,z = ÷4+4+4+4 =126 Formula 17-Direct Criterion of Primality: -159 - * Formula-e='/eENand e=2/eEN u;-: -1 1716-I * Numerical Example -+ = =35 -p35 E N -p7 E P 72 49 Formula 18 -Direct Criterion of Primality based upon a variant of Formula 8 (symmetry): r+1 r+11 * Formula-e=''__-_/eeNande= r 2 IeEN r r z*7' -1 1716-i * Numerical Example-=35-*35eN--7eP 72 49 Formula 19-Proof by induction (controlling the divisibility ofrbyrwhenris a prime number: * Formula - (r-k+c -1)! = (r-k+c-I)x(r-k+c-2)x(...)x(r-k) r-k (r-k-1)!(c)! c! * (r-1+2 -1)! (r)! r(r-11 (r-1) * Numerical Example -r = = = r (r-1-1)!(2)! (r-2)!2 2 2 Formula 20 -Calculating the value of the hypotenuse HTdP of a PIAT Triangle: * Formula -2 = * Numerical Example - 2 =+ ÷ ++ + ÷+7 =128 -160 -Formula 21 -Criterion of Primality by the hypotenuse of a PIAT Triangle (Fermat's Little Theorem): _______ 2r_2 (1+1)r_2 * FormuIa-e=° = IeEN-*rEP r r r * Numerical Example - _______ 2-2 1÷1 -2 v=0 = ____) =1818EN7P 7 7 7 Formula 22 -Initial PIAT Polynomial * Formula -P(X) avXv acXc + + + aX + a0 * Numerical Example -P(X) = 6X4 + 5X3 + 5X2 + 3X +1 Formula 23-Euclidean Division of P(X)by(X-x0): * Formula -P(X) = (X -x0)Q(X) + P(x0) 1deg(P(xo)) < deg(X -x0) deg(Q(X)) < deg(P(X)) A deg(Q(X)) = n-i e Numerical Example -P(X)=6X4+5X3+5X2+3X-i-1=(X-1)(6X3+11x2 +16X+19)+20 Formula 24 -The Homer Method (successive Euclidean division of P(X)by(X -x0): * Formula-xoF4P(x0)=ax-l-a1x +...+a2x+a1x0 +a0 F-f P(xo)=((...(ax0 +a1)o +...a2k0 +a1)x0 +a0 -161 -x i-P(X) a a_2 a0 ______ axo (axo + a..1)x0 _____ ______ Qi (X) + R a axo + a1 (axo + a_1)x0 + a_2 _____ P(x0) _____ axo ((axo+a_i)-i-axo)xo ____ ______ ((ax0 + a1) + ax0)x0 Q2 (X) + R2 a (axo + ar_i) + axo + ((ax0 + a1)x0 + a2) ______ ________
__ ______ _______ __ __
Q,(X) +R a dTMy 1 x0 I-> P(x0) := -P(x0) ° dxi' 1u! * Numerical Example -P(X)=6X4+5X3+5X2+3X+1 P(X) -6x3+11X2 20 +1 6X +19+ (X-1)' (X-1)' P(X) 52 20 6X2+17X+33-i-+ (X-1)2 = (X-1)' (X-1)' P(X) -6X+23 56 52 20 + + + (X -1) -(X -1)' (X -1)2 (X -1) P(X) 29 56 52 20 6+ + + + (X -1) = (X -1)' (X -1)2 (X -1) (X -1)
-
P(X) =((x -1X(x -IX(x -1X(x -1)6 + 29)4-56)+52)+ 20)

Claims (16)

  1. -162 -CLAIMS1. A method of decompressing a compressed data sequence (P(X)0), comprising: providing an index (r) indicating the level of compression of the compressed data sequence (P(X)0) relative to an initial data sequence (P(X)r); and non-entropically decompressing the compressed data sequence (P(X)0) by applying the index to the compressed data sequence(P(X)0) to obtain the initial data sequence (P(X)r).
  2. 2. A method of decompressing a compressed data sequence (P(X)0), corn prising: providing an index (r) indicating the level of compression of the compressed data sequence (P(X)0) relative to an initial data sequence (P(X)r), the index (r) being separable from the compressed data sequence (P(X)0); and decompressing the compressed data sequence (P(X)0) by applying the index to the compressed data sequence( P(x)0) to obtain the initial data sequence (P(X),.).
  3. 3. A method according to claim 1 or 2, wherein the decompression comprises: dividing the compressed data sequence (P(X)0) into an ordered set of coefficients ({a,a_1,...,a1,a0}), each coefficient being a sub-sequence of the compressed data sequence (P(x)0); -163 -increasing the magnitude of at least some of the coefficients to provide an increased ordered set of coefficients ({2, ,. .. , A,, A0}), the increased ordered set of coefficients defining the initial data sequence (P(X)r.
  4. 4. A method according to claim 3, wherein the value of the index (r) is equal to the value of the division of: as numerator, the difference between: the value of the second-smallest coefficient in the increased ordered set, and the value of the second-smallest coefficient (2_) in the increased ordered set modulo the value of smallest coefficient in the increased ordered set (2); and as denominator, the value of smallest coefficient in the increased ordered set (k).
  5. 5. A method according to claim 3 or 4, wherein the decompression comprises a coefficient-increasing cycle of: providing the first coefficient (2) in the increased ordered set with the same value as the first coefficient (ar) in the ordered set; adding a multiple (x0) of the first coefficient (k) in the increased ordered set to the second coefficient (a1) in the ordered set to provide the second coefficient (2) in the increased ordered set, the second coefficient (2) in the increased ordered set being larger then the first coefficient (k) in the increased ordered set; adding a multiple (x0) of an ilth coefficient (A1) in the increased ordered set to the i coefficient (a1) in the ordered set to provide the ith coefficient (A,) in the increased ordered set for all other coefficients in the ordered set, the ith coefficient (A,) in the -164 -increased ordered set being larger than the i.lth coefficient (An) in the increased ordered on each occasion.
  6. 6. A method according to claim 5, wherein the decompression comprises multiple coefficient-increasing cycles, the magnitude of at least some of the coefficients being increased during each cycle.
  7. 7. A method according to claim 5 or 6, wherein the value of the multiple (x0) is unity and wherein the ordered set of coefficients ({a,a_1,...,a1,a0}) and the increased ordered set of coefficients ({A,2_1,...,21,20}) each comprise only two ordered coefficients ({a1, a0} {A.1, A0)).
  8. 8. A method according to claim 3 or 4, wherein the decompression comprises calculating the increased ordered set of coefficients ({2, . . , A. A0 directly from the ordered set of coefficients ({a, a_1,. * ., a, a0)) and using values (pr) located in the Carré de PIAT (CdP).
  9. 9. A method according to any preceding claim, comprising receiving the compressed data sequence and/or the index from a communications network or retrieving the compressed data sequence and/or the index from a memory, preferably comprising receiving or retrieving the index separately from the compressed data.
  10. 10. A method according to any preceding claim, comprising transmitting the decompressed initial data sequence to a communications network or storing the decompressed initial data sequence in a memory.
    -165 -
  11. 11. A method according to any preceding claim, wherein the compressed and decompressed initial data sequences are binary data sequences.
  12. 12. A method according to any preceding claim, wherein the index is compressed, and the method further comprising decompressing the index, preferably using entropy decoding or decompression under the PIAT Protocol.
  13. 13. A computer program comprising computer-readable instructions which, when executed, cause a data-processing apparatus to perform a method according to any preceding claim, a computer-readable medium comprising the computer program or a signal comprising the computer program.
  14. 14. Apparatus arranged to decompress a compressed data sequence (P(x)0), comprising a processor arranged to: provide an index (r) indicating the level of compression of the compressed data sequence (P(X)0) relative to an initial data sequence (P(X)r); and non-entropically decompress the compressed data sequence (P(X)0) by applying the index to the compressed data sequence(P(X)0)to obtain the initial data sequence (P(X)).
  15. 15. Apparatus arranged to decompress a compressed data sequence (P(x)0), comprising a processor arranged to: provide an index (r) indicating the level of compression of the compressed data sequence (P(X)0) relative to an initial data sequence (P(X),.), the index (r) being separable from the compressed data sequence (P(X)0); and -166 -decompress the compressed data sequence (P(X)0) by applying the index to the compressed data sequence( P(X)0) to obtain the initial data sequence (P(X),.).
  16. 16. A method, apparatus, computer program, computer-readable medium or signal substantially as described herein with reference to Figures 6 to 69.
GB1007797A 2010-05-10 2010-05-10 An algorithm for cyclic compression and decompression of a data sequence Withdrawn GB2480261A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1007797A GB2480261A (en) 2010-05-10 2010-05-10 An algorithm for cyclic compression and decompression of a data sequence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1007797A GB2480261A (en) 2010-05-10 2010-05-10 An algorithm for cyclic compression and decompression of a data sequence

Publications (2)

Publication Number Publication Date
GB201007797D0 GB201007797D0 (en) 2010-06-23
GB2480261A true GB2480261A (en) 2011-11-16

Family

ID=42315097

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1007797A Withdrawn GB2480261A (en) 2010-05-10 2010-05-10 An algorithm for cyclic compression and decompression of a data sequence

Country Status (1)

Country Link
GB (1) GB2480261A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496297B1 (en) 2021-06-10 2022-11-08 Pqsecure Technologies, Llc Low footprint resource sharing hardware architecture for CRYSTALS-Dilithium and CRYSTALS-Kyber

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998051035A1 (en) * 1997-05-09 1998-11-12 Neomedia Technologies, Inc. Method and system for accessing electronic resources via machine-readable data on intelligent documents
US20070022217A1 (en) * 2005-07-19 2007-01-25 Ayres Kenneth J Jr Systems, methods, and media for managing an interactive streaming image system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998051035A1 (en) * 1997-05-09 1998-11-12 Neomedia Technologies, Inc. Method and system for accessing electronic resources via machine-readable data on intelligent documents
US20070022217A1 (en) * 2005-07-19 2007-01-25 Ayres Kenneth J Jr Systems, methods, and media for managing an interactive streaming image system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496297B1 (en) 2021-06-10 2022-11-08 Pqsecure Technologies, Llc Low footprint resource sharing hardware architecture for CRYSTALS-Dilithium and CRYSTALS-Kyber
WO2022260672A1 (en) * 2021-06-10 2022-12-15 Pqsecure Technologies, Llc A low footprint resource sharing hardware architecture for crystals-dilithium and crystals-kyber

Also Published As

Publication number Publication date
GB201007797D0 (en) 2010-06-23

Similar Documents

Publication Publication Date Title
Melchor et al. Hamming quasi-cyclic (HQC)
Boyle et al. Function secret sharing for mixed-mode and fixed-point secure computation
Calderbank et al. Modular and p-adic cyclic codes
Hart et al. Algorithm for generating derivative structures
EP3468201B1 (en) Data compression
Barenco et al. Elementary gates for quantum computation
Seberry et al. Nonlinearity and propagation characteristics of balanced boolean functions
Marcus et al. A survey of matrix theory and matrix inequalities
Eager et al. Dimer models and integrable systems
CA2855169C (en) Method and system for coding information
TW201017525A (en) Semi-sequential Galois field multiplier and the method for performing the same
Kim et al. Automorphisms of the dimension group and gyration numbers
Zilic et al. A multiple-valued Reed-Muller transform for incompletely specified functions
GB2480261A (en) An algorithm for cyclic compression and decompression of a data sequence
Eagen Bulletproofs++.
GB2480262A (en) An algorithm for cyclic compression and decompression of a data sequence
Wilson A lemma on polynomials modulo pm and applications to coding theory
GB2480260A (en) An algorithm for compressing and decompressing a data sequence using polynomials
GB2480259A (en) Data sequence encryption using primes generated from random natural numbers
EP4136582A1 (en) Improved concept for a representation of neural network parameters
Wang et al. Hierarchy-oriented searching algorithms using alternative duplicate codewords for vector quantization mechanism
Pradhan et al. Reed-Muller like canonic forms for multivalued functions
Flahive et al. Balancing Cyclic $ R $-ary Gray Codes
US11210066B2 (en) Fixed value multiplication using field-programmable gate array
CN113179151B (en) Universal software implementation method for middle-up rounding learning in post-quantum cryptography construction

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20131017 AND 20131023

WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)