Viewing profile — mcabbott
mcabbott
HN member- Joined
- Mon, Jan 14, 2019, 10:15 AM UTC
- HN karma
- 105
- Public activity
- 49 items
- HN profile
- View on Hacker News ↗
About mcabbott
Recent public activity
-
comment
Comment #44937444
Covariant and contravariant indices would be the formal terms. I'm not really sure whether I've seen "upstairs" written down. Sub/superscript... strike me as the typographical term…
-
comment
Comment #44935858
This doesn't really help with programming, but in physics it's traditional to use up- and down-stairs indices, which makes the distinction you want very clear. If input x has compo…
- comment
-
comment
Comment #41404867
That's what Reactant.jl is aiming to do: Take the LLVM code from Julia and pipe to to XLA, where it can benefit from all the investment which make Jax fast. Same author as the more…
-
comment
Comment #40183597
This is also how it works in Julia, where macros digest notation for einsum-like operations before compile-time. In fact the linked file's explanatory comment: (einsum (A i j) (B i…
-
comment
Comment #38521643
using Unitful: m; foo(2.0m) With the above definition, this will give DimensionError: 2.0 m and 1.0 are not dimensionally compatible. Probably this means you should define `foo(x::…
-
comment
Comment #35481389
Yes, it obeys enough algebraic laws that calling it a derivative is useful. But I don't think there's any underlying notion of small changes to something continuous. It is not the …
-
comment
Comment #35481332
Or perhaps better "foreigner", legal alien, someone from over the border. The alien derivative is an operation which moves you from one sector to another. A bit like crossing a bra…
-
comment
Comment #33639833
I presume so. Note that this pseudo-code is very nearly valid Julia code (with my package): @tullio (min) C[i,j] := A[i,k] + B[k,j]
-
comment
Comment #31399291
Yes, although that seems like the easy half of this, making sure `struct NewNum The hard half seems to be correctness of functions which accept quite generic objects. For example w…
-
comment
Comment #31268917
The unicode epsilon isn't in the public API, it's describing the 3rd positional argument. This was added recently, and for some reason the PR (1840) didn't fix the docs, which is b…
-
comment
Comment #31268460
The struct's field name is `eta`, but this is an internal detail. Its constructor takes a positional-only argument, no public name. The greek letter is used in the documentation. A…
-
comment
Comment #31268421
> > Learning rate (η): Amount by which gradients are discounted before updating the weights. > so this is already explicit to anyone who reads the documentation. The quibble in the…
-
comment
Comment #30976629
On the GPU, operations which look like matrix multiplication are indeed quite slow. As you say there are many tricks, and Tullio doesn't (right now) know them. For operations which…
-
comment
Comment #30126945
There is a discussion here: https://discourse.julialang.org/t/rust-julia-comparison-post... So far, a bug fix improves it 4700 min -> 150 min, changing the type stored -> 20 min, f…
-
comment
Comment #29916596
Thanks for the references. We're trying to write up a paper about all this work, and (to us) it seems obvious that differential geometry is the right framework. What reverse mode A…
-
comment
Comment #29820047
Some points have simple answers: * Support for using @copied s.x = 1 where s is an immutable struct. I believe the standard package for this is this: https://github.com/jw3126/Setf…
-
comment
Comment #27565242
The big Alcoa press is 50_000 tons, not lbs. There are slightly larger ones now, 60, 75ktons. (22 tons is, of course, force that any rail yard could produce a century ago.)
-
comment
Comment #25727027
The Julia translations of these might look as follows: using OffsetArrays cash_flows = zeros(0:max_time) altitude = zeros(Bool, -100:100) for I in eachindex(cash_flows) some_functi…
- comment
- comment
- comment
-
comment
Comment #24543261
The goal of Tullio.jl is certainly not to beat MKL at its own game. But it can still be 4-5 times faster on some permutedims + matmul operations, by fusing them. Besides handling o…
-
comment
Comment #24314294
Sure! The desire for fancier notation is from more complicated examples, the kind where you write elaborate comments to explain why you're permuting 3rd & 4th dim of B to line up w…
- comment