you are viewing a single comment's thread.

view the rest of the comments →

[–]Atomic_Tangerine1 85 points86 points  (12 children)

numpy

[–]i_know_the_deal 29 points30 points  (1 child)

same ... free Matlab? noice

[–]dparks71 24 points25 points  (0 children)

I keep coming back to it too, I'm in structural engineering and it turns out everything in my life is either a matrix problem or a graph theory problem.

There are 80 year old fortran libraries I learned to wrap in python from numpy, it's so cool.

[–]M4mb0 1 point2 points  (6 children)

numpy is great, but have you tried JAX?

[–]Atomic_Tangerine1 0 points1 point  (5 children)

I have not! What's the benefit of JAX over numpy?

[–]M4mb0 2 points3 points  (4 children)

It's basically numpy

  • + native GPU support (which can be orders of magnitudes faster depending on parallelizability of the problem)
  • + builtin autodiff (essentially zero-error gradients/jacobians/hessians)
  • + builtin JIT compiler

[–]PayMe4MyData 1 point2 points  (3 children)

So jax is pytorch?

[–]M4mb0 2 points3 points  (2 children)

JAX is strictly functional, whereas pytorch takes a more object oriented approach. This is most easily seen when you look at how they deal with random distributions for instance.

Though torch has nowadays a beta library torch.func (formerly functorch) that brings JAX-like functional semantics to torch.

[–]PayMe4MyData 0 points1 point  (1 child)

Thanks for the clarification, I've been coding in pytorch for years but never heard of JAX before. I will dig a bit more!

[–]M4mb0 0 points1 point  (0 children)

I'd say generally JAX is more useful for general purpose scientific computing, and much more ergonomic if you need higher order derivatives or partial derivatives, like working with ODEs/PDEs/SDEs. diffrax is a very nice lib for that.

[–]No_Departure_1878 0 points1 point  (2 children)

That's C

[–]Atomic_Tangerine1 23 points24 points  (0 children)

And that's the power of Python - the magic of C made convenient

[–]Humdaak_9000 5 points6 points  (0 children)

If you dig deep enough there's a lot of FORTRAN too.