JuliaStats / TimeModels.jl

Modeling time series in Julia
Other
57 stars 28 forks source link

Allow models to be mixed functions and constants. #42

Closed rob-luke closed 8 years ago

milktrader commented 8 years ago

@GordStephen can you look at this?

GordStephen commented 8 years ago

Is F::Union(Matrix{T}, Matrix{Function}, Matrix{Any}) not just F::Matrix{Any} then?

Do we know what the speed/memory implications of that are (or if it matters... I guess F and G aren't usually going to be huge)? An alternative might be just to make F and G generator functions for the appropriate matrices, that would make definitions pretty clean and more consistent with the usual mathematical notation for time-varying matrices:

F(n) = [cos(2*pi*omega*(1/fs)*n); -sin(2*pi*omega*(1/fs)*n); 1]

Time-independent matrices would just be

F(n) = [1; 0.5; 1]

It would also replace eval_matrix(F, i, T) with the nicer-looking F(i) everywhere.

GordStephen commented 8 years ago

And yeah, my bad on the 2-space indentation, force of habit... ;) Thanks for fixing.

rob-luke commented 8 years ago

Nice idea to make F and G generator functions. I will have some time in a few weeks to take a crack at this. I might remove these changes and start fresh.

milktrader commented 8 years ago

Is this PR still active or was it merged with https://github.com/JuliaStats/TimeModels.jl/pull/44?

rob-luke commented 8 years ago

It was not merged with #44. I will start a fresh pull request when I have time, not sure when that will be.

milktrader commented 8 years ago

OK, great. I'm pushing up a few commits so make sure to do a git pull. Once I get a few housekeeping issues resolved I'll tag version 0.0.3 and then you can develop the PR off of that one. It will limit this package to Julia 0.3. I'm using Julia 0.3.11 to test.

GordStephen commented 8 years ago

@codles have you started working on converting to generator functions? I've been meaning to clean up the work I've been doing so far and put it into proper PRs, and could do this at the same time, but I don't want to duplicate any work that's already been done.

rob-luke commented 8 years ago

Sorry for the late reply, I had no time to work on this. I am glad you moved ahead on your own.