MCPcopy Create free account

hub / github.com/EelcoHoogendoorn/numga / types & classes

Types & classes73 in github.com/EelcoHoogendoorn/numga

↓ 42 callersClassNumpyContext
NumpyEinsumOperator is the default operator type Unroled sparse operators would only make sense for large batch sizes, and high dimensional products
numga/backend/numpy/context.py:8
↓ 27 callersClassAlgebra
Generate algebra by associating bit-patterns of integers with blade patterns This implementation uses vectorized numpy code, and implements the com
numga/algebra/algebra.py:10
↓ 27 callersClassSubspaceDispatch
Register methods that dynamically dispatch according to the subspace of a multivector
numga/dynamic_dispatch.py:50
↓ 22 callersClassOperator
Multi-Linear symbolic operator
numga/operator/operator.py:11
↓ 11 callersClassSparseTensor
numga/operator/sparse_tensor.py:9
↓ 5 callersClassMatrixContainer
Plain sparse container type it is not yet bound to a product type knowledge of how to actually multiply is left to Operator classes
numga/examples/ga_sparse.py:48
↓ 4 callersClassIndexHelper
numga/multivector/helper.py:11
↓ 3 callersClassJaxContext
numga/backend/jax/context.py:8
↓ 3 callersClassJaxEinsumOperator
Implement product using JAX einsum. This seems to provide a nice balance between compilation speed and runtime speed, though sparse evaluation seems
numga/backend/jax/operator.py:143
↓ 3 callersClassNumpyEinsumOperator
Implement multilinear operator using einsum on dense kernel in numpy This is the best implementation in numpy for small subspaces or unbatched multi
numga/backend/numpy/operator.py:102
↓ 3 callersClassTorchEinsumOperator
Implement product using einsum.
numga/backend/torch/operator.py:123
↓ 2 callersClassBuilder
Coordinate Matrix to be used as a construction helper
numga/examples/ga_sparse.py:30
↓ 2 callersClassPythonContext
numga/backend/python/context.py:6
↓ 2 callersClassTorchContext
numga/backend/torch/context.py:8
↓ 1 callersClassAlgebraDescription
All the boilerplate bookkeeping which is generic to any particular implementation of the algebra's logic
numga/algebra/description.py:37
↓ 1 callersClassBoundMatrixOperator
matrix with a specific operator and bound operand subspace given knowledge of what product and subspace we are multiplying with, we can 'write our G
numga/examples/ga_sparse.py:201
↓ 1 callersClassConcreteOperatorFactory
Caches the creation of concrete operator instances from abstract operator instances NOTE: this is more a warehouse than a factory. also, whats the
numga/context.py:17
↓ 1 callersClassConformal
numga/examples/conformal.py:148
↓ 1 callersClassConstraint
A simple point-to-point constraint between rigid bodies I can say from experience that more complex joints can be implemented in GA with comparative
numga/examples/physics/core.py:90
↓ 1 callersClassInNamespace
numga/subspace/namespaces.py:9
↓ 1 callersClassIsNamespace
numga/subspace/namespaces.py:26
↓ 1 callersClassMatrixOperator
matrix container bound to an unbound operator
numga/examples/ga_sparse.py:152
↓ 1 callersClassMultiVectorFactory
Groups together some convenience functionality to allocate concrete MultiVector types
numga/multivector/factory.py:8
↓ 1 callersClassOperatorFactory
Contains constructors for a rich set of geometric linear operators, and acts as a cache of those operators. Note that the operators merely manage t
numga/operator/factory.py:38
↓ 1 callersClassRestrictNamespace
numga/multivector/namespaces.py:29
↓ 1 callersClassRestrictNamespace
numga/subspace/namespaces.py:64
↓ 1 callersClassSelectNamespace
numga/multivector/namespaces.py:11
↓ 1 callersClassSelectNamespace
numga/subspace/namespaces.py:43
↓ 1 callersClassSetterHelper
Helper objects to extend .at[].set syntax of jax arrays to multivectors and operators
numga/multivector/helper.py:2
↓ 1 callersClassSubSpace
Describes a subspace of a full geometric algebra, by means of an array of bit-blades, denoting the blades present in the subspace
numga/subspace/subspace.py:14
↓ 1 callersClassSubSpaceFactory
Namespace for subspace constructors, and a place to provide caching / flyweight mechanism
numga/subspace/factory.py:14
ClassAbstractConcreteOperator
Interface to wrap an abstract linear operator, with a concrete implementation in a specific framework Abstract in the sense that this should not be
numga/operator/abstract.py:12
ClassAbstractContainer
numga/examples/ga_sparse.py:17
ClassAbstractContext
Abstract context object; to be overridden by backend specific logic
numga/context.py:55
ClassAbstractMultiVector
Abstract multivector type; To be used as a base class for implementations in specific backends Note that there is essentially no GA-logic in this c
numga/multivector/multivector.py:10
ClassAntiBiVector
numga/multivector/types.py:23
ClassAntiVector
numga/multivector/types.py:15
ClassBiVector
numga/multivector/types.py:19
ClassBiVector
rates are encoded as a bivector
numga/examples/physics/base.py:12
ClassBlade
single grade that squares to a scalar
numga/multivector/types.py:7
ClassBody
numga/examples/physics/core.py:41
ClassBodyBase
numga/examples/physics/base.py:24
ClassConformalContextMixin
numga/examples/conformal.py:65
ClassConformalMultiVectorFactory
numga/examples/conformal.py:51
ClassConformalSubspaceFactory
numga/examples/conformal.py:37
ClassConstraintBase
Anchors are a pair of points, describing the location of the constraint in the body local frame
numga/examples/physics/base.py:133
ClassDynamicDispatch
Register methods that dynamically dispatch according to static type-like attributes of its arguments This is an abstract base class; specific imple
numga/dynamic_dispatch.py:3
ClassEven
like a motor that does not obey m*~m==1
numga/multivector/types.py:27
ClassFlyweightFactory
numga/flyweight.py:13
ClassFlyweightMixin
numga/flyweight.py:6
ClassJaxDenseOperator
Implement product using plain broadcasting in JAX. This is identical to the approach used for quaternion multiplication in alphafold. The JAX compil
numga/backend/jax/operator.py:111
ClassJaxMultiVector
Concrete realization of abstract type in JAX
numga/backend/jax/multivector.py:9
ClassJaxOperator
numga/backend/jax/operator.py:32
ClassJaxSparseOperator
Unroll a (generally sparse) kernel into computations on individual nonzero entries This will give very good performance in jax in high dimension, d
numga/backend/jax/operator.py:180
ClassLine
Dual to 2-vec; momenta, forques note; questionable to call momenta a line in higher dims, if it cant be factored into the join of two points in gen
numga/examples/physics/base.py:17
ClassMotor
numga/multivector/types.py:31
ClassMotor
Positions/rotation states are encoded as even-graded multivectors
numga/examples/physics/base.py:9
ClassNumpyMultiVector
Concrete realization of abstract type in numpy
numga/backend/numpy/multivector.py:6
ClassNumpyOperator
numga/backend/numpy/operator.py:13
ClassNumpySparseOperator
Unroll a (generally sparse) kernel into computations on individual nonzero entries For small batches or small subspaces, this is unlikely to be the
numga/backend/numpy/operator.py:135
ClassPoint
dual to 1-vec. encodes positions
numga/examples/physics/base.py:15
ClassPythonCodegenOperator
quick and dirty python codegen example
numga/backend/python/operator.py:23
ClassPythonMultiVector
Concrete realization of abstract type in JAX
numga/backend/python/multivector.py:6
ClassPythonSparseOperator
Unroll a (generally sparse) kernel into computations on individual nonzero entries
numga/backend/python/operator.py:8
ClassScalar
numga/multivector/types.py:3
ClassScalar
numga/examples/physics/base.py:7
ClassStudy
numga/multivector/types.py:35
ClassSubSpaceInterface
All functionality that can be implemented with just access to the blades and algebra Note: both the subspace and operator class implement this inter
numga/subspace/base.py:5
ClassTorchDenseOperator
Implement product using plain broadcasting.
numga/backend/torch/operator.py:102
ClassTorchMultiVector
Concrete realization of abstract type in torch
numga/backend/torch/multivector.py:6
ClassTorchOperator
numga/backend/torch/operator.py:13
ClassTorchSparseOperator
Unroll a (generally sparse) kernel into computations on individual nonzero entries
numga/backend/torch/operator.py:147
ClassVector
numga/multivector/types.py:11