-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Matrices, Vectors, uniform interface #27
Comments
I like the changes thus far- should Sampling start using vector and/or matrix where applicable instead of float arrays? All for that, myself. If so, let me know and I'll make the changes. |
Knowing what I'm thinking about, at this point, I would say no. Writing those vector and matrix functions reminded me of why I find Matlab so convenient, and at least in this area, that's what I'm hoping to have. I don't like having the distinction between the two and would just rather have something like type dimensional = NativeVector of float array
| NativeMatrix of float array array
| LacamlVec of Lacaml_float64.vec
.... with combinators that do the right thing. For example val prod : dimensional -> dimensional -> dimensional as opposed to all that I looked into https://github.com/akabe/slap, and will want to write some code in it, before I pass judgement. But my initial impressions were just 'meh'. Seems excessive. OCaml doesn't have dependent types, and I'm fine with it for now. |
What is the value of permanently representing the data types as anything but a Are some of these variants suggested so you that can easily enter data into the top level? Can you give an example when this becomes easier with some representations? Or maybe it's because we can sometimes can avoid (un)boxing to |
In my opinion, the value comes in flexibility. Yes, I want to keep things as easy as possible in the top loop. So, ideally the actual code that would interface with a
|
@struktured I've put the basics of what I'm thinking about in this issue in the |
Part of the goal of Oml is to make it as easy as possible to interact with data.
For some types of data and functionality, such as distributions, native OCaml
float array
's are perfect and convenient. For other tasks, such as regression, not so much. While I think Lacaml is super powerful, I don't want to have to remember the idiosyncrasies of BLAS/LAPACK, and more-over, I don't want to spend a lot of time thinking of about the orientation of data.I want it to do the right thing. I'd like a middle (functional) layer that makes it easier to work with dimensional data.
The text was updated successfully, but these errors were encountered: