4 ms·
I don't mean to be demeaning, but the concept illustrated in the last figure is known as trapezoidal integration [1], has been well-know for millennia and is ea
by donquichotte 5y ago
I don't mean to be demeaning, but the concept illustrated in the last figure is known as trapezoidal integration [1], has been well-know for millennia and is easy to implement.
I fail to see how the advertised "hyperfunctions" would make the process of analyzing such data any easier by adding web-services and SQL.
[1] https://en.wikipedia.org/wiki/Trapezoidal_rule https://en.wikipedia.org/wiki/Trapezoidal_rule
- jcelerier 5y agoisn't trapezoidal rule the thing that gets "rediscovered" regularly ? https://academia.stackexchange.com/questions/9602/rediscovery-of-calculus-in-1994-what-should-have-happened-to-that-paper https://academia.stackexchange.com/questions/9602/rediscover...
- belter 5y agoAnd that paper was then cited 112 times. I really do not know if I should laugh or cry...
- jhgb 5y ago> the concept illustrated in the last figure is known as trapezoidal integration And, as a consequence, the concept they call "time-weighted average" is just called "mean value of a function", at least in my country. Also "hyperfunction" seems to be a terrible name. Unless we're talking about mathematics where the term has very specific meaning, how exactly is it different in programming from any ordinary function? (Possibly an aggregate function in SQL, of course.)
- hoseja 5y agoI think it's because TimescaleDB has, for performance reasons, "hypertables", and these functions operate on those.
- jhgb 5y agoSo that means that only hyperfunctions can operate on these "hypertables"?
- KarlKode 5y agoNo you can use the ordinary SQL snippets listed in the blog post to do the same thing that a hyperfunction does (altough the hyperfunction might have a better performance). A hyperfunction is a function optimized to work on Timescale hypertables (which can be used to store & query time series data in a Postgres database).
- djk447 5y agoNB: I'm the author of the post, and I work at Timescale. Yep! Though I will say a number of the hyperfunctions are optimized to work on time-series data whether or not there's a hypertable involved, but the name is meant to echo the hypertable concept. In general, hyperfunctions are meant to improve the user experience for working with time-series data inside of SQL.
- jhgb 5y agoSo there's no strict semantic connection between the "hyper-" in "hyperfunction" and "hyper-" in "hypertable"? Sounds quite confusing to me.
- djk447 5y agoTechnically, the hyper in hypertable was originally connected to the fact that they hypercubes as part of the partitioning logic: https://github.com/timescale/timescaledb/blob/master/src/hypercube.h https://github.com/timescale/timescaledb/blob/master/src/hyp... Over time, that connection sort of got lost in favor of hypertables just being useful for storing and analyzing time-series data. So, these functions are conceptually similar in that they make analyzing time-series data easier, even if they don't involve hypercubes or the like. And I'd bet that most users will use hyperfunctions on their data in hypertables, but you can also use them on data in regular Postgres tables etc.
- em500 5y agoThe article does note that "(Folks who have studied calculus may actually remember some of this from when they were learning about integrals and integral approximations!)"
- deleted 5y ago[deleted]
- djk447 5y agoNB: Author of post here. Yeah. In general, we didn't think this was horribly ground-breaking work in terms of it being a novel analysis type, the post was meant to explain it in an accessible way for folks who are new to the concept. So we broke down the trapezoidal rule into its more basic graphical intuition so that folks with less of a math background could follow easily.