Releases: drhagen/tensora
Releases · drhagen/tensora
Tensora 0.3.0
This release splits out the TACO binary into a separate package tensora-taco
. This package is optional, making the TACO code generator optional. The native Tensora code generator is still included and used by default. TACO can be still be used as an alternative code generator if the tensora[taco]
extra is installed.
Also, these other changes:
- The signature of
tensor_method
was changed so that theoutput_format
andinput_formats
were combined into oneformats
dictionary - Renamed
PureTensorMethod
toTensorMethod
to reflect the decision that mutable assignments will never be supported in Tensora - Most of the attributes on
TensorMethod
were made private - Cache on a parsed
Problem
, instead of on the string versions of assignments and formats - Raise a nice exception on
TensorMethod
when trying to broadcast to target indexes because there is no way for the dimensions of those indexes to be known. Generating such kernels via thetensora
CLI is still permitted. - Raise a nice exception when a tensor and and index have the same name in an assignment
- Remove
Tensor.from_scalar
; you could always useTensora.from_lol
- Do not cast the result of a vector inner product
a @ b
to a Python scalar; leave it as a scalarTensor
Tensora 0.2.0
This release removes a lot of partially implemented features, making the remaining behavior more reliable.
- Scalars are no longer supported. Users must use
x()
instead ofx
in all expressions. - Added option to
tensora
CLI to allow choosing the external TACO binary as the code generator - Better exceptions are raised for many kinds of invalid input
- Appended an underscore in front of many Python files to make is explicit that they are not part of the external API
Tensora 0.1.1
This is a quick release to fix some issues in the previous release.
- Raise a nice exception when no solution is found by the tensor algebra compiler
- Rename
assemble
toassemble
everywhere so that the tense is consistent withcompute
andevaluate
- Fix bug where compute code was being emitted when assemble code was requested
Tensora 0.1.0
This release includes two major changes:
- A new tensor algebra compiler written in Python specifically for Tensora
- Added
tensora.TensorCompiler
enum with valuesTensorCompiler.tensora
andTensorCompiler.taco
tensor_method
accepts an optional argumentcompiler: TensorCompiler
that selects the tensor algebra compiler;tensora
is the default- Split
evaluate
intoevaluate_tensora
andevaluate_taco
to select the tensor algebra compiler;evaluate
is an alias forevaluate_tensora
- Added
- A
tensora
CLI that will emit the code for given tensor algebra problems
And one minor change:
- Dropped support for Python 3.8 and 3.9 (allows for the
match
statement, which was helpful in writing the new tensora algebra compiler)