Class CARMALinearAlgebraProvider<E>
java.lang.Object
org.episteme.core.mathematics.linearalgebra.providers.CPUDenseLinearAlgebraProvider<E>
org.episteme.core.mathematics.linearalgebra.providers.CARMALinearAlgebraProvider<E>
- All Implemented Interfaces:
AutoCloseable, LinearAlgebraProvider<E>, AlgorithmProvider, Backend, ComputeBackend, CPUBackend
@AutoService(LinearAlgebraProvider.class)
public class CARMALinearAlgebraProvider<E>
extends CPUDenseLinearAlgebraProvider<E>
Linear Algebra Provider that forces the use of the CARMA algorithm.
Intended for benchmarking and comparison purposes.
-
Field Summary
Fields inherited from class CPUDenseLinearAlgebraProvider
field -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionComputes the matrix exponential e^A.Returns a string describing the execution environment (e.g., "CPU (AVX2)", "GPU (CUDA 12.0)").getName()Returns the display name for UI presentation.intPriority of this provider (higher means more preferred).booleanChecks if the provider is available in the current environment.voidshutdown()Called when the provider is no longer needed (e.g., application shutdown).Methods inherited from class CPUDenseLinearAlgebraProvider
add, add, angle, cholesky, createBackend, createContext, cross, determinant, dot, eigen, getId, getMetadata, inverse, isCompatible, lu, multiply, norm, normalize, projection, qr, score, solve, solve, solve, solve, solveTriangular, standardMultiply, subtract, subtract, svd, traceMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface AlgorithmProvider
descriptionMethods inherited from interface Backend
getAlgorithmProviders, getStatusMessage, isExplicitlyDisabledMethods inherited from interface ComputeBackend
getDescriptionMethods inherited from interface CPUBackend
getAcceleratorType, getType, supportsComplexNumbers, supportsFloatingPoint, supportsParallelOpsMethods inherited from interface LinearAlgebraProvider
acosh, asinh, atanh, close, conditionNumber, configure, conjugateTranspose, getAlgorithmType, rank
-
Constructor Details
-
CARMALinearAlgebraProvider
public CARMALinearAlgebraProvider()
-
-
Method Details
-
getEnvironmentInfo
Description copied from interface:LinearAlgebraProviderReturns a string describing the execution environment (e.g., "CPU (AVX2)", "GPU (CUDA 12.0)").- Specified by:
getEnvironmentInfoin interfaceLinearAlgebraProvider<E>- Overrides:
getEnvironmentInfoin classCPUDenseLinearAlgebraProvider<E>
-
getName
Description copied from interface:BackendReturns the display name for UI presentation.- Specified by:
getNamein interfaceAlgorithmProvider- Specified by:
getNamein interfaceBackend- Specified by:
getNamein interfaceLinearAlgebraProvider<E>- Overrides:
getNamein classCPUDenseLinearAlgebraProvider<E>
-
multiply
-
exp
Description copied from interface:LinearAlgebraProviderComputes the matrix exponential e^A.- Specified by:
expin interfaceLinearAlgebraProvider<E>- Overrides:
expin classCPUDenseLinearAlgebraProvider<E>
-
log
- Specified by:
login interfaceLinearAlgebraProvider<E>- Overrides:
login classCPUDenseLinearAlgebraProvider<E>
-
log10
- Specified by:
log10in interfaceLinearAlgebraProvider<E>- Overrides:
log10in classCPUDenseLinearAlgebraProvider<E>
-
sin
- Specified by:
sinin interfaceLinearAlgebraProvider<E>- Overrides:
sinin classCPUDenseLinearAlgebraProvider<E>
-
cos
- Specified by:
cosin interfaceLinearAlgebraProvider<E>- Overrides:
cosin classCPUDenseLinearAlgebraProvider<E>
-
tan
- Specified by:
tanin interfaceLinearAlgebraProvider<E>- Overrides:
tanin classCPUDenseLinearAlgebraProvider<E>
-
asin
- Specified by:
asinin interfaceLinearAlgebraProvider<E>- Overrides:
asinin classCPUDenseLinearAlgebraProvider<E>
-
acos
- Specified by:
acosin interfaceLinearAlgebraProvider<E>- Overrides:
acosin classCPUDenseLinearAlgebraProvider<E>
-
atan
- Specified by:
atanin interfaceLinearAlgebraProvider<E>- Overrides:
atanin classCPUDenseLinearAlgebraProvider<E>
-
sinh
- Specified by:
sinhin interfaceLinearAlgebraProvider<E>- Overrides:
sinhin classCPUDenseLinearAlgebraProvider<E>
-
cosh
- Specified by:
coshin interfaceLinearAlgebraProvider<E>- Overrides:
coshin classCPUDenseLinearAlgebraProvider<E>
-
tanh
- Specified by:
tanhin interfaceLinearAlgebraProvider<E>- Overrides:
tanhin classCPUDenseLinearAlgebraProvider<E>
-
sqrt
- Specified by:
sqrtin interfaceLinearAlgebraProvider<E>- Overrides:
sqrtin classCPUDenseLinearAlgebraProvider<E>
-
cbrt
- Specified by:
cbrtin interfaceLinearAlgebraProvider<E>- Overrides:
cbrtin classCPUDenseLinearAlgebraProvider<E>
-
pow
-
scale
-
transpose
- Specified by:
transposein interfaceLinearAlgebraProvider<E>- Overrides:
transposein classCPUDenseLinearAlgebraProvider<E>
-
multiply
-
getPriority
public int getPriority()Description copied from interface:LinearAlgebraProviderPriority of this provider (higher means more preferred). Used for automatic backend selection.- Specified by:
getPriorityin interfaceAlgorithmProvider- Specified by:
getPriorityin interfaceBackend- Specified by:
getPriorityin interfaceLinearAlgebraProvider<E>- Overrides:
getPriorityin classCPUDenseLinearAlgebraProvider<E>
-
isAvailable
public boolean isAvailable()Description copied from interface:AlgorithmProviderChecks if the provider is available in the current environment.- Specified by:
isAvailablein interfaceAlgorithmProvider- Specified by:
isAvailablein interfaceBackend- Overrides:
isAvailablein classCPUDenseLinearAlgebraProvider<E>
-
shutdown
public void shutdown()Description copied from interface:AlgorithmProviderCalled when the provider is no longer needed (e.g., application shutdown). Use this to release local resources or close native segments.- Specified by:
shutdownin interfaceAlgorithmProvider- Specified by:
shutdownin interfaceBackend- Overrides:
shutdownin classCPUDenseLinearAlgebraProvider<E>
-