class PHPExcel_Shared_JAMA_Matrix

## Constants

 POLYMORPHIC_ARGUMENT_EXCEPTION ARGUMENT_TYPE_EXCEPTION ARGUMENT_BOUNDS_EXCEPTION MATRIX_DIMENSION_EXCEPTION ARRAY_LENGTH_EXCEPTION

## Properties

 \$A Matrix storage

## Methods

__construct()

Polymorphic constructor

getArray()

getArray

getRowDimension()

getRowDimension

getColumnDimension()

getColumnDimension

get(\$i = null, \$j = null)

get

getMatrix()

getMatrix

checkMatrixDimensions(Matrix \$B = null)

checkMatrixDimensions

set(\$i = null, \$j = null, \$c = null)

set

identity(\$m = null, \$n = null)

identity

diagonal(\$m = null, \$n = null, \$c = 1)

diagonal

getMatrixByRow(\$i0 = null, \$iF = null)

getMatrixByRow

getMatrixByCol(\$j0 = null, \$jF = null)

getMatrixByCol

Matrix
transpose()

transpose

float
trace()

trace

Matrix
uminus()

uminus

plus()

plus

plusEquals()

plusEquals

minus()

minus

minusEquals()

minusEquals

arrayTimes()

arrayTimes

arrayTimesEquals()

arrayTimesEquals

arrayRightDivide()

arrayRightDivide

arrayRightDivideEquals()

arrayRightDivideEquals

arrayLeftDivide()

arrayLeftDivide

arrayLeftDivideEquals()

arrayLeftDivideEquals

times()

times

power()

power

concat()

concat

Matrix
solve(\$B)

Solve A*X = B.

inverse()

Matrix inverse or pseudoinverse.

float
det()

det

## Details

### at line 84``` __construct() ```

Polymorphic constructor

As PHP has no support for polymorphic constructors, we hack our own sort of polymorphism using funcnumargs, funcgetarg, and gettype. In essence, we're just implementing a simple RTTI filter and calling the appropriate constructor.

### at line 141``` getArray() ```

getArray

@return array Matrix array

### at line 151``` getRowDimension() ```

getRowDimension

@return int Row dimension

### at line 161``` getColumnDimension() ```

getColumnDimension

@return int Column dimension

### at line 174``` get(\$i = null, \$j = null) ```

get

Get the i,j-th element of the matrix.

 \$i \$j

getMatrix

Get a submatrix

### at line 338``` checkMatrixDimensions(Matrix \$B = null) ```

checkMatrixDimensions

Is matrix B the same size?

#### Parameters

 Matrix \$B Matrix B @return boolean

### at line 360``` set(\$i = null, \$j = null, \$c = null) ```

set

Set the i,j-th element of the matrix.

#### Parameters

 \$i \$j \$c

### at line 374``` identity(\$m = null, \$n = null) ```

identity

Generate an identity matrix.

 \$m \$n

### at line 388``` diagonal(\$m = null, \$n = null, \$c = 1) ```

diagonal

Generate a diagonal matrix

#### Parameters

 \$m \$n \$c

### at line 405``` getMatrixByRow(\$i0 = null, \$iF = null) ```

getMatrixByRow

Get a submatrix by row index/range

#### Parameters

 \$i0 \$iF

### at line 426``` getMatrixByCol(\$j0 = null, \$jF = null) ```

getMatrixByCol

Get a submatrix by column index/range

#### Parameters

 \$j0 \$jF

### at line 445``` Matrix transpose() ```

transpose

Tranpose matrix

#### Return Value

 Matrix Transposed matrix

### at line 462``` float trace() ```

trace

Sum of diagonal elements

#### Return Value

 float Sum of diagonal elements

### at line 478``` Matrix uminus() ```

uminus

Unary minus matrix -A

#### Return Value

 Matrix Unary minus matrix

plus

A + B

plusEquals

A = A + B

minus

A - B

minusEquals

A = A - B

### at line 678``` arrayTimes() ```

arrayTimes

Element-by-element multiplication Cij = Aij * Bij

### at line 719``` arrayTimesEquals() ```

arrayTimesEquals

Element-by-element multiplication Aij = Aij * Bij

### at line 774``` arrayRightDivide() ```

arrayRightDivide

Element-by-element right division A / B

### at line 835``` arrayRightDivideEquals() ```

arrayRightDivideEquals

Element-by-element right division Aij = Aij / Bij

### at line 877``` arrayLeftDivide() ```

arrayLeftDivide

Element-by-element Left division A / B

### at line 919``` arrayLeftDivideEquals() ```

arrayLeftDivideEquals

Element-by-element Left division Aij = Aij / Bij

### at line 960``` times() ```

times

Matrix multiplication

power

A = A ^ B

concat

A = A & B

### at line 1147``` Matrix solve(\$B) ```

Solve A*X = B.

@param Matrix \$B Right hand side

 \$B

#### Return Value

 Matrix ... Solution if A is square, least squares solution otherwise

### at line 1163``` inverse() ```

Matrix inverse or pseudoinverse.

@return Matrix ... Inverse(A) if A is square, pseudoinverse otherwise.

### at line 1174``` float det() ```

det

Calculate determinant

#### Return Value

 float Determinant