On 6/12/2012 10:16 AM, Raul Miller wrote: > On Tue, Jun 12, 2012 at 10:01 AM, Henry Rich<henryhr...@nc.rr.com> wrote: >> On 6/11/2012 9:34 PM, Raul Miller wrote: >> > -/ .* performs only one multiply. >> >> Keep in mind that -/ .* is nothing like DET. It uses rules of linear >> algebra to calculate a result in far less than O(!n) time. > > I was actually using rephrasings such as > -/ .(*&([smoutput)) > and > -/ .(([smoutput)@:*) > and > -/ .(([smoutput)@*) > to count how many times multiplication was occurring. > > So I am not talking about any special code used for -/ .* -- I have > not investigated that -- but instead am using -/ .* as an illustration > of how . builds monadic verb definitions in the general case. > > Anyways, . terminates earlier than DET. >
That may be. But no way do you do a determinant with just one multiply - it takes 0 for a 1x1, 2 for a 2x2. The definition of DET is so quirky that it makes sense only when you have subtraction/ . multiplication for suitably defined operations on the space of interest. Even +/ . * runs in factorial time. For the case of finding the characteristic polynomial, why not just use the verb definitions I gave earlier, rather than requiring a new DET? Henry Rich ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm