Package uk.ac.starlink.ttools.plot
Class Matrices
- java.lang.Object
-
- uk.ac.starlink.ttools.plot.Matrices
-
public class Matrices extends java.lang.Object
Utility class for linear algebra in 3-dimensional space. The array arguments to the methods here are either 3-element arrays representing 3-d vectors( v[0], v[1], v[2] )
or 9-element arrays representing 3-d matrices:( m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8] )
- Since:
- 25 Nov 2005
- Author:
- Mark Taylor
-
-
Constructor Summary
Constructors Constructor Description Matrices()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static double[]
adj(double[] m)
Calculates the adjoint of a matrix.static double[]
cross(double[] a, double[] b)
Calculates the vector (cross) product of two vectors.static double
det(double[] m)
Calculates the determinant of a matrix.static double
dot(double[] a, double[] b)
Calclulates the scalar (dot) product of two vectors.static double[]
fromPal(double[][] m)
Converts a 3-d matrix from Pal-friendly form (3x3) to the form used elsewhere in this class (flat 9-element array).static double[]
invert(double[] m)
Inverts a matrix.static double[]
mmMult(double[] a, double[] b)
Multiplies two matrices together.static double
mod(double[] v)
Calculates the modulus of a vector.static double[]
mult(double[] v, double c)
Multiplies a vector by a constant.static double[]
mvMult(double[] m, double[] v)
Multiplies a matrix by a vector.static double[]
normalise(double[] v)
Normalises a vector.static double[][]
toPal(double[] m)
Converts a 3-d matrix from the form used in this class (flat 9-element array) to Pal-friendly form (3x3).static java.lang.String
toString(double[] a)
Returns a string giving the contents of an arbitrary length vector.static double[]
transpose(double[] a)
Returns the transpose of a 3x3 matrix.static double[]
unit(int iaxis)
Returns a unit vector along an indicated axis.
-
-
-
Method Detail
-
adj
public static double[] adj(double[] m)
Calculates the adjoint of a matrix.- Parameters:
m
- input matrix as 9-element array- Returns:
- adj(m) as 9-element array
-
det
public static double det(double[] m)
Calculates the determinant of a matrix.- Parameters:
m
- input matrix as 9-element array- Returns:
- det(m)
-
invert
public static double[] invert(double[] m)
Inverts a matrix.- Parameters:
m
- input matrix as 9-element array- Returns:
- m-1 as 9-element array
-
dot
public static double dot(double[] a, double[] b)
Calclulates the scalar (dot) product of two vectors.- Parameters:
a
- vector 1b
- vector 2- Returns:
- a.b
-
cross
public static double[] cross(double[] a, double[] b)
Calculates the vector (cross) product of two vectors.- Parameters:
a
- vector 1b
- vector 2- Returns:
- a x b
-
transpose
public static double[] transpose(double[] a)
Returns the transpose of a 3x3 matrix.- Parameters:
a
- input matrix- Returns:
- transpose of a
-
unit
public static double[] unit(int iaxis)
Returns a unit vector along an indicated axis.- Parameters:
iaxis
- index of axis (0, 1 or 2)- Returns:
- unit vector
iaxis
-
mod
public static double mod(double[] v)
Calculates the modulus of a vector.- Parameters:
v
- input vector- Returns:
|v|
-
normalise
public static double[] normalise(double[] v)
Normalises a vector.- Parameters:
v
- input vector- Returns:
|v|
-
mult
public static double[] mult(double[] v, double c)
Multiplies a vector by a constant.- Parameters:
v
- vector of arbitrary lengthc
- constant factor- Returns:
- v * c
-
mvMult
public static double[] mvMult(double[] m, double[] v)
Multiplies a matrix by a vector.- Parameters:
m
- input matrix as 9-element arrayv
- input vector as 3-element array- Returns:
- m * v
-
mmMult
public static double[] mmMult(double[] a, double[] b)
Multiplies two matrices together.- Parameters:
a
- input matrix 1 as 9-element arrayb
- input matrix 2 as 9-element array- Returns:
- a * b as 9-element array
-
toString
public static java.lang.String toString(double[] a)
Returns a string giving the contents of an arbitrary length vector.- Parameters:
a
- array- Returns:
- stringified
a
-
fromPal
public static double[] fromPal(double[][] m)
Converts a 3-d matrix from Pal-friendly form (3x3) to the form used elsewhere in this class (flat 9-element array).- Parameters:
m
- flat matrix- Returns:
- pal-friendly matrix
-
toPal
public static double[][] toPal(double[] m)
Converts a 3-d matrix from the form used in this class (flat 9-element array) to Pal-friendly form (3x3).- Parameters:
m
- flat matrix- Returns:
- pal-friendly matrix
-
-