Class DoubleMatrixAbs<AU extends AbsoluteLinearUnit<AU,RU>,A extends DoubleScalarAbs<AU,A,RU,R>,AV extends DoubleVectorAbs<AU,A,AV,RU,R,RV>,AM extends DoubleMatrixAbs<AU,A,AV,AM,RU,R,RV,RM>,RU extends Unit<RU>,R extends DoubleScalarRelWithAbs<AU,A,RU,R>,RV extends DoubleVectorRelWithAbs<AU,A,AV,RU,R,RV>,RM extends DoubleMatrixRelWithAbs<AU,A,AV,AM,RU,R,RV,RM>>
java.lang.Object
org.djunits.value.IndexedValue<U,S,M,DM>
org.djunits.value.base.Matrix<U,S,V,DoubleVectorData,M,DoubleMatrixData>
org.djunits.value.vdouble.matrix.base.DoubleMatrix<AU,A,AV,AM>
org.djunits.value.vdouble.matrix.base.DoubleMatrixAbs<AU,A,AV,AM,RU,R,RV,RM>
- Type Parameters:
AU
- the absolute unit belonging to the relative unitA
- the absolute scalar type belonging to the absolute matrix typeAV
- the absolute vector type belonging to the absolute matrix typeAM
- the (immutable or mutable) absolute matrix typeRU
- the relative unit belonging to the absolute unitR
- the relative scalar type belonging to the relative matrix typeRV
- the relative vector type belonging to the relative matrix typeRM
- the relative (immutable or mutable) matrix type with this unit
- All Implemented Interfaces:
Serializable
,Cloneable
,Absolute<AU,
,AM, RU, RM> Value<AU,
AM>
- Direct Known Subclasses:
AbsoluteTemperatureMatrix
,DirectionMatrix
,PositionMatrix
,TimeMatrix
public abstract class DoubleMatrixAbs<AU extends AbsoluteLinearUnit<AU,RU>,A extends DoubleScalarAbs<AU,A,RU,R>,AV extends DoubleVectorAbs<AU,A,AV,RU,R,RV>,AM extends DoubleMatrixAbs<AU,A,AV,AM,RU,R,RV,RM>,RU extends Unit<RU>,R extends DoubleScalarRelWithAbs<AU,A,RU,R>,RV extends DoubleVectorRelWithAbs<AU,A,AV,RU,R,RV>,RM extends DoubleMatrixRelWithAbs<AU,A,AV,AM,RU,R,RV,RM>>
extends DoubleMatrix<AU,A,AV,AM>
implements Absolute<AU,AM,RU,RM>
AbstractMutableDoubleMatrixRelWithAbs.java.
Copyright (c) 2019-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See DJUNITS License.
- Author:
- Alexander Verbraeck
- See Also:
-
Field Summary
Fields inherited from class org.djunits.value.vdouble.matrix.base.DoubleMatrix
data
-
Constructor Summary
ModifierConstructorDescriptionprotected
DoubleMatrixAbs
(DoubleMatrixData data, AU unit) Construct a new Relative Mutable DoubleMatrix. -
Method Summary
Modifier and TypeMethodDescriptiondecrementBy
(R decrement) Decrement all values of this matrix by the decrement.decrementBy
(RM decrement) Decrement all values of this matrix by the decrement on a value by value basis.abstract RM
instantiateMatrixRel
(DoubleMatrixData dmd, RU displayUnit) Instantiate a new relative matrix of the class of this absolute matrix.abstract R
instantiateScalarRelSI
(double valueSI, RU displayUnit) Instantiate a new relative scalar for the class of this absolute matrix.abstract RV
instantiateVectorRel
(DoubleVectorData dvd, RU displayUnit) Instantiate a new relative vector of the class of this absolute matrix.Subtract an Absolute value from this Absolute value, resulting in a Relative value.Subtract a Relative value from this Absolute value.Add a Relative value to this Absolute value.Methods inherited from class org.djunits.value.vdouble.matrix.base.DoubleMatrix
abs, assign, ceil, checkColumnIndex, checkIndex, checkRowIndex, checkSquare, cols, determinantSI, equals, floor, get, getColumn, getColumnScalars, getColumnSI, getData, getDiagonal, getDiagonalScalars, getDiagonalSI, getInUnit, getInUnit, getRow, getRowScalars, getRowSI, getScalars, getSI, getValuesInUnit, getValuesInUnit, getValuesSI, hashCode, instantiateMatrix, instantiateScalarSI, instantiateVector, neg, rint, rows, set, setData, setInUnit, setInUnit, setSI, toDense, toSparse, toString, toString, toString, toString
Methods inherited from class org.djunits.value.base.Matrix
getVectorClass
Methods inherited from class org.djunits.value.IndexedValue
cardinality, checkCopyOnWrite, clone, getDisplayUnit, getScalarClass, getStorageType, immutable, isCopyOnWrite, isDense, isMutable, isSparse, mutable, setCopyOnWrite, setDisplayUnit, setMutable
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.djunits.value.Value
isAbsolute, isRelative
-
Constructor Details
-
DoubleMatrixAbs
Construct a new Relative Mutable DoubleMatrix.- Parameters:
data
- DoubleMatrixData; an internal data objectunit
- AU; the unit
-
-
Method Details
-
plus
Description copied from interface:Absolute
Add a Relative value to this Absolute value. A new value is returned due to immutability.- Specified by:
plus
in interfaceAbsolute<AU extends AbsoluteLinearUnit<AU,
RU>, A extends DoubleScalarAbs<AU, A, RU, R>, AV extends DoubleVectorAbs<AU, A, AV, RU, R, RV>, AM extends DoubleMatrixAbs<AU, A, AV, AM, RU, R, RV, RM>> - Parameters:
increment
- R; R the right operand- Returns:
- A; the sum of this value and the operand
- Throws:
ValueRuntimeException
-
minus
Description copied from interface:Absolute
Subtract a Relative value from this Absolute value. A new value is returned due to immutability.- Specified by:
minus
in interfaceAbsolute<AU extends AbsoluteLinearUnit<AU,
RU>, A extends DoubleScalarAbs<AU, A, RU, R>, AV extends DoubleVectorAbs<AU, A, AV, RU, R, RV>, AM extends DoubleMatrixAbs<AU, A, AV, AM, RU, R, RV, RM>> - Parameters:
decrement
- R; R the right operand- Returns:
- A; the subtraction of this value and the operand
- Throws:
ValueRuntimeException
-
minus
Description copied from interface:Absolute
Subtract an Absolute value from this Absolute value, resulting in a Relative value. A new value is returned due to immutability.- Specified by:
minus
in interfaceAbsolute<AU extends AbsoluteLinearUnit<AU,
RU>, A extends DoubleScalarAbs<AU, A, RU, R>, AV extends DoubleVectorAbs<AU, A, AV, RU, R, RV>, AM extends DoubleMatrixAbs<AU, A, AV, AM, RU, R, RV, RM>> - Parameters:
decrement
- A; A the right operand- Returns:
- R; the subtraction of this value and the operand
- Throws:
ValueRuntimeException
-
decrementBy
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
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 immutableValueRuntimeException
- when the sizes of the matrices differ, ordecrement
is null
-
instantiateMatrixRel
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 matrixdisplayUnit
- RU; the display unit of the relative matrix- Returns:
- RM; a relative matrix of the correct type, belonging to this absolute matrix type
-
instantiateVectorRel
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 vectordisplayUnit
- RU; the display unit of the relative vector- Returns:
- RV; a relative vector of the correct type, belonging to this absolute matrix type
-
instantiateScalarRelSI
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 scalardisplayUnit
- 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
-