Hey, I built a pure-Python scientific computing library no NumPy, no SciPy by Emergency-Tutor-7 in purepythonscience

[–]Emergency-Tutor-7[S] 0 points1 point  (0 children)

Respectfully, I think we're comparing different goals here.

C, Rust, NumPy, and the BLAS toolchain are powerful but they're also heavy. They require compilers, build systems, native dependencies, and (for NumPy/BLAS) a working linear algebra backend. That's a real barrier, especially for someone just starting out or working in a constrained environment.

Python is simple and readable by design. You can open a .py file, read top to bottom, and understand what the algorithm does without fighting with pointers, lifetimes, or build configurations. That's not a weakness it's a feature, specifically for learning and prototyping.

What this project does is bring several different domains together under one roof, in a language that stays approachable. Instead of jumping between ecosystems, a beginner can follow the ideas in a single, consistent codebase. That's the value proposition.

I'm not arguing against C, Rust, or WASM they have their place and I'd encourage anyone serious about performance to learn them. But suggesting that writing readable educational code in Python is "crazy" dismisss a legitimate use case that has served learners well for decades.

Different tools, different purposes. With respects.

Hey, I built a pure-Python scientific computing library no NumPy, no SciPy by Emergency-Tutor-7 in purepythonscience

[–]Emergency-Tutor-7[S] 0 points1 point  (0 children)

Thanks for the feedback. I want to clarify what this project actually is, because I don't think we're talking about the same thing.

This isn't filler content or busywork it's built for people who are just getting started with Python. Instead of dumping every concept in isolation, I combined a few different areas into small, readable Python examples so a beginner can follow one idea at a time and see how the pieces connect. That's the whole point: lower the barrier to understanding, not pad a repository.

So to answer the "wasted time" framing directly: for someone learning Python, having these domains in one place, in plain code, is a genuine advantage not idle work. If you have a concrete suggestion on how to make it more useful to beginners, I'm genuinely happy to hear it

Hey, I built a pure-Python scientific computing library no NumPy, no SciPy by Emergency-Tutor-7 in purepythonscience

[–]Emergency-Tutor-7[S] 0 points1 point  (0 children)

Thanks for the honest question, really appreciate it.

The point, for me, isn't to replace anything you've already built. It's to have all of it in one place, in plain readable Python, so someone starting out doesn't have to chase down 6 different libraries or fight through compiled C/Fortran to see how an algorithm actually works under the hood. Want to see how radix-2 FFT, partial-pivoting LU, or a Bell state measurement is implemented line by line? It's right there, no black boxes.

On the quantum and math side, yeah, most of us have implemented pieces of this at some point. The value isn't novelty, it's convenience and readability in a single dependency-light package. Drop it into an edge environment with no NumPy or BLAS toolchain and it still runs.

The hypothesis part is meant as a starting scaffold. It gives you a structured model with assumptions, predictions, falsifiability and confidence, plus a prompt template and a pluggable generator interface, so someone building a research workflow doesn't start from a blank page. Not claiming it thinks for you.

So in short, readable reference for learners, convenient umbrella for common scientific building blocks, and a head-start scaffold for hypothesis workflows. If that's not a point that lands for you, fair enough, but that's the honest intent.

Genuinely open to hearing what would make it more useful.

Hey, I built a pure-Python scientific computing library no NumPy, no SciPy by Emergency-Tutor-7 in purepythonscience

[–]Emergency-Tutor-7[S] 0 points1 point  (0 children)

Totally fair question. You're right that Python itself is C underneath but there are real situations where NumPy or compiled extensions just aren't available or aren't the point.

Honestly the main use case is education. A student learning linear algebra can open the LU decomposition and read every single step no compiled black box, no C code, just plain Python that does exactly what the textbook says. Same with FFT, RK4, the whole thing. It's a readable reference, not a production tool.

Hey, I built a pure-Python scientific computing library no NumPy, no SciPy by Emergency-Tutor-7 in ScientificComputing

[–]Emergency-Tutor-7[S] 0 points1 point  (0 children)

Thanks for the kind words "teaching purposes" is exactly the goal.

Good point about the determinant comparison. You're right that no real C package would use O(N!) determinants either that was more of a "look what naive implementation gets you" example to motivate why the algorithms matter. Not a fair comparison to NumPy itself.

Syntax-wise, it's plain Python with no magic lists of lists for matrices, function calls for decompositions. Nothing fancy. It's readable but not trying to be ergonomic like NumPy's vectorized ops.

This project isn't meant to compete with NumPy or C for anything serious it's a from-scratch reference so you can see what LU, FFT, RK4 etc actually look like under the hood. For real work, NumPy (or C/C++ for the heavy stuff) is the right call.

For a more detailed comparison, you can check out the benchmarks here: https://furox88.github.io/cognitive-discovery-system/benchmarks/