1 | initial version |
I wouldn't necessarily expect other algorithms to be implemented, but here are some things you could try:
Try using the sparse=True
keyword when you create the matrix; if better algorithms are available, this would be the generic way to use them: e.g. sparse matrices over Z/n for n small. (note that that documentation page doesn't mention kernel
specifically.
If you know of an algorithm with a distinctive name, you could try searching the source code for it, using search_src
, search_doc
, or search_def
sage: search_src('Euclidean')
categories/basic.py:44:from euclidean_domains import EuclideanDomains
categories/cartesian_product.py:169: sage: EuclideanDomains().CartesianProducts()
...
rings/all.py:37:from euclidean_domain_element import EuclideanDomainElement, is_EuclideanDomainElement
rings/arith.py:1862: very similar to the extended Euclidean algorithm. For more details,
rings/arith.py:1896: the extended Euclidean algorithm.)
...
Lastly, you could try reading some of the source files themselves: there are a number of likely filenames in sage/matrix.
And, of course, if you don't find the algorithm you're looking for, you could always implement it, and [add it to sage]!
good luck! :)
2 | No.2 Revision |
I wouldn't necessarily expect other algorithms to be implemented, but here are some things you could try:
Try using the sparse=True
keyword when you create the matrix; if better algorithms are available, this would be the generic way to use them: e.g. sparse matrices over Z/n for n small. (note that that documentation page doesn't mention kernel
specifically.
If you know of an algorithm with a distinctive name, you could try searching the source code for it, using search_src
, search_doc
, or search_def
sage: search_src('Euclidean')
categories/basic.py:44:from euclidean_domains import EuclideanDomains
categories/cartesian_product.py:169: sage: EuclideanDomains().CartesianProducts()
...
rings/all.py:37:from euclidean_domain_element import EuclideanDomainElement, is_EuclideanDomainElement
rings/arith.py:1862: very similar to the extended Euclidean algorithm. For more details,
rings/arith.py:1896: the extended Euclidean algorithm.)
...
Lastly, you could try reading some of the source files themselves: there are a number of likely filenames in sage/matrix.
And, of course, if you don't find the algorithm you're looking for, you could always implement it, and [add add it to sage]!sage!
good luck! :)