> Christophe Oosterlynck wrote:
> > Hi,
>
> > I was wondering on what algorithm the wiedemann implementation in /
> > devel/sage/sage/matrix/matrix2.pyx was based on. When looking at
> > Wiedemann's paper from '86, in which he describes a non-deterministic
> > and deterministic algorithm, it seems like the sage implementation
> > uses the deterministic algorithm. But in Sage there is a krylov
> > sequence being built using the iterate() matrix method, which gives
> > the sequence v, v*A, v*A^2... while in the original algorithm it
> > starts with using the sequence v, A*v, A²*v...
> > Any knows why or on what the wiedemann implementation is based on? I'm
> > trying to understand the wiedemann implementation because I need to
> > implement a modified block wiedemann implementation but I'm fairly new
> > to this kind of algebra.
>
> I know nothing of the algorithm, but this looks like it might be an
> effect of left versus right operations?  In Sage, things have typically
> been done "from the left" (i.e., kernel gives you a left kernel, etc.).
> Would that explain the difference?
>
> Jason

When you ask Sage for a kernel v of a matrix M, it gives you the
kernel such that: v*M = 0 It is confusing because you would expect a
vector v such that M*v=0, but the actual product v*M is executed like
a standard vector-matrix product, nothing strange about that I think?

So as long as the product between a matrix and vector behaves like
normal, then the confusion around the kernel of a matrix can't be the
problem I'm having because I'm just talking about a simple product
between a vector and matrix.

Christophe
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to