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.