Skip to content
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

Machine independent orbital element calculation #496

Open
hannorein opened this issue Feb 12, 2021 · 1 comment
Open

Machine independent orbital element calculation #496

hannorein opened this issue Feb 12, 2021 · 1 comment

Comments

@hannorein
Copy link
Owner

The calculation involving orbital element use trigonometric functions. Because the implementation of these trigonometric functions varies across operating systems and compilers, the result is not machine independent. It would be nice to make these machine independent.

Note that the actual integration should be machine independent. This just concerns the setup of initial conditions.

@damian-666
Copy link

i love what i see here but I suggest looking at this paper i just see come out from this legend. Jos Stam.. its not that new, he cites prior works, but he doesn't publish often , and came up with semi-Langrangian fluid modelling for real time flows in 1999. from the code i see here, its using doubles. he using a fixed point in his core and i think floating point for results to display, its just a preprint but theres a demo in javascript using various simple integrators.

[Submitted on 15 Jul 2022]
An Exact Bitwise Reversible Integrator

https://arxiv.org/abs/2207.07695
https://www.josstam.com/reversible

https://arxiv.org/abs/2207.07695

you can see the results in your browser, in javascript i think..

so even if the integration with these methods is machine independent, would the results be the same given the same initial conditions but run on a different machine?

not just for something like multiplayer games or networked solvers.
I think it has huge implications in the convergence of iterative ODE solvers and optimizers so that they dont need to take snapshots of state which is a memory/ state copy trade off, with this class of techniques, they can just go back in time to the optimal when the past where where error inflection happens.. CNNs usually use biases between 0 and 1 anyways.

There is also the POSIT standard for replacing thee double and float.. https://www.sigarch.org/posit-a-potential-replacement-for-ieee-754/

https://www.researchgate.net/publication/325188610_High-level_NET_software_implementations_of_unum_type_I_and_posit_with_simultaneous_FPGA_implementation_using_Hastlayer

I like that the code is C though. If i use C i port it to c#, but not everyone can accept c# even now.

Also slightly off topic but, ive very curious about this topic thought you might have thoughts on it. the NetFoundation is now all open source... it can make wrappers for c code but more importantly it can do real time vectorization so that simd can be used.. in Net 7 means that a particular hardware intrinsic on a device can be used wihttout special case code paths just using Vector where T could be an int64 so i guess made into a fixed point number... you might look at Silk Net for generalized visualizers an GPGPU.. anways.. so much going on now that will make physical simulations more deployable , peer reviewable , visualizable, faster, scriptable, safer to deploy and sharable. Microsoft and JetBrains ( competitors in tooling but collaborating on this) has piad developers amoung the 500+ open source contributers , opimizing c#, and its open source, scriptable like python but typesafe, using CS-Script, and other projects, , Is safer than C.. since you dont have to worry about memory overwrites, and i never saw a perfromance reason to use unsafe code its negligible time checks that can even be done at compile time. MSFT has long been shunned by the academic community but i think its time to give it more consideration.. Scientists should not have to learn how to use pointers to pointers or do open GL or serialize data or require people to have NVidia cards and Cuda installed to try ,see , or improve on their results.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants