forked from kscience/kmath
Merge branch 'feature/tensor-algebra' into feature/torch
This commit is contained in:
commit
3e3d433a64
@ -19,25 +19,6 @@ public class RealTensor(
|
||||
|
||||
public class RealTensorAlgebra : TensorPartialDivisionAlgebra<Double, RealTensor> {
|
||||
|
||||
override fun add(a: RealTensor, b: RealTensor): RealTensor {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun multiply(a: RealTensor, k: Number): RealTensor {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override val zero: RealTensor
|
||||
get() = TODO("Not yet implemented")
|
||||
|
||||
override fun multiply(a: RealTensor, b: RealTensor): RealTensor {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override val one: RealTensor
|
||||
get() = TODO("Not yet implemented")
|
||||
|
||||
|
||||
override fun Double.plus(other: RealTensor): RealTensor {
|
||||
val n = other.buffer.size
|
||||
val arr = other.buffer.array
|
||||
@ -51,6 +32,10 @@ public class RealTensorAlgebra : TensorPartialDivisionAlgebra<Double, RealTensor
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun RealTensor.plus(other: RealTensor): RealTensor {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun RealTensor.plusAssign(value: Double) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
@ -67,6 +52,10 @@ public class RealTensorAlgebra : TensorPartialDivisionAlgebra<Double, RealTensor
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun RealTensor.minus(other: RealTensor): RealTensor {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun RealTensor.minusAssign(value: Double) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
@ -83,6 +72,10 @@ public class RealTensorAlgebra : TensorPartialDivisionAlgebra<Double, RealTensor
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun RealTensor.times(other: RealTensor): RealTensor {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun RealTensor.timesAssign(value: Double) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
@ -91,6 +84,10 @@ public class RealTensorAlgebra : TensorPartialDivisionAlgebra<Double, RealTensor
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun RealTensor.unaryMinus(): RealTensor {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun RealTensor.dot(other: RealTensor): RealTensor {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
@ -1,25 +1,26 @@
|
||||
package space.kscience.kmath.tensors
|
||||
|
||||
import space.kscience.kmath.operations.Ring
|
||||
import space.kscience.kmath.operations.RingWithNumbers
|
||||
|
||||
// https://proofwiki.org/wiki/Definition:Algebra_over_Ring
|
||||
public interface TensorAlgebra<T, TensorType : TensorStructure<T>>: RingWithNumbers<TensorType> {
|
||||
public interface TensorAlgebra<T, TensorType : TensorStructure<T>>{
|
||||
|
||||
public operator fun T.plus(other: TensorType): TensorType
|
||||
public operator fun TensorType.plus(value: T): TensorType
|
||||
public operator fun TensorType.plus(other: TensorType): TensorType
|
||||
public operator fun TensorType.plusAssign(value: T): Unit
|
||||
public operator fun TensorType.plusAssign(other: TensorType): Unit
|
||||
|
||||
public operator fun T.minus(other: TensorType): TensorType
|
||||
public operator fun TensorType.minus(value: T): TensorType
|
||||
public operator fun TensorType.minus(other: TensorType): TensorType
|
||||
public operator fun TensorType.minusAssign(value: T): Unit
|
||||
public operator fun TensorType.minusAssign(other: TensorType): Unit
|
||||
|
||||
public operator fun T.times(other: TensorType): TensorType
|
||||
public operator fun TensorType.times(value: T): TensorType
|
||||
public operator fun TensorType.times(other: TensorType): TensorType
|
||||
public operator fun TensorType.timesAssign(value: T): Unit
|
||||
public operator fun TensorType.timesAssign(other: TensorType): Unit
|
||||
public operator fun TensorType.unaryMinus(): TensorType
|
||||
|
||||
|
||||
//https://pytorch.org/docs/stable/generated/torch.matmul.html
|
||||
|
Loading…
Reference in New Issue
Block a user