Conform Quaternion to ElementaryFunction
s (exp-like functions)
#206
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A first stab at elementary functions for quaternions(*).
It provides all exp-like functions; where "branch cuts" are not an issue, i.e:
exp, expMinusOne, cosh, sinh, tanh, cos, sin and tan
Additionally, I rearranged some of the (internal) helper functions that are dealing with the imaginary components of the quaternions and moved them into a separate file. These have previously been used exclusively for transformations but are now used throughout the elementary functions and for testing.
Much like the initial implementation of quaternions, this is an adaptation of the great work that has already been done on the elementary functions of complex numbers.
(*) I realized this PR gets quite big if all the elementary functions are part of one PR, especially since the log-like functions may benefit from changes outside the quaternion module – and so I removed them and the pow-like functions.