Module ojalgo
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 Sadd(double scalarAddend)default Sadd(float scalarAddend)Sadd(S scalarAddend)Sconjugate()This method will (most likely) be moved to some other interface in the future! Just have to figure out where it fits...Sdivide(double scalarDivisor)default Sdivide(float scalarDivisor)Sdivide(S scalarDivisor)Sinvert()The multiplicative inverse.Smultiply(double scalarMultiplicand)default Smultiply(float scalarMultiplicand)Smultiply(S scalarMultiplicand)Snegate()The additive inverse of this.Spower(int power)Multiply by itselfpowertimes.Ssignum()this == this.signum().multiply(this.norm())Ssubtract(double scalarSubtrahend)default Ssubtract(float scalarSubtrahend)Ssubtract(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, isZero, 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:
addin interfaceScalarOperation.Addition<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
this + scalarAddend.
-
add
default S add(float scalarAddend)
- Specified by:
addin interfaceScalarOperation.Addition<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
this + scalarAddend.
-
add
S add(S scalarAddend)
- Specified by:
addin interfaceScalarOperation.Addition<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
this + scalarAddend.
-
conjugate
S conjugate()
Description copied from interface:VectorSpaceThis 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:
conjugatein interfaceVectorSpace<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>
-
divide
S divide(double scalarDivisor)
- Specified by:
dividein interfaceScalarOperation.Division<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
this / scalarDivisor.
-
divide
default S divide(float scalarDivisor)
- Specified by:
dividein interfaceScalarOperation.Division<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
this / scalarDivisor.
-
divide
S divide(S scalarDivisor)
- Specified by:
dividein interfaceScalarOperation.Division<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
this / scalarDivisor.
-
invert
S invert()
Description copied from interface:Group.MultiplicativeThe multiplicative inverse.- Specified by:
invertin interfaceGroup.Multiplicative<S extends SelfDeclaringScalar<S>>- Returns:
IDENTITY / this.
-
multiply
S multiply(double scalarMultiplicand)
- Specified by:
multiplyin interfaceScalarOperation.Multiplication<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
this * scalarMultiplicand.
-
multiply
default S multiply(float scalarMultiplicand)
- Specified by:
multiplyin interfaceScalarOperation.Multiplication<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
this * scalarMultiplicand.
-
multiply
S multiply(S scalarMultiplicand)
- Specified by:
multiplyin interfaceScalarOperation.Multiplication<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
this * multiplicand.
-
negate
S negate()
Description copied from interface:Group.AdditiveThe additive inverse of this.- Specified by:
negatein interfaceGroup.Additive<S extends SelfDeclaringScalar<S>>- Returns:
-this.
-
power
S power(int power)
Description copied from interface:Operation.MultiplicationMultiply by itselfpowertimes.- Specified by:
powerin interfaceOperation.Multiplication<S extends SelfDeclaringScalar<S>>
-
signum
S signum()
Description copied from interface:NormedVectorSpacethis == this.signum().multiply(this.norm())- Specified by:
signumin interfaceNormedVectorSpace<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
- A unit "vector"
-
subtract
S subtract(double scalarSubtrahend)
- Specified by:
subtractin interfaceScalarOperation.Subtraction<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
this - scalarSubtrahend.
-
subtract
default S subtract(float scalarSubtrahend)
- Specified by:
subtractin interfaceScalarOperation.Subtraction<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
this - scalarSubtrahend.
-
subtract
S subtract(S scalarSubtrahend)
- Specified by:
subtractin interfaceScalarOperation.Subtraction<Scalar<S extends SelfDeclaringScalar<S>>,S extends SelfDeclaringScalar<S>>- Returns:
this - scalarSubtrahend.
-
-