[
https://issues.apache.org/jira/browse/MATH-863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13460456#comment-13460456
]
Julien Anxionnat commented on MATH-863:
---------------------------------------
The implementation is easy. But in my opinion, it's dangerous for the
{{Quaternion}} to implement the {{FieldElement}} interface because of the
non-commutativity of the multiplication.
I read some articles on mathworld and wikipedia. And I discovered there are
ambiguities in the translation french/english which were confusing me:
* a _field_ *is* commutative ("field" = "corps commutatif" in french) ;
* a _division ring_ (or _skew field_) (= "corps" or "corps gauche" in french)
is a field without prerequisite on the commutativity or non-commutativity of
the multiplication ;
* a _non-commutative field_ (= "corps non commutatif" in french) has a
non-commutative multiplication.
So I suggest to :
# rename the {{Field}} interface into {{SkewField}} ;
# remove the {{multiply()}} and {{divide()}} methods from it ;
# create a new {{Field}} interface extending the {{Skewfield}} within the two
"old" {{multiply()}} and {{divide()}} methods, and precise that this _field_ is
commutative ;
# create a new {{NonCommutativeField}} extending the {{SkewField}} with the
following methods:
** leftMultiply() : a * _this_,
** rightMultiply() : _this_ * a,
** leftDivide() : a ^-1^ * _this_,
** rightDivide() : _this_ * a ^-1^.
What do you think about ?
Julien
> new Quaternion class added in complex package
> ---------------------------------------------
>
> Key: MATH-863
> URL: https://issues.apache.org/jira/browse/MATH-863
> Project: Commons Math
> Issue Type: New Feature
> Affects Versions: 3.1
> Reporter: Julien Anxionnat
> Attachments: quaternion_adjustments.patch, quaternion.patch,
> quaternion_v2.patch
>
> Original Estimate: 0h
> Remaining Estimate: 0h
>
> This patch provides a new class for the mathematical object "Quaternion" in
> the complex package.
> This quaternion is considered as a mathematical object (the Hamilton's
> hypercomplex number).
> Note that it's not a rotation quaternion which has to be a quaternion of norm
> one. Although this feature could be used for a getter in the Rotation class.
> This patch provides also some improvements in Precision class : a "double
> comparison epsilon" and a method to compute relative comparison.
> (Please, note that's it's my first contribution, and I apologize in advance
> for my mistakes…)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira