Hi Waldek,
On 13.07.23 01:09, Waldek Hebisch wrote:
> Partly motiveted by Ralf, partly by needs of various algorithms I
> looked at "algebraic" operations that we offer, and it seems that we
> miss or at least make hard to use some operation.
Indeed. Up to now I've mostly avoided these "hard" parts of FriCAS.
FriCAS' strength is not in formal manipulation of expressions that an
"every day user" usually deals with, but rather in the wealth of
opportunities to combine parametrized domains and packages. Of course,
that is a personal opinion. Nevertheless, it is commonly agreed that
FriCAS has a steep learning curve and seemingly people turn away before
they even give feedback of what they actually cannot achieve with
FriCAS, although perhaps the functionality is implemented, but not
easily reachable from a beginner's point of view.
> For example consider 'minimalPolynomial', we have that in
> SimpleAlgebraicExtention, FramedAlgebra, finite fields and in
> Complex. However, AFAICS only finite fields give possiblity to
> compute minimal polynomial over someting different than parameter of
> the domain. So when dealing with towers, we do not have easy way to
> compute minimal polynomial of element of the tower with respect to
> base field.
>
> What could be done here? One possble way would equip each stage of
> tower with structure of FramedAlgebra over base field. Another way
> could use triangular systems, we could specify a field extention via
> triangular system giving equations for generators and do computations
> there (possibly going to SimpleAlgebraicExtention via primitive
> element).
Using triangular sets reminds me of my attempts to implement dynamical
algebraic closures \cite{Steel_AlgebraicallyClosedFields_2002}.
Code is currently here. I haven't touched it recently, but it worked for
simple cases, became, however, unmanageably slow with several extensions
due to slow factorization of finite fields in FriCAS.
https://github.com/hemmecke/qeta/blob/master/src/iffts.spad
https://github.com/hemmecke/qeta/blob/master/src/ffalgclos.spad
https://github.com/hemmecke/qeta/blob/master/src/algclos.spad
I'd be happy, if that makes it in one form or the other into FriCAS.
Maybe, Waldek, it does not exactly solve your problem from above, but I
wanted to share my experiments.
Actually, also here we have domains with history, i.e. store some state
(namely the triangular set). Theoretically, it works like an algebraic
closure, but the more extensions are involved the more time it consumes,
so it might be necessary to implement a way to either (A) create a
second copy of such a domain that builds another triangular set or (B)
to clear the triangular set and build it anew for a different task.
(A) has the problem that one would have to add a parameter like the
minimal polynomial for SAE, but that is what I actually wanted to hide
in an implementation of an algebraic closure.
(B) is problematic, since it invalidates all elements of the domain that
have been created before.
Actually, there could be a third option. Elements carry a pointer to the
underlying triangular set of the extension, but then it's probably not
so easy to add elements that have different triangular sets attached.
Ralf
===================
@InProceedings{Steel_AlgebraicallyClosedFields_2002,
author = {Steel, Allan},
editor = {Fieker, Claus and Kohel, David R.},
title = {A New Scheme for Computing with Algebraically Closed
Fields},
booktitle = {Algorithmic Number Theory},
year = 2002,
publisher = {Springer Berlin Heidelberg},
address = {Berlin, Heidelberg},
pages = {491--505},
doi = {10.1007/3-540-45455-1_38},
abstract = {A new scheme is presented for computing with an
algebraic closure of the rational field. It avoids
factorization of polynomials over extension fields,
but gives the illusion of a genuine field to the
user. A technique of modular evaluation into a
finite field ensures that a unique genuine field is
simulated by the scheme and also provides fast
optimizations for some critical operations. Fast
modular matrix techniques are also used for several
non-trivial operations. The scheme has been
successfully implemented within the Magma Computer
Algebra System.},
isbn = {978-3-540-45455-7}
}