If for each y, f @: g y is y then f is a left inverse of g and g is a
right inverse of f.
(*: @: %:) _4 NB. *: is a left inverse of %:
_4
(%: @: *:) _4 NB. but *: is not a right inverse of %:
4
On 12/16/2011 7:20 AM, Don Guinn wrote:
> I don't understand what you mean by a right and left inverse to +/ .
>
> On Thu, Dec 15, 2011 at 7:52 AM, Marshall Lochbaum<[email protected]>wrote:
>
>> Yes, except there are an infinite number of choices. In that sense, it's
>> more like trying to find +/^:_1 . It's easy to find a right inverse of +/ ,
>> but there's no good choice of a left inverse because you'll be wrong in
>> most cases. The situation is a little better for #: , but the question of
>> finding an inverse is still fundamentally unsolvable.
>> We don't really use #: to provide an inverse to #. ; it's more the other
>> way around. We use #: because it allows us to express a number in a
>> different way which is useful for some applications.
>>
>> Marshall
>>
>> On Thu, Dec 15, 2011 at 8:19 AM, Don Guinn<[email protected]> wrote:
>>
>>> Isn't the choice of the representation for #: result a lot like picking
>> the
>>> principle root?
>>>
>>> %:*:_2
>>> 2
>>> *:%:_2
>>> _2
>>>
>>> The solution to the first expression above should really be _2 2 but,
>>> though more correct, is impractical in actual problem solving. A similar
>>> thing occurs with circular functions.
>>>
>>> 1 o.0.5+0,o.2
>>> 0.479426 0.479426
>>>
>>> And that is why many proofs restrict functions to be single valued.
>>>
>>> On Wed, Dec 14, 2011 at 9:18 PM, Marshall Lochbaum<[email protected]
>>>> wrote:
>>>
>>>> antibase2 has an inverse only for nonnegative numbers, given by #.
>>>> twoscomplement's inverse is [:#. (* _1^0=i.@#)"1
>>>> signwithbits has inverse #.
>>>>
>>>> Marshall
>>>>
>>>> On Wed, Dec 14, 2011 at 11:10 PM, Kip Murray<[email protected]> wrote:
>>>>
>>>>> Thank you, Raul. May we have inverses?
>>>>>
>>>>> On 12/14/2011 9:13 AM, Raul Miller wrote:
>>>>>> The subject line of this thread is arguably wrong -- there are a
>>>>>> variety of "good ways" of decomposing integers to binary.
>>>>>>
>>>>>> That said, it's interesting to think about the various proposals
>>>>>> expressed in terms similar to those which could be used to
>> implement
>>>>>> monadic #:
>>>>>>
>>>>>> antibase2=: #:~ 2 #~ 1 + 2<.@^. 1>.>./@,@:|@:<.
>>>>>> twoscomplement=: #:~ 2 #~ 1 + 2<.@^. 1 +>./@,@:|@:<.
>>>>>> signwithbits=: #:~ 0, 2 #~ 1 + 2<.@^. 1>.>./@,@:|@:<.
>>>>>>
>>>>>> (In all cases the #: here is dyadic, so these definitions are
>>>>>> independent of the definition of monadic #:)
>>>>>>
>>>>>> antibase2 i: 3
>>>>>> 0 1
>>>>>> 1 0
>>>>>> 1 1
>>>>>> 0 0
>>>>>> 0 1
>>>>>> 1 0
>>>>>> 1 1
>>>>>> twoscomplement i: 3
>>>>>> 1 0 1
>>>>>> 1 1 0
>>>>>> 1 1 1
>>>>>> 0 0 0
>>>>>> 0 0 1
>>>>>> 0 1 0
>>>>>> 0 1 1
>>>>>> signwithbits i: 3
>>>>>> _1 0 1
>>>>>> _1 1 0
>>>>>> _1 1 1
>>>>>> 0 0 0
>>>>>> 0 0 1
>>>>>> 0 1 0
>>>>>> 0 1 1
>>>>>>
>>>>>> There's also (* * #:) but that one assumes the antibase2
>>>>> implementation...
>>>>>>
>>>>>
>> ----------------------------------------------------------------------
>>>>> For information about J forums see
>> http://www.jsoftware.com/forums.htm
>>>>>
>>>> ----------------------------------------------------------------------
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>>
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm