Class AbstractDoubleMatrixAbs<AU extends AbsoluteLinearUnit<AU,​RU>,​A extends AbstractDoubleScalarAbs<AU,​A,​RU,​R>,​AV extends AbstractDoubleVectorAbs<AU,​A,​AV,​RU,​R,​RV>,​AM extends AbstractDoubleMatrixAbs<AU,​A,​AV,​AM,​RU,​R,​RV,​RM>,​RU extends Unit<RU>,​R extends AbstractDoubleScalarRelWithAbs<AU,​A,​RU,​R>,​RV extends AbstractDoubleVectorRelWithAbs<AU,​A,​AV,​RU,​R,​RV>,​RM extends AbstractDoubleMatrixRelWithAbs<AU,​A,​AV,​AM,​RU,​R,​RV,​RM>>

    • Constructor Detail

      • AbstractDoubleMatrixAbs

        protected AbstractDoubleMatrixAbs​(DoubleMatrixData data,
                                          AU unit)
        Construct a new Relative Mutable DoubleMatrix.
        Parameters:
        data - DoubleMatrixData; an internal data object
        unit - AU; the unit
    • Method Detail

      • decrementBy

        public AM decrementBy​(R decrement)
        Decrement all values of this matrix by the decrement. This only works if this matrix is mutable.
        Parameters:
        decrement - R; the scalar by which to decrement all values
        Returns:
        AM; this modified vector
        Throws:
        ValueRuntimeException - in case this vector is immutable
      • decrementBy

        public AM decrementBy​(RM decrement)
        Decrement all values of this matrix by the decrement on a value by value basis. This only works if this matrix is mutable.
        Parameters:
        decrement - RM; the matrix that contains the values by which to decrement the corresponding values
        Returns:
        AV; this modified matrix
        Throws:
        ValueRuntimeException - in case this matrix is immutable
        ValueRuntimeException - when the sizes of the matrices differ, or decrement is null
      • instantiateMatrixRel

        public abstract RM instantiateMatrixRel​(DoubleMatrixData dmd,
                                                RU displayUnit)
        Instantiate a new relative matrix of the class of this absolute matrix. This can be used instead of the DoubleMatrix.instiantiate() methods in case another matrix of this absolute matrix class is known. The method is faster than DoubleMatrix.instantiate, and it will also work if the matrix is user-defined.
        Parameters:
        dmd - DoubleMatrixData; the data used to instantiate the matrix
        displayUnit - RU; the display unit of the relative matrix
        Returns:
        RM; a relative matrix of the correct type, belonging to this absolute matrix type
      • instantiateVectorRel

        public abstract RV instantiateVectorRel​(DoubleVectorData dvd,
                                                RU displayUnit)
        Instantiate a new relative vector of the class of this absolute matrix. This can be used instead of the DoubleVector.instiantiate() methods in case another matrix of this absolute matrix class is known. The method is faster than DoubleVector.instantiate, and it will also work if the matrix or vector is user-defined.
        Parameters:
        dvd - DoubleVectorData; the data used to instantiate the vector
        displayUnit - RU; the display unit of the relative vector
        Returns:
        RV; a relative vector of the correct type, belonging to this absolute matrix type
      • instantiateScalarRelSI

        public abstract R instantiateScalarRelSI​(double valueSI,
                                                 RU displayUnit)
        Instantiate a new relative scalar for the class of this absolute matrix. This can be used instead of the DoubleScalar.instiantiate() methods in case a matrix of this class is known. The method is faster than DoubleScalar.instantiate, and it will also work if the matrix and/or scalar are user-defined.
        Parameters:
        valueSI - double; the SI value of the relative scalar
        displayUnit - RU; the unit in which the relative value will be displayed
        Returns:
        R; a relative scalar of the correct type, belonging to this absolute matrix type