In [20]: x = Symbol('x', nonnegative=True)

In [21]: Heaviside(x).rewrite(Piecewise)    
Out[21]: 
⎧ 1   for x > 0
⎪              
⎨1/2  for x = 0
⎪              
⎩ 0   otherwise




On Friday, 25 March 2016 02:15:34 UTC+5:30, SAMPAD SAHA wrote:
>
>
> We have this *_eval_rewrite_as_Piecewise()  *method defined in *Heaviside* 
> Class.
> But How can we call it or use this implemented functionality from terminal?
>
>
>
> Regards
> Sampad Kumar Saha
> Mathematics and Computing
> I.I.T. Kharagpur
>
> On Fri, Mar 25, 2016 at 2:00 AM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
>
> Hi Aaron,  
>
> Pardon Please. I am bit confused. Are you taking about the "*Piecewise 
> Representation*" that I have mentioned in Phase I ?
>
>
>
>
>
> Regards
> Sampad Kumar Saha
> Mathematics and Computing
> I.I.T. Kharagpur
>
> On Fri, Mar 25, 2016 at 12:00 AM, Aaron Meurer <[email protected] 
> <javascript:>> wrote:
>
> You should call the method _eval_rewrite_Piecewise. Then you can call it 
> with expr.rewrite(Piecewise). The advantage here is that this will 
> automatically work even if it's a subexpression of some larger expression.
>
> Aaron Meurer
>
> On Fri, Mar 18, 2016 at 9:37 PM, Jason Moore <[email protected] 
> <javascript:>> wrote:
>
> Simplification means something very specific in SymPy, see the simplify() 
> function. I think you need to choose a different method name for converting 
> to piecewise continuous. Maybe: .to_piecewise()?
>
> You will need to implement some method for dealing with the constants of 
> integration and boundary conditions. Maybe you should have a look at the 
> ordinary differential equations package in SymPy to get some ideas about 
> that.
>
>
> Jason
> moorepants.info
> +01 530-601-9791
>
> On Fri, Mar 18, 2016 at 4:04 PM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
>
> Thank You Jason for the appreciation.
>
> Yah, that *Simplify  * method would convert  into continous piecewise. 
> Like this :- 
>
> In    [ ] : F = singularityFunc(x, 0, 1) +  singularityFunc(x, 3, 2)
>
> In    [ ] : F
> Out [ ] : 
>                     2
> <x> + <x - 3>
>
> In [ ] : F.simplify()
> Out [ ] : 
>
> 0                   for x < 0
> x                   for 0 <= x < 3
> x + (x-3)^2    for x  >= 3
>
>
> As you have suggested earlier, I have solved some examples by hand and 
> then tried to implement a desired api. From that I came to this conclusion 
> that if we implement Addition, Substraction, Integration, 
> Differentiation, Simplify on Singularity Functions then we can successfully 
> solve out the beam problems.
>
> But i got doubt while implementing the boundary constants. I mean to say 
> that sympy dont gives constant of integration while doing indefinite 
> integration. We can take boundary conditions as input from users that is 
> not a problem, but we cant use it since there will be no constant of 
> integration.
>
>
>
> Regards
> Sampad Kumar Saha
> Mathematics and Computing
> I.I.T. Kharagpur
>
> On Sat, Mar 19, 2016 at 4:07 AM, Jason Moore <[email protected] 
> <javascript:>> wrote:
>
> Sounds like a good start. How about a method to convert to continuous 
> piecewise?
>
> Like I said earlier, you should pick some examples that you want the 
> software to be able to solve and then implement methods and functionality 
> based on those examples. It's hard to think of all the needed functionality 
> and API without motivating examples first.
>
>
> Jason
> moorepants.info
> +01 530-601-9791
>
> On Fri, Mar 18, 2016 at 10:27 AM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
>
> Jason,
>
> I have thought of implementing Addition, Substraction, Integration, 
> Differentiation, Simplify on Singularity Functions.
>
> What are the other functionalities we should implement? 
>
>
>
>
> Regards
> Sampad Kumar Saha
> Mathematics and Computing
> I.I.T. Kharagpur
>
> On Fri, Mar 18, 2016 at 8:16 PM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
>
> Yah you are correct. Differentiation of heaviside and diracdelta also 
> exists.
>
> It was my mistake. Thanks for rectifying me.
>
>
>
>
> Regards
> Sampad Kumar Saha
> Mathematics and Computing
> I.I.T. Kharagpur
>
> On Fri, Mar 18, 2016 at 8:02 PM, Tim Lahey <[email protected] 
> <javascript:>> wrote:
>
> For differentiation you’re missing a case,
>
> if n = 0 or n = -1
>    return Singularity(x, a, n-1)
> else if n < -1
>    return error
>
> In other words, you can still differentiate for the n = 0 and n = -1 cases.
>
> Cheers,
>
> Tim.
>
> > On Mar 18, 2016, at 10:22 AM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
> >
> > And what about the pseudocode of integration and differentiation i have 
> posted earlier , is it alright?
> >
> >
> >
> >
> >
> > Regards
> > Sampad Kumar Saha
> > Mathematics and Computing
> > I.I.T. Kharagpur
> >
> > On Fri, Mar 18, 2016 at 7:51 PM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
> > Thanks Tim,
> >
> > It is really a nice and effective solution.
> >
> >
> >
> >
> >
> > Regards
> > Sampad Kumar Saha
> > Mathematics and Computing
> > I.I.T. Kharagpur
> >
> > On Fri, Mar 18, 2016 at 7:46 PM, Tim Lahey <[email protected] 
> <javascript:>> wrote:
> > Add the constants when you integrate in your beam class.
> >
> >
> > On 2016-03-18, at 10:12 AM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
> >
> >> Thanks TIm,
> >>
> >> Integration and Differentiation are really very straight forward that 
> is why i am thinking to add diff and integrate method to the Singularity 
> function class itself.
> >>
> >> For integrate the pseuesocode will be :-
> >>
> >> if(n<0)
> >>     return SingularityFunction(x , a, n+1)
> >> else
> >>     return (1/n+1 * SingularityFunction(x , a, n+1))
> >>
> >> Similarly for differentiation:
> >>
> >> if (n>0)
> >>    return n * SingularityFunction(x , a, n - 1)
> >> else
> >>    Error message
> >>
> >>
> >> My doubt regarding Boundary condition was actually was that since sympy 
> don't provide constant of integration while performing indefinite 
> integration on any expression, how to use the boundary conditions to find 
> the exact values of constant of integration?
> >>
> >>
> >>
> >>
> >>
> >> Regards
> >> Sampad Kumar Saha
> >> Mathematics and Computing
> >> I.I.T. Kharagpur
> >>
> >> On Fri, Mar 18, 2016 at 6:09 PM, Tim Lahey <[email protected] 
> <javascript:>> wrote:
> >> Hi,
> >>
> >> Do you know the integration and differentiation rules for singularity 
> functions? They’re pretty straightforward.
> >>
> >> As for boundary conditions, the beam will have supports (or a free end) 
> at each end of the beam and as part of the beam creation each end type is 
> specified. Each type corresponds to a specific set of conditions on that 
> end (either at x=0 or x=L). You substitute those conditions in the 
> appropriate equation and solve for the integration constant as necessary. 
> All of the conditions should be in any decent mechanics of deformable 
> solids text book.
> >>
> >> You’ll want to do sums of forces and moments as well to solve for 
> reaction forces as well.
> >>
> >> The only trick is making sure you don’t double count things. If you 
> have a step function due to a reaction force at the start of the beam and 
> assume it’s zero at x=0 (effectively the limit at x=0^-) you can get a 
> non-zero integration constant that can be double counting that reaction 
> since at x=0^+ that reaction force is non-zero. Note that you can get a 
> non-zero integration constant (even when including reaction forces in the 
> loading function) for shear and moment equations if you have non-polynomial 
> loads (e.g., sine and cosine). You’ll also have to think about the other 
> end as well. I leave it up to you to reason that out. Make sure you 
> completely document how you’ve implemented it for the user (and why).
> >>
> >> Beam coordinate systems must start at the left end and increase to the 
> right. The definition of the singularity functions require this.
> >>
> >> I hope this helps.
> >>
> >> Cheers,
> >>
> >> Tim.
> >>
> >> > On Mar 18, 2016, at 8:17 AM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
> >> >
> >> > I am also confused about implementing the boundary conditions for 
> getting the deflection curve.
> >> >
> >> > Any suggestions on how to implement it.
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > Regards
> >> > Sampad Kumar Saha
> >> > Mathematics and Computing
> >> > I.I.T. Kharagpur
> >> >
> >> > On Fri, Mar 18, 2016 at 5:36 PM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
> >> > Yah, you are right multiplication of singularity functions are not 
> needed for solving beam problems. Mathematically, it is also not used that 
> much. So lets leave this multiplication and powers part.
> >> >
> >> > I was thinking about the integrate and diff methods. I feel that we 
> should define instance methods diff and  integrate  in the singularity 
> function module which would internally use the existing diff and integrate 
> function for Differentiation and Integration respectively.
> >> >
> >> > I need your suggestions.
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > Regards
> >> > Sampad Kumar Saha
> >> > Mathematics and Computing
> >> > I.I.T. Kharagpur
> >> >
> >> > On Fri, Mar 18, 2016 at 3:14 AM, Jason Moore <[email protected] 
> <javascript:>> wrote:
> >> > I think you need to override the operators. I'm not sure if 
> multiplying singularity functions is needed (at least for beam problems), 
> even if it is mathematically correct, you don't have to implement it. If it 
> is easy to implement then, sure, do so.
> >> >
> >> >
> >> > Jason
> >> > moorepants.info
> >> > +01 530-601-9791
> >> >
> >> > On Thu, Mar 17, 2016 at 1:34 PM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
> >> >
> >> > Jason,
> >> >
> >> > For implementing Additon , Multiplication Do we need to over ride 
> __mul__ , __add__  these methods inside the class SingularityFunction or we 
> can just use simplify for getting the results.
> >> >
> >> > I am really confused.
> >> >
> >> >
> >> >
> >> >
> >> > Regards
> >> > Sampad Kumar Saha
> >> > Mathematics and Computing
> >> > I.I.T. Kharagpur
> >> >
> >> > On Fri, Mar 18, 2016 at 1:59 AM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
> >> >
> >> > I was thinking about multiplication of two singularity functions. It 
> is possible and it is mathematically significant. We can implement this too 
> in Sympy. Similarly with powers.
> >> >
> >> > I need your suggestions.
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > Regards
> >> > Sampad Kumar Saha
> >> > Mathematics and Computing
> >> > I.I.T. Kharagpur
> >> >
> >> > On Wed, Mar 16, 2016 at 9:41 PM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
> >> > Yah , You are right . A software having good documentations about all 
> the functionality is preffered more over the others by the users. I will be 
> spending a good amount of time in preparing the documentation citing plenty 
> of examples and tutorials.
> >> >
> >> > Here is link to my proposal. I have almost added all the things which 
> we have disscussed. I still need to add the example and many more "TODO"s 
> are left. I am working on those.
> >> >
> >> >
> >> > Suggestions are welcomed.
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > Regards
> >> > Sampad Kumar Saha
> >> > Mathematics and Computing
> >> > I.I.T. Kharagpur
> >> >
> >> > On Wed, Mar 16, 2016 at 6:18 AM, Jason Moore <[email protected] 
> <javascript:>> wrote:
> >> > Looks good. I think you should have plenty of examples in the docs. 
> People tend to use software more if the docs are top notch. So plenty of 
> examples and tutorials will really help.
> >> >
> >> >
> >> > Jason
> >> > moorepants.info
> >> > +01 530-601-9791
> >> >
> >> > On Tue, Mar 15, 2016 at 5:25 PM, SAMPAD SAHA <[email protected] 
> <javascript:>> wrote:
> >> > You are right. delta_function.py needs to be improved. I will to be 
> using only DiracDelta and Heaviside for generating almost all the 
> Singularity Functions.
> >> >
> >> > I was also thinking to complete this project in four phases:
> >> >       • Improving existiing Functions.
> >> >       • Creating Singularity Functions module
> >> >       • Creating beam Module
> >> >       • Documentation
> >> >
> >> >
> >> >
> >> >
> >> >
> >> > Regards
> >> > Sampad Kumar Saha
> >> > Mathematics and Computing
> >> > I.I.T. Kharagpur
> >> >
> >> > On Wed, Mar 16, 2016 at 5:44 AM, Jason Moore <[email protected] 
> <javascript:>> wrote:
> >> > https://www.python.org/dev/peps/pep-0008/
> >> >
> >> > I think you will need a pure singularity function module and then you 
> will need a beam module that utlizes the singularity function module. You 
> will also likely need to improve the discontinuous functions that are 
> already in sympy. There are at least three layers to this in my eyes.
> >> >
> >> >
> >> > Jason
> >> > moorepants.info
> >> > +01 530-601-9791
> >> >
> >
>
> ...

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/1271931a-6b6f-4352-8b21-82621cb06842%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to