That was intentional. Nevertheless, I was not actually using it - it was referred to in the definition, but not used.
-- Raul On Sun, Feb 3, 2013 at 4:10 AM, Linda Alvord <[email protected]> wrote: > > > Raul, you are using ibwt before you define it. > > > > bwt0=: (_1 {"1 [: /:~ (|."0 1~ i.@#)) :. ibwt0 > > bwt0 'this is a test' > > ssa tt hiie ts > > > > bwt=: bwt0@,&EAV :.ibwt > > bwt 'this is a test' > > ssa tt hiie �st > > > > ({~ <:@/:) 'this is a test' > > ssa tth iiet s > > > > > > Linda > > > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Henry Rich > Sent: Saturday, February 02, 2013 10:44 PM > To: [email protected] > Subject: Re: [Jprogramming] Burrows-Wheeler Transform > > > > I don't know jack about the BWT, but from the Wikipedia entry this looks like > an implementation: > > > > ({~ <:@/:) 'aBANANAz' > > BNNaAAzA > > > > That works for their testcase, but it doesn't match yours. I think the > difference is that you sort on all characters rather than just the first. Is > this simpler version good enough? > > > > Henry Rich > > > > On 2/2/2013 10:08 PM, Raul Miller wrote: > >> Here's a slightly flawed implementation of Burrows-Wheeler Transform > >> (which is useful when compressing text, because the result tends to be > >> easy to compress): > >> > >> bwt0=: (_1 {"1 [: /:~ (|."0 1~ <mailto:i.@#)> i.@#)) :. ibwt0 > >> bwt0 'this is a test' > >> ssa tt hiie ts > >> ibwt0=: (_1 { ((,. /:~)^:(#@[) (#,0:) $ ''"_)) :. bwt0 > >> ibwt0 bwt0 'this is a test' > >> stthis is a te > >> > >> As you can see, the inverse does not quite work right -- it has been rotated. > >> > >> Here's a fixed implementation: > >> > >> bwt=: bwt0@,&EAV :.ibwt > >> ibwt=: <mailto:%7d.@(|.~> }.@(|.~ i.&EAV)@ibwt0 :.bwt > >> ibwt bwt 'this is a test' > >> this is a test > >> > >> This fixed implementation might fail if the original data contained EAV. > >> > >> It seems like we ought to be able to implement the transform without > >> this flaw (perhaps using a boxed representation). > >> > >> Allowing arbitrary treatments of how the transformed result tracks the > >> original location of the beginning/end of text, do we have a more > >> efficient way of computing the inverse (or the transform)? > >> > >> Thanks, > >> > > ---------------------------------------------------------------------- > > For information about J forums see <http://www.jsoftware.com/forums.htm> > 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
