Open ChristopherRabotin opened 1 year ago
Inflexibility - The library is limited to a fixed set of units. Users can't define their own units or handle non-standard units. Dimensional analysis is limited.
Sorry but, as expected from an "AI" model, this is bullshit 😉
Maybe I'm not explaining well what "abandon symbolic algebra" means. The 7 fundamental SI dimensions are hardcoded for the default unit system:
But the user can define their own:
The key is that, within a given unit system, operations are well defined and generic symbolic algebra is not needed:
This means that one can avoid sympy, unlike projects like unyt:
and instead use well defined operations between units:
Lack of precision - For exact unit conversion between arbitrary units, symbolic logic is needed. Hardcoding a set of conversion factors loses this precision.
I think this is a niche use case.
Unrealistic for some domains - Many specialized domains require far more than just the 7 SI units. Anything requiring imperial/US units would not work.
This is another bullshit "AI" answer. There are 7 dimensions regardless of unit system.
Imperial/US units support would be nice, yes. The way to achieve that would be to define conversion factors within a given unit system. It's not difficult with the current system.
I appreciate your good intention @ChristopherRabotin, but I am not happy with using "AI" to try to reason about difficult engineering tradeoffs. I am happy to do some brainstorming but I would like to ask you to read the code and the resources that are linked in the README.
fastunits is a proof of concept, not even a fully working prototype, but the operation overloading between dimensions, units, and quantities is what makes it unique. This can be extended for floating point and symbolic arithmetic, while saving complexity from overly generic approaches.
Thanks for taking the time to answer. Yup, lots of these answers by the generator aren't great. I'll read through the proof of concept code
On Thu, May 25, 2023, 05:47 Juan Luis Cano Rodríguez < @.***> wrote:
I appreciate your good intention @ChristopherRabotin https://github.com/ChristopherRabotin, but I am not happy with using "AI" to try to reason about difficult engineering tradeoffs. I am happy to do some brainstorming but I would like to ask you to read the code and the resources that are linked in the README.
fastunits is a proof of concept, not even a fully working prototype, but the operation overloading between dimensions, units, and quantities is what makes it unique. This can be extended for floating point and symbolic arithmetic, while saving complexity from overly generic approaches.
— Reply to this email directly, view it on GitHub https://github.com/astrojuanlu/fastunits/issues/6#issuecomment-1562763364, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEZV2GTWFBOTQGQL5G2A4DXH5BGLANCNFSM6AAAAAAYOIXSM4 . You are receiving this because you were mentioned.Message ID: @.***>
Hi Juan,
As discussed on OpenAstrodynamics, I am interested in a fast unit library. My application would need both Rust and Python support. Anyway, I fed the the video from your readme to
ask-claude
, and been asking it questions. It recommended the following ideas that I thought might be useful:Question > Here's what I've been told about unit libraries: "the key idea is to abandon symbolic algebra engines for this, since usually people just want the 7 fundamental units and this number can be hardcoded upfront, saving a ton of complexity". What do you think?