Lynn Bradshaw via plug on 6 Jan 2022 17:34:19 -0800


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

Re: [PLUG] Topics for PLUG in January


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