 
 
 
 
 
 
RE: Transformation rules for Floor/Ceiling
- To: mathgroup at smc.vnet.net
- Subject: [mg17072] RE: [mg16953] Transformation rules for Floor/Ceiling
- From: maharri at my-dejanews.com
- Date: Fri, 23 Apr 1999 02:32:10 -0400
- Organization: Deja News - The Leader in Internet Discussion
- References: <7es2at$ca0@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
In article <7es2at$ca0 at smc.vnet.net>,
  "Ersek, Ted R" <ErsekTR at navair.navy.mil> wrote:
> Mitch Harris wrote:
> -----------------------
> I am trying to come up with a set of transformation rules (in Mathematica)
> to help
> simplify formulas involving Floor and Ceiling. There are a number of
> identities for these (e.g. Ceiling[a/b] = Floor[a+b-1/b] if b is an
> integer).
> Since anykind of programming is difficult from scratch, I'd like to see some
> examples to see if I'm going about it in the right manner.
>
> 1) I've done a web search for something like this and I can't find anything
> of
> the sort. Have you ever seen something like this (and if so, do you have
> pointers as to how to do it)?
>
> 2) The Mathematica docs give some ideas (when to use :> rather than ->,
> checking
> FullForm to make sure you're matching the appropriate patterns). But I'd
> really like to see a large example, like for instance the actual
> transformation rules that Mathematica uses for polynomials or trig (i.e. the
> internal
> rules it uses for Simplify, FullSimplify, Reduce, TrigReduce, etc.). Any
> ideas? Pointers?
>
> ----------------------
>
> You said:
> Ceiling[a/b] = Floor[a+b-1/b] if b is an integer
>
> Where did you ever get that idea?
>
> In[1]:=
> Ceiling[7/8]
> Out[1]=
> 1
>
> In[2]:=
> Ceiling[7+8-1/8]
> Out[2]=
> 15
Please Pardon the egregious omission of parentheses. It should be:
   Ceiling[a/b] = Floor[(a+b-1)/b] if b is an integer
                        ^     ^
That should make things correct (the subtle part is the condition that b be an
integer).
> Well if you are still interested see (ReIm.m) in the standard packages.
Yes, still interested. A few combinatorics packages have some good examples.
HYP.m (for hypergeometric functions), gosper.m (for factorials and binomials,
sort of a precursor to HYP.m). So I'm still looking for (and trying to create)
appropriate rules for integer arithmetic.
> Also goto
> http://www.mathsource.com/Content/Enhancements/Algebraic
> and look at:
> - NonNegativeQ
>
> - Generalization of Abs and Arg for symbolic expressions
>
> - ExactNumber.m  A package to improve the handling of mixtures of exact and
> inexact numbers
Thanks. Those are a good start.
> Anyway I am having a hard time coming up with rules that are always true
> without very restrictive conditions.
Yes. That seems to be my trouble, too.
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    

