Walt Mankowski via plug on 6 Jan 2022 18:03:00 -0800


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Topics for PLUG in January


By "have ^ like SageMath does", do you mean exponentiation? In that
case, yes, since Python does exponentiation with the ** operator.

On Thu, Jan 06, 2022 at 08:34:03PM -0500, Lynn Bradshaw via plug wrote:
> I'm using Gmail (web client) here which means I won't (AFAIK) be able
> to continue the thread as in your reply. Or possibly I can but I'll be
> uncertain about the outcome. Top posting it is then. Sorry about that.
> 
> Anyway, I do have some vague memory of having to implement some kind
> of dynamic programming thing where NetworkX wasn't quite going to cut
> it so that's true. And rolling your own vs. using SageMath etc. are
> both legitimate in their own ways, yes.
> 
> Regarding Python, I was pleased to see that underscores in number
> literals are in fact supported but that was only in PEP 515
> (https://www.python.org/dev/peps/pep-0515/), making it pretty recent.
> That will come in handy. And does Python have ^ like SageMath does?
> Yes and no. Yes, in the sense that you can override __xor__ in your
> own classes that you write. SageMath however extends the intended
> outcome typically expected in such a package to builtin number types.
> 
> On Thu, Jan 6, 2022 at 8:17 PM Walt Mankowski via plug
> <plug@lists.phillylinux.org> wrote:
> >
> > On Thu, Jan 06, 2022 at 07:23:11PM -0500, Lynn Bradshaw via plug wrote:
> > > The scare quotes are there because it was a tongue-in-cheek remark.
> > > True cheating would be stealing others' code or looking up the answers
> > > and just plugging them in. (They're all some easily verified
> > > non-negative integer as opposed to the approach many other sites use
> > > with an automated code judge.)
> > >
> > > Having said that, for some it might subvert what they deem the true
> > > purpose of Project Euler, which would be to develop a full grasp of
> > > the mathematical principles underlying the puzzles and implement all
> > > one's own algorithms to get the answer.
> >
> > I don't know how far you've gotten through Project Euler. I've done
> > the first 100 problems, plus 16 more in the next set of 50. The first
> > set of 50 can generally be solved with a brute force approach. After
> > that they increasingly require some mathematical insight that
> > something like a graph library isn't necessarily going to help you
> > with.
> >
> > I'm not saying to NOT roll your own. In fact, problem sets like these
> > are a great thing to practice on. I'm just saying that it's also a
> > good way to learn what sorts of tools are available so that you DON'T
> > have to write your own.
> >
> > > For a little bit, I was using
> > > SageMath to do them. Here's a description of SageMath from the
> > > website:
> > >
> > > "SageMath is a free open-source mathematics software system licensed
> > > under the GPL. It builds on top of many existing open-source packages:
> > > NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more.
> > > Access their combined power through a common, Python-based language or
> > > directly via interfaces or wrappers.
> > > Mission: Creating a viable free open source alternative to Magma,
> > > Maple, Mathematica and Matlab."
> > >
> > > (Yes, it's very close to Python except with embellishments like ^ for
> > > exponentiation and underscores in numbers to make them easier to read,
> > > which Python badly needs. In fact you can see how it transpiles to
> > > Python.)
> >
> > I'm confused by this statement. Python already lets you put
> > underscores in numbers. It also has an exponentiation operator, but it
> > uses ** since ^ is already used for bitwise-or (presumably copied from
> > C).
> >
> > Walt
> > ___________________________________________________________________________
> > Philadelphia Linux Users Group         --        http://www.phillylinux.org
> > Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
> > General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug
> ___________________________________________________________________________
> Philadelphia Linux Users Group         --        http://www.phillylinux.org
> Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
> General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug

Attachment: signature.asc
Description: PGP signature

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug