Post Reply 
50g System RPL list processing
11-02-2014, 01:04 AM
Post: #23
RE: 50g System RPL list processing
(11-01-2014 10:40 PM)Marcus von Cube Wrote:  
(11-01-2014 08:34 PM)Han Wrote:  I don't understand the point of "one" -- "nil" actually makes sense with respect to empty sets. At what point will you ever use a regular operation and expect an ambiguous "one" ? The notion of "one" is a solution to a problem that does not seem to exist.
One is the neutral element for multiplication as nil is for addition.

Π list1 * Π list2 should return the same as Π (list1 concat list2). As long as none of the lists is empty this works fine but when one list is empty, the result will be nil. The object one would solve the problem.

Addition has more meaning than simple addition of real numbers. This is why nil makes sense for addition (sum of an empty list, for example) due to the ambiguity of
the argument types. Yet despite all these different abstract objects which may be "added" they all have a natural element that can play the role of 'nil' (e.g. empty string, 0, 0+0i, null character, #0h, empty list, etc.) Thus the implementation of 'nil' is possible because not too many people will argue with how 'nil' should behave. However, that is not the case with multiplication.

Multiplication is merely an extension of addition. For example, \( 3\cdot a \) merely means add \( a\) to itself 3 times. Unless the multiplication is some well defined special binary operation, the product \( a\cdot b\) usually requires that either \( a\) or \(b\) is a scalar (i.e. in \( \mathbb{R} \) ). Scalar multiplication is easily implemented since it is really just addition. But when we start talking about \(a \cdot b \) where both \( a\) and \(b \) are abstract objects, then there is no sense in having a multiplicative equivalent of 'nil' (i.e. 'one') because beyond regular multiplication, any other type of multiplication is more or less arbitrary from the point of view of the user. Sometimes 'one' does not even exist depending on the type of multiplication. The notion of 'one' really only makes sense for a very small collection of multiplications (e.g. real, complex, matrix). Even differentiating between scalar multiplication and abstract multiplication makes the notion of 'one' hard to define.

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: 50g System RPL list processing - ttw - 06-21-2014, 02:13 AM
RE: 50g System RPL list processing - Han - 10-28-2014, 05:06 PM
RE: 50g System RPL list processing - Han - 10-31-2014, 02:15 PM
RE: 50g System RPL list processing - Han - 11-01-2014, 08:34 PM
RE: 50g System RPL list processing - Han - 11-02-2014 01:04 AM
RE: 50g System RPL list processing - Han - 11-01-2014, 08:31 PM
RE: 50g System RPL list processing - Han - 11-02-2014, 06:26 PM



User(s) browsing this thread: 1 Guest(s)