Low dimensional matrices, vectors, quaternions and a cubic equation solver

Simen kjaeraas simen.kjaras at gmail.com
Fri Apr 16 14:52:59 PDT 2010


Gareth Charnock <gareth.tpc at gmail.com> wrote:

> Quaternions:
> opAdd, opSub, opMult(quaternion), opMult(vector), opDiv, Normalise,  
> Normalized, conjugate, conjugated, toEulerAngles*, fromEulerAngles,  
> this(real,i,j,k), this(angle,axis), getAngle(), getAxis()
[...]
> Vectors:
> opAdd, opSub, opMult(scalar), opMult(vector)*, cross**, Normalise,  
> Normalized, Length

Normalise and normalized seem to be inconsistent in their naming.
Please use only z or only s.

> * dot product. Would this be better named as dot()?

Yes please.

> ** 3D vectors only. Perhaps defining a cross product on the

Cross products are useful. Please add.

> Matrices:
> opAdd, opSub, opMult(scalar), opMult(vector), opMult(matrix)**, Invert,  
> Inverted, Orthogonalize, Orthogonalized, Reorthogonalize***,  
> Reorthogonalized***, Det, Transpose, Transposed, Dagger*, Daggered*,  
> Eigenvalues****, Eigenvectors****
>
> *The hermitian conjugate/conjugate transpose. Reduces to the transpose  
> for a real matrix
> ** Matrix-matrix multiplication doesn't commute. Could this be a problem  
> when using operator notation?

There should be no associated problems.

-- 
Simen



More information about the Digitalmars-d mailing list