igeo

## Class IMatrix2

- java.lang.Object
- - igeo.IMatrix
  - - igeo.IMatrix2

- All Implemented Interfaces:
    IMatrix2I, IMatrix2Op, IMatrixI, IMatrixOp, IParameter, IVal

      public class IMatrix2
      extends IMatrix
      implements IMatrix2I

  Class of 2x2 numerical matrix.
  Author:
    Satoru Sugihara

- - ### Field Summary

    - ### Fields inherited from class igeo.IMatrix

      `columnNum, rowNum, val`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IMatrix2()`
    `IMatrix2(double v11, double v12, double v21, double v22)`
    `IMatrix2(IMatrix2 m)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `IMatrix2` | `cp()` alias of dup()
    `double` | `determinant()`
    `static double` | `determinant(double v00, double v01, double v10, double v11)`
    `IMatrix2` | `dup()`
    `IMatrix2` | `get()`
    `static IMatrix2` | `getRotation(double angle)`
    `IMatrix2` | `invert()`
    `IMatrix2` | `mul(IMatrix2 m)` m is applied from right side and update the content of this without creating new instance.
    `IMatrix2` | `mul(IMatrix2I m)`
    `IVec2` | `mul(IVec2 v)` vector is treated as vertical vector
    `IVec2` | `mul(IVec2I v)` vector is treated as vertical vector
    `IMatrix2` | `set(double v11, double v12, double v21, double v22)`
    `IMatrix2` | `set(IDoubleI v11, IDoubleI v12, IDoubleI v21, IDoubleI v22)`

    - ### Methods inherited from class igeo.IMatrix

      `add, add, columnNum, columnNum, columnNum, det, determinant, determinant, div, div, get, get, get, id, mul, mul, mul, mul, rowNum, rowNum, rowNum, set, set, set, set, set, set, setId, setRange, setZero, sub, sub, toArray, toArray, toString, zero`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface igeo.IMatrixI

      `add, columnNum, columnNum, columnNum, determinant, determinant, div, div, get, get, get, mul, mul, mul, rowNum, rowNum, rowNum, set, set, set, set, set, setId, setZero, sub`

- - ### Constructor Detail

    - #### IMatrix2

          public IMatrix2()

    - #### IMatrix2

          public IMatrix2(double v11,
                          double v12,
                          double v21,
                          double v22)

    - #### IMatrix2

          public IMatrix2(IMatrix2 m)

  - ### Method Detail

    - #### get

          public IMatrix2 get()

      Specified by:
        `get` in interface `IMatrix2I`
      Specified by:
        `get` in interface `IMatrix2Op`
      Specified by:
        `get` in interface `IMatrixOp`
      Specified by:
        `get` in interface `IParameter`
      Overrides:
        `get` in class `IMatrix`

    - #### set

          public IMatrix2 set(double v11,
                              double v12,
                              double v21,
                              double v22)

      Specified by:
        `set` in interface `IMatrix2I`

    - #### set

          public IMatrix2 set(IDoubleI v11,
                              IDoubleI v12,
                              IDoubleI v21,
                              IDoubleI v22)

      Specified by:
        `set` in interface `IMatrix2I`

    - #### dup

          public IMatrix2 dup()

      Specified by:
        `dup` in interface `IMatrix2I`
      Specified by:
        `dup` in interface `IMatrixI`
      Overrides:
        `dup` in class `IMatrix`

    - #### cp

          public IMatrix2 cp()

      Description copied from interface: `IMatrixI`
      alias of dup()
      Specified by:
        `cp` in interface `IMatrix2I`
      Specified by:
        `cp` in interface `IMatrixI`
      Overrides:
        `cp` in class `IMatrix`

    - #### determinant

          public double determinant()

      Specified by:
        `determinant` in interface `IMatrixI`
      Overrides:
        `determinant` in class `IMatrix`

    - #### determinant

          public static double determinant(double v00,
                                           double v01,
                                           double v10,
                                           double v11)

    - #### invert

          public IMatrix2 invert()

      Specified by:
        `invert` in interface `IMatrixI`
      Overrides:
        `invert` in class `IMatrix`

    - #### mul

          public IMatrix2 mul(IMatrix2 m)

      m is applied from right side and update the content of this without creating new instance. it returns itself.

    - #### mul

          public IMatrix2 mul(IMatrix2I m)

      Specified by:
        `mul` in interface `IMatrix2I`

    - #### mul

          public IVec2 mul(IVec2I v)

      vector is treated as vertical vector
      Specified by:
        `mul` in interface `IMatrix2I`

    - #### mul

          public IVec2 mul(IVec2 v)

      vector is treated as vertical vector

    - #### getRotation

          public static IMatrix2 getRotation(double angle)