ndAlgebra

fun <T, A : Group<T>> A.ndAlgebra(bufferFactory: BufferFactory<T>, vararg shape: Int): BufferedGroupND<T, A>
fun <T, A : Ring<T>> A.ndAlgebra(bufferFactory: BufferFactory<T>, vararg shape: Int): BufferedRingND<T, A>
fun <T, A : Field<T>> A.ndAlgebra(bufferFactory: BufferFactory<T>, vararg shape: Int): BufferedFieldND<T, A>
fun DoubleField.ndAlgebra(vararg shape: Int): DoubleFieldND