Package org.ojalgo.scalar
Interface SelfDeclaringScalar<S extends SelfDeclaringScalar<S>>
-
- All Superinterfaces:
AccessScalar<S>
,java.lang.Comparable<S>
,Field<Scalar<S>>
,Group
,Group.Additive<Scalar<S>>
,Group.Multiplicative<Scalar<S>>
,NormedVectorSpace<Scalar<S>,S>
,NumberContext.Enforceable<S>
,NumberDefinition
,Operation
,Operation.Addition<Scalar<S>>
,Operation.Division<Scalar<S>>
,Operation.Multiplication<Scalar<S>>
,Operation.Subtraction<Scalar<S>>
,Ring<Scalar<S>>
,Scalar<S>
,ScalarOperation
,ScalarOperation.Addition<Scalar<S>,S>
,ScalarOperation.Division<Scalar<S>,S>
,ScalarOperation.Multiplication<Scalar<S>,S>
,ScalarOperation.Subtraction<Scalar<S>,S>
,Tensor<S,Scalar<S>>
,VectorSpace<Scalar<S>,S>
- All Known Implementing Classes:
Amount
,ComplexNumber
,ExactDecimal
,Money
,Price
,Quadruple
,Quantity
,Quaternion
,RationalNumber
interface SelfDeclaringScalar<S extends SelfDeclaringScalar<S>> extends Scalar<S>, NumberContext.Enforceable<S>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.ojalgo.algebra.Group
Group.Additive<T>, Group.Multiplicative<T>
-
Nested classes/interfaces inherited from interface org.ojalgo.algebra.Operation
Operation.Addition<T>, Operation.Division<T>, Operation.Multiplication<T>, Operation.Subtraction<T>
-
Nested classes/interfaces inherited from interface org.ojalgo.scalar.Scalar
Scalar.Factory<N extends java.lang.Comparable<N>>
-
Nested classes/interfaces inherited from interface org.ojalgo.algebra.ScalarOperation
ScalarOperation.Addition<T,N extends java.lang.Comparable<N>>, ScalarOperation.Division<T,N extends java.lang.Comparable<N>>, ScalarOperation.Multiplication<T,N extends java.lang.Comparable<N>>, ScalarOperation.Subtraction<T,N extends java.lang.Comparable<N>>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description S
add(double scalarAddend)
default S
add(float scalarAddend)
S
add(S scalarAddend)
S
conjugate()
This method will (most likely) be moved to some other interface in the future! Just have to figure out where it fits...S
divide(double scalarDivisor)
default S
divide(float scalarDivisor)
S
divide(S scalarDivisor)
S
invert()
The multiplicative inverse.S
multiply(double scalarMultiplicand)
default S
multiply(float scalarMultiplicand)
S
multiply(S scalarMultiplicand)
S
negate()
The additive inverse of this.S
power(int power)
Multiply by itselfpower
times.S
signum()
this == this.signum().multiply(this.norm())
S
subtract(double scalarSubtrahend)
default S
subtract(float scalarSubtrahend)
S
subtract(S scalarSubtrahend)
-
Methods inherited from interface org.ojalgo.structure.AccessScalar
get
-
Methods inherited from interface org.ojalgo.algebra.NormedVectorSpace
isSmall, norm
-
Methods inherited from interface org.ojalgo.type.context.NumberContext.Enforceable
enforce
-
Methods inherited from interface org.ojalgo.type.NumberDefinition
booleanValue, byteValue, doubleValue, floatValue, intValue, longValue, shortValue
-
Methods inherited from interface org.ojalgo.scalar.Scalar
add, dimensions, divide, isAbsolute, multiply, rank, subtract, toBigDecimal, toPlainString, toString
-
Methods inherited from interface org.ojalgo.tensor.Tensor
components, isSameShape
-
-
-
-
Method Detail
-
add
S add(double scalarAddend)
- Specified by:
add
in interfaceScalarOperation.Addition<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
this + scalarAddend
.
-
add
default S add(float scalarAddend)
- Specified by:
add
in interfaceScalarOperation.Addition<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
this + scalarAddend
.
-
add
S add(S scalarAddend)
- Specified by:
add
in interfaceScalarOperation.Addition<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
this + scalarAddend
.
-
conjugate
S conjugate()
Description copied from interface:VectorSpace
This method will (most likely) be moved to some other interface in the future! Just have to figure out where it fits...
The conjugate transpose of a matrix and/or the conjugate of a scalar/field like ComplexNumber or Quaternion.
The conjugate transpose of a real matrix is simply its transpose.
- Specified by:
conjugate
in interfaceVectorSpace<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
-
divide
S divide(double scalarDivisor)
- Specified by:
divide
in interfaceScalarOperation.Division<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
this / scalarDivisor
.
-
divide
default S divide(float scalarDivisor)
- Specified by:
divide
in interfaceScalarOperation.Division<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
this / scalarDivisor
.
-
divide
S divide(S scalarDivisor)
- Specified by:
divide
in interfaceScalarOperation.Division<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
this / scalarDivisor
.
-
invert
S invert()
Description copied from interface:Group.Multiplicative
The multiplicative inverse.- Specified by:
invert
in interfaceGroup.Multiplicative<S extends SelfDeclaringScalar<S>>
- Returns:
IDENTITY / this
.
-
multiply
S multiply(double scalarMultiplicand)
- Specified by:
multiply
in interfaceScalarOperation.Multiplication<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
this * scalarMultiplicand
.
-
multiply
default S multiply(float scalarMultiplicand)
- Specified by:
multiply
in interfaceScalarOperation.Multiplication<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
this * scalarMultiplicand
.
-
multiply
S multiply(S scalarMultiplicand)
- Specified by:
multiply
in interfaceScalarOperation.Multiplication<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
this * multiplicand
.
-
negate
S negate()
Description copied from interface:Group.Additive
The additive inverse of this.- Specified by:
negate
in interfaceGroup.Additive<S extends SelfDeclaringScalar<S>>
- Returns:
-this
.
-
power
S power(int power)
Description copied from interface:Operation.Multiplication
Multiply by itselfpower
times.- Specified by:
power
in interfaceOperation.Multiplication<S extends SelfDeclaringScalar<S>>
-
signum
S signum()
Description copied from interface:NormedVectorSpace
this == this.signum().multiply(this.norm())
- Specified by:
signum
in interfaceNormedVectorSpace<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
- A unit "vector"
-
subtract
S subtract(double scalarSubtrahend)
- Specified by:
subtract
in interfaceScalarOperation.Subtraction<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
this - scalarSubtrahend
.
-
subtract
default S subtract(float scalarSubtrahend)
- Specified by:
subtract
in interfaceScalarOperation.Subtraction<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
this - scalarSubtrahend
.
-
subtract
S subtract(S scalarSubtrahend)
- Specified by:
subtract
in interfaceScalarOperation.Subtraction<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
- Returns:
this - scalarSubtrahend
.
-
-