In Search Of Exotic Arithmetic Operators


by

Huen Y.K.

CAHRC, P.O.Box 1003, Singapore 911101
http://web.singnet.com.sg/~huens/
email: huens@mbox3.singnet.com.sg

(A short communication - 1st released: 1/6/97. Revision: 2/6)

Abstract

In the development of sequence algebra, the author had discovered early that mixed mode arithmetics cannot be avoided in some sequence algebraic formulations [4 to 6]. Metaphorically, arithmetic and logical operators are like oil and water - they do not mix too well. Since the natural number system has multiple numeric levels whereas boolean logics has binary levels, there is always a loss of information after logical operations. The process is irreversible. It would be ideal if logical operations can be replaced by equivalent arithmetic operations as then one could confine computations to within the arithmetical domain. Here is a collection of exotic arithmetic operators, some of which find applications in sequence algebra but others are still awaiting takers.


1. Introduction

This paper describes some exotic arithmatic operators which have interesting arithmetic properties. The original reason for the search was because in sequence algebraic analyses, one often encounters the need to use mixed-mode operations [4 to 6]. The following operators will be described and possible applications suggested.

(i) Normalising operator Normc( )

When the author discovered that some number theoretic functions cannot be written in sequence algebraic format using arithmetic operators alone, he solved these by mixed mode formulations, i.e. algebraic equations which contain both arithmetic and logical operations [4 to 6]. They are the next-best things but their use hinders algebraic manipulations. Amongst the very first one developed was Normc( ) which is called a normalising operator. This is in the same category as Abs( ), Float( ), Fract( ), and Floor( ) and like them are not really arithmetic operators as they do not follow conventional arithmetic rules. In spite of this, Normc( ) is still a powerful operator which gives much insights on sequence algebraic manipulations and the developments of efficient algorithms. What Normc( ) operator does is to reduce all numerator coefficients to unity values in an algebraic sequence. Without it, it is impossible to handle sequences as algebraic objects within sequence generating functions.

Example 1 shows an important use of Normc( ) to derive the Prime(z) sequence from the already known Nat(z) and Comp(z) sequences. The problem with Comp(z) sequence is that most numerators have values greater than unity. This often arises from cross multiplications of terms in sequences. This means that it is not possible to subtract Comp(z) from Nat(z) to find Prime(z). This is remedied by applying Normc(Comp(z)) to reduce all its numerators to unities before sequence subtraction. At present Normc( ) has not been included as a builtin intrinsic function by symbolic software developers. The computational problem would have been made easier if symbolic softwares offer two types of sequence multiplications instead of just cross multiplication. When two sequences each with n terms are multiplied, we get the product sequence containing 2n-1 cross product terms. We will call this sequence cross product. The other type of multiplication could be called sequence ordered multiplication where terms of the same order are multiplied without any cross product terms. The resultant sequence has only n terms just like in sequence addition and subtraction. The absence of sequence ordered multiplication makes it difficult to develop arithmetic operators which could emulate logical operators in operations. Addition and subtraction are sequence ordered but the numerator coefficients can only be summed or differenced but not multiplied. Example 1 shows the application of Normc( ).

Example 1: Prime(z) = Nat(z) - Normc(Comp(z));

Nat(z) :=

................1......1......1......1......1......1.....1.....1......1......1......1......1.......1
1 + 1/z + ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ----+..
..................2.......3......4......5......6......7......8......9.....10....11...12...13....14
................z......z.......z.......z.......z......z......z......z.......z......z......z......z.......z.................(1)

.......................................1........2........2........1.........2......4.......2...........1
...................Comp(z) := ---- + ---- + ---- + ---- + --- + --- + --- + O(---)................(2).
...........................................4.........6.......8........9......10.....12.....14........15
........................................z........z........z.........z.........z........z........z.........z

.................................................1........1........1........1........1........1........1
................Normc(Comp(z)) := ---- + ---- + ---- + ---- + --- + --- + -----+... ...............(3).
..................................................4.......6.......8.......9.......10.......12.......14
.................................................z........z... ...z........z........z.........z.........z

......................................1........1........1........1........1........1
.................Prime(z) := ---- + ---- + ---- + ---- + --- + ------ +... ..............................(4).
........................................2........3.......5.......7......11.......13
......................................z........z........z........z........z........z

(ii) 1AND: A noncommutable arithmetic AND operator

The mathematical function F(x,y) = x^y can be developed into a one-way arithmetic 1AND operator. y can accept binary or arithmetic inputs but x must accept binary inputs. We demonstrate this by example 2.

Example 2: Given x = {1,0,1,0,1,0,1,0,1} as the filter and y = {1,2,3,4,5,6,0,8,9} as the sequence to be filtered by AND logic, here is how this can be effected arithmetically using a mapping procedure.

1AND(x,y) = x^y = {1^1,0^2,1^3,0^4,1^5,0^6,1^0,0^8,1^9} = {1,0,1,0,1,0,1,0,1} ...................(5).

???(y,x) = y^x = {1^1,2^0,3^1,4^0,5^1,6^0,0^1,8^0,9^1} = {1,1,3,1,5,1,0,1,9} ......................(6).

In equation (5), x is the arithemtic one-way or 1AND operator where the 1s will allow similarly ordered elements from y to pass through being at the same time reduced to unities, and the 0s will block correspondingly order elements from the y-sequence. After processing, the resultant sequence is in 1s and 0s which could be interpreted either as numerics or binary logical levels. The elements in the filter x can be arranged in any order one chooses.

Reversing the role of x and y will give different results. This is why 1AND is a one-way arithmetic AND operator. In equation (6), ???(x,y) = y^x does not give very interesting result and it will not be adopted.

Map is an instrinsic function in LISP and also most symbolic softwares. Here we have a look at the Map function in Maple V R 3 (see refernce section 4a). Unfortunatley the syntax does not provide for the last item to be replaced by an array sequence thus limiting the processing power of this function. What is required is an ordered mapping between two sequences of the same length. It has not been verified whether there are other symbolic softwares which might provide the ordered Map function. There is one catch as 0^0 is not defined. In the present context, it would be necessary to redefine 0^0 = 0 for consistency.

>map(proc(x,y) x^y end,[1,2,3,4,5,0,8,9],2);

......................{1,4,9,16,25,0,64,81} ..............................................(7).

In view of the absence of a proper ordered Map function, one called OMAP will be defined here as follows:

> 1AND(x,y):= OMAP(proc(x,y) x^y end, [1,2,3,4,5,6,0,0,9],[1,0,1,0,1,0,1,0,1]);

.......................{1,0,1,0,1,0,1,0,1} ................................................(8).

Following after this is a group of arithmetic operators which accepts only binary logic inputs but processes these using arithmetic operations only.

(iii) AAND: A commutable arithmetic AND operator (both x and y accept binary inputs only)

.................AAND(x,y):= (2x-1)*(2y-1); .......................................(9).

Here are the rules of AAND-operator:

..................(2^1-1)*(2^1-1) = 1
..................(2^1-1)*(2^0-1) = 0
..................(2^0-1)*(2^1-1) = 0
..................(2^0-1)*(2^0-1) = 0 ................................................(10).

(iv) SXOR: A dual personality arithmetic XOR operator

(a) A binary to tertiary level convertor:
..................SXOR(x,y) := (2x-1)-(2y-1); ...................................(11a).

Rules of SXOR:<

..................(2^1-1)-(2^1-1) = 0
..................(2^1-1)-(2^0-1) = 1
..................(2^0-1)-(2^1-1) = -1
..................(2^0-1)-(2^0-1) = 0 ...........................................(11b).

(b) An arithmetic XOR-operator:
..................SXOR(x,y) := ABS((2x-1)-(2y-1)); ..........................(12a).

Rules of arithmetic XOR:
..................(2^1-1)-(2^1-1) = 0
..................(2^1-1)-(2^0-1) = 1
..................(2^0-1)-(2^1-1) = 1
..................(2^0-1)-(2^0-1) = 0 ...........................................(12b).

(v) No-carry arithmetics

What is no-carry arithmetics? Answer: it is arithmetics of infinite radix based integers. We are used to the decimal radix but there are other radices such as the binary, the octal and the hexadecimal number systems. We are at home with the decimal system by long usage -- not because we have ten fingers although that helped before the advent of handheld calculators. Imagine a calculator which adopts the infinite radix based number system. We need only one alphnumeric LED display unit on the calculator so that the symbol # might represent 1234059839. You will need infinite number of distinctive symbols to represent all the distinctive integers. Surely, it is madness! Well, not really. Since we do not have a bottomless symbol set, let us use the decimal number system itself as the symbol set to represent infinite radix based integers within each digit. However within the symbol set, we still need carries since we are still using the decimal number set. This will save us from using an infinite number of symbols.

No-carry arithmetics can easily be simulated in sequence algebra. Given an integer number = 12345, we can represent this in sequence algebraic format as shown in equation (13):

..................................................................3..........2........1
...............................Numb(z) := 5 + 4/z + ---- + ---- + ------ .........................(13).
.....................................................................2.........3........4
...................................................................z..........z........z

Conventionally we write multidigit integers from left to right starting with the most significant digit. In machine languages, we write these backward in chunks called nibbles or bytes. Ideally we should write from right to left so that all numbers are aligned at the least significant digit. The way 12345 is represented in sequence algebraic format in equation (13) follows the right-to-left rule.

Note that the least significant digit, i.e. 5 is associated with 1/z^o and the most significant digit, i.e. 1 is associated with 1/z^4. The choice of z^o ensures that when Numb(z) is raised to any positive integer power n, the product sequence will always start from z^o. This is called order- invariance [1,2,3].

Let us compare conventional arithmetic operations on Numb(z) with no-carry arithmetics using sequence algebra.

Conventional Arithmetics:

Addition: 12345 + 12345 = 24690 where the least significant digit has a carry over to the next higher digit because it exceeds 9. This is done automatically in calculators and computers. However, carries can be suppressed in machine languages but may not be available in some higher level languages.

Multiplication: (12345)^2 = 152399025

A 5-digit integer number when squared yields a product of 9 or 10 digits and of course all carries are automatically processed.

Sequence Algebraic No-Carry Arithmetics

.......................................................3.......2.......1
Let...............Numb(z) := 5 + 4/z + ---- + ---- + ---- ...............................(14).
.........................................................2.......3.......4
.......................................................z.......z......z

......................................................................................6.......4........2
Then........ Sum(z):= Numb(z) + Numb(z) = 10 + 8/z + ---- + ---- + ----
.........................................................................................2.......3.......4
......................................................................................z........z.......z

...........................................................= {2, 4, 6, 8, 10}. ...................(15).

If carries are effected in equation (15) the result will be {2,3,5,9,0} which agrees with conventional arithmetical computations.

Here is an example of sequence cross multiplication used to emulate ordinary multiplication of 12345^2.

..............................40....46.......44......35.....20......10.......4.......1
Numb(z)^2=25+ ---- + ---- + ---- + ---- + ---- + ---- + ---- + ---- .......................(16).
............................z.............2.........3.......4.......5........6.......7.......8
........................................z..........z.......z.........z........z........z.......z

This would be reported in no-carry format as: {1,4,10,20,35,44,46,40,25}. ...........(17).

If carries are cleared, then we get: 152399025 which agrees with computations from conventional arithmetics.

Not shown here is subtraction which can result in under-carries. Sequence algebra cannot handle sequence divisions since conventional divisions involve multiple digits and are quite different from conventional multiplications.

With no-carries, representations of numerator coefficients could reach astronomical sizes using decimal based symbols in compiled programs. Since sequence algebra is computed using symbolic softwares, this is not a major problem. The application is confined to number theoretic sequences in the natural number system where positive numerator coefficients are expected.

No-carry arithmetics does not make life any easier for school children since we do not have an infinite symbolic set, but multiprecision integer computations are made easy using a symbolic algebraic software.

2. Computations Of Goldbach's Sequences

Goldbach's sequence is defined as follows by the author:

..................Goldbach(z) : = Normc(Prime(z)^2); ........................(18).

Note that Godlbach(z) has a quadratic form with Prime(z) as its variable. All sequence algebraic functions process holistic sequences as algebraic variables. It is quite unlike conventional number theory. This is a good example of the application of no-carry arithmetics.

Example 2: Determine whether Prime(z)={3,......,19} is a full goldbach sequences which is also labelled as GS1(19):0.

..........................................1..........1.......1.......1.......1.......1.......1
.......................Prime(z) := ---- + ---- + ---- + --- + --- + --- + ------ ...............(19).
.............................................3.........5.......7......11......13......17......19
..........................................z.........z........z......z........z........z.........z

Goldbach(z) :=

..1......2.....3.......2......3......4......4......4.......5......6......3......2.....4......2......1.......2......1
----+ ----+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ---+ ----
.....6......8.....10....12....14....16....18...20....22....24....26....28...30....32...34....36...38
..z.......z......z......z......z......z......z......z.......z......z......z......z......z......z.......z.......z......z ...........................................................................................................................(20).

On checking the indices of the order variables z's in the denominators, it can be seen that no even integers are missing. This is therefore a full Goldbach's sequence. One interesting question is whether there are any more full Goldbach's sequences. So far none have been found. Even if another is found at an astronomical scale, it will not prove or disprove Godlbach's conjecture. In fact it might be more fruitful to investigate whether half the Godlbach(z) sequence is full. If you square two identical Prime(z) sequence you will get a triangular formation of coefficient arrays as shown in equation (23).

........................................a(3).....a(5).....a(7).....a(11).....a(13).....a(17).....a(19)
...................Prime(z) := ------ + ----- + ----- + ------ + ------- + ------ + ------- .............(21).
............................................3..........5.........7.........11.........13.........17.........19
.........................................z..........z..........z..........z.............z............z...........z

The reason for assigning array indices to follow the order values of z-variables is obvious if you note that the sum of the numerator indices equal exactly the index values of the z-variable in the Goldbach(z) as shown in equation (22).

.................................2..............................2...............................................2
............................a(3).......a(3) a(5)......a(5)......a(3) a(7).......a(5) a(7)...a(7)......a(3) a(11)
Goldbach(z) := ------- + 2 ---------+ -------+2---------+2-----------+-----+2----------
...................................6.............8...........10...........10...............12.........14...............14
................................z...............z............z.............z..................z..........z................z

.........a(3) a(13)..........a(5) a(11)..........a(5) a(13)........a(7) a(11)......a(3) a(17).......a(7) a(13)
.....+2 ----------+ 2 --------------+ 2 ------------+ 2 ------------+ 2 -----------+ 2-----------
.....................16....................16....................18..................18...................20...................20

...................z......................z.......................z....................z.....................z.....................z

...................................................................2
...........a(3) a(19).............a(5) a(17).....a(11)........a(5) a(19).........a(7) a(17).........a(11) a(13)
.......+2 ------------ +2 ------------ + ------- +2 ------------ +2 ------------ +2 ------------
......................22...................22...............22...................24..................24...................24
..................z......................z...................z....................z....................z....................z

...................................2.....................................................................................................2
.....a(7) a(19)......a(13).....a(11) a(17).......a(11) a(19).....a(13) a(17).....a(13) a(19)....a(17)
+ 2 -----------+ ------ +2 -----------+2 ------------+2 -----------+2 ------------+-------
..............26.............26.............28....................30....................30...............32.............34
...........z.................z...............z......................z......................z.................z...............z

................................................2
............a(17) a(19)...........a(19)
.......+ 2 --------------- + -------- ..............................................................(22).
......................36..................38
....................z....................z

If all the array terms belong to the same ordered z-variable terms are collected together, we get equation (23). From this set of equations we note that squared arrays are located along the diagonal of the Goldbach's matrix. Those off diagonal elements always appear in pairs. The values on the RHS are simply the arithmetic sums of the numerator coefficients in Goldbach(z) (see equation (22)) on the LHS.

Equation (23) shows the equations for the first half of the Goldbach(z) sequence.

Order...Arrays......................................................Sum
z^6.....a(3)^2.........................................................=9
z^8.....2a(3)a(5)....................................................=30
z^10....a(5)^2+2a(3)a(7).........................................=67
z^12....2a(5)a(7)....................................................=70
z^14....a(7)^2+2a(3)a(11).......................................=115
z^16....2a(3)a(13)+2a(5)a(11)................................=188
z^18....2a(5)a(13)+2a(7)a(11)................................=244
z^20....2a(3)a(17)+2a(7)a(13)................................=246
z^22....2a(3)a(19)+2a(5)a(17)+a(11)^2...................=405
z^24....2a(5)a(19)+2a(7)a(17)+2a(11)a(13)............=834
z^26....2a(7)a(19)+a(13)^2 ....................................=475
z^28....2a(11)a(17).................................................=374
z^30....2a(11)A(19)+2a(13)a(17).............................=860
z^32....2a(13)a(19).................................................=494
z^34....a(17)^2........................................................=289
z^36....2a(17)a(19).................................................=343
z^38....a(19)^2........................................................=361 ............................(23).

Table 1 shows how these array elements are arranged in the Goldbach's matrix form.

Table 1 - Elements of Eqn(23) Arranged In A Goldbach's Matrix

......3..........5..........7.........11.........13.........17.........19

------------------------------------------------------------------------------------------

3....x..........2x........2x........2x.........2x.........2x.........2x

5.................x.........2x........2x.........2x.........2x..........2x

7.............................x.........2x.........2x..........2x.........2x

11.......................................x..........2x..........2x..........2x

13....................................................x...........2x..........2x

17..................................................................x...........2x

19.................................................................................x

-----------------------------------------------------------------------------------------

.....{key: x represent array products. For exampe
.....Array (3,3), the array product is a(3)^2}

The array sum on the RHS of equation (23) can be computed a Maple V R 3 program line as shown below:

> for i from 3 to 19 do map(proc(x,i) i*x*(isprime(i)-false)/(true-false) end, [3,5,7,11,13,17,19], i) od;

The output lines will contain zeroes only if i is a nonprime being detected by the primality testing function isprime( ). The expression (isprime(i)-false)/(true-false) will be zero if i is a nonprime. The summed arrays corresponding to the first half of Goldbach(z) in the last line in equation (24) placed to the left of the # marks.
[9, 15, 21, 33, 39, 51, 57] #
....[15, 25, 35, 55, 65, 85, # 95]
..........[21, 35, 49, 77, 91, # 119, 133]
.................[33, 55, 77, 121, # 143, 187, 209]
.......................[39, 65, 91, # 143, 169, 221, 247]
..............................[51, 85, # 119, 187, 221, 289, 323]
......................................[57, # 95, 133, 209, 247, 323, 361]

The array sums are shown to the right of the # sign.
[9 30 67 115 188 244 246 # 405 834 475 374 860] ................ ............(24).

The computations are made to demonstrate the use of no-carry arithmetics in sequence algebra using Maple V R 3. Whether the material will be of help to those who attempt to prove Goldbach's conjecture is not clear. One of the advantages of having defined Goldbach(z) as a sequence algebraic formulation is that one has a reference datum by which to carry out analytical and numeric investigations. It is difficult to come to grip with a statement such as every even number greater than 6 is the sum of two primes when the two can be anywhere within the global set. The Goldbach's sequence formulation limits your choice of prime parameters. The author has the intuitive feeling that the proof of Goldbach's conjecture can be found in GS2 and not GS1.

3. Conclusions

This paper shows that there are quite a few exotic arithmetic operators which could be discovered if one sets one's mind to it. Maybe these were not discovered because in the past no one has any need for them. The problem surfaced when the author attempted to write explicit sequence algebraic formulations for some higher sequences such as Twinprime(z), Mersenneprime(z) and Fermatprime(z). The author speculated that these cropped up because of some weaknesses or lack of expressiveness in the arithmetic domain. Just having defined these new operators is not enough unless symbolic software developers provide builtin intrinsic functions which could make use of them.

4. References

a) FUNCTION:map - apply a procedure to each operand of an expression
(Abstracted from the Help Menu of Maple V R 3).

CALLING SEQUENCE:
map(fcn, expr, arg_2, ..., arg_n)

PARAMETERS:
fcn - a procedure or a name
expr - any expression
arg_i - (optional) further arguments to fcn

EXAMPLES:

> map(f, x + y*z);
f(x) + f(y z)

> map(f, y*z);
f(y) f(z)

> map(f, {a,b,c});
{f(a), f(c), f(b)}

b) FUNCTION: array - create an array

CALLING SEQUENCE:
array( indexfcn, bounds, list)

PARAMETERS:

indexfcn - (optional) an indexing function
bounds - (optional) sequence of ranges
list - (optional) list of initial values

EXAMPLES:

> v := array(1..4):
> for i to 3 do v[i] := i^2 od:
> print(v);
[ 1, 4, 9, v[4] ]

> v[2];
4



(c) Reference Papers

1. Huen Y.K.: A Simple Introduction To Sequence Algebra, a free downloadable paper available from the author's URL site: http://web.singnet.com.sg/~huens/

2. Huen Y.K.: The Canonical Generating Function or CGF(z) - a Swiss-knife function. URL site: http://web.singnet.com.sg/~huens/

3. Huen Y.K.: Information Contents Of Number Theoretic Functions. URL site: http://web.singnet.com.sg/~huens/

4. Huen Y.K.: A Matrix Map for Prime and Non-prime Numbers, INT. J. Math. Educ. Sci. Technol., 1994, VOL. 25, NO.6, pp 913-920.

5. Huen Y.K.: Some Interesing Properties Of The Natural Number System, Int. J. Math. Educ. Sci. Technol., 1996, VOL.27, NO. 5, 685-691.

6. Huen Y.K.: Visual algebra and its applications, INT. J. Math. Educ. Sci. Technol.,1996, VOL.??, NO.?, ???-??? (In the press as proof paper mes 100421).

=======================END OF PAPER=====================