Dear Martin, and all,

I agree with your mail, 
and let me expose what I'm looking for with my students.

> I'd like to concentrate on your function "columnBasis".  I think
> that the other functions are less important.

It's right for columnSpace and rowSpace.

I'd like to have also the 3 functions basis, intBasis and sumBasis
over List Vector ?? because elementry exercices are about, and 
Maple and Mupad have theses functions.

>   As a synonym, we probably should have - analogous to
>   basis$ALGPKG, a function basis: List Col -> List Col.  
>   But maybe this should go into a different package, maybe.

Don't forget intBasis, and complete it with the easyest sumBais.
 
>   VectorCollectionFunctions(R: Ring, L: Collection Vector R)
>   or some such.  But really, that should be done in a second step.

> + Your code can be made slightly more efficient.

I think you propose, it's right.

>     columnSpace M ==
>         M2 := rowEchelon M
>         basis: List Col := []
>         n: Integer := ncols M
>         m: Integer := nrows M
>         indRow: Integer := 1
>         for k in 1..n while indRow <= m repeat
>             if not zero?(M2.(indRow, k)) then
>                 basis := cons(column(M, k), basis)
>                 indRow := indRow + 1
>         reverse! basis

> + We only need an Euclidean domain for your code (and the maths) to
> work.  In fact, Integers are a prime example.  Although, I must
> admit that in this case the names are slightly confusing, because we
> obtain a Q-basis of the columnSpace, where Q is the quotient field
> of R.

So this code must be after the test : 
   if R has EuclidianDomain
I don't understand why there are 

and MATLIN  MatrixLinearAlgebraFunctions package
and IMATLIN InnerMatrixLinearAlgebraFunctions
and MMATLIN InnerMatrixLinearAlgebraFunctions (with other parameters)

>   The code should actually go into MATCAT$matcat.spad.pamphlet.  

Indeed... Is it because MATCAT is at a higher / more mathematical level ?
But why isn't also rowEchelon in this file ?

>   You also have to make it available for RectangularMatrix.
Let me understand the question !

> * if you like to invest more time, I think it would be *very* worthwhile to
>   check whether we can make RectangularMatrixCategory inherit from
>   MatrixCategory.  As far as I can see, the only problem is that currently a
>   domain having DirectProductCategory(n, R) is not a FiniteLinearAggregate R.
>   But otherwise, I do not see a good reason for that restriction.
> 
>   In any case, that's a DIFFERENT task.

[I cut : a very nice description]
 
> * Finally, the above *really* suggests that we might want to have a domain
>   whose elements are bases of a given vector space.  

I think important to have the 3 primitives : basis, intBasis and sumBasis.
(see above) Why not a new domain, if it's necessary... 
But I expect an easy call of this domain for the easy exercices of linalg.
It's the following aim for my use of axiom.

>   And it does have structure:
> 
>   +: (%, %) -> %  -- sum of two spaces
>   *: (%, %) -> %  -- intersection of two spaces
>   0: () -> %      -- zero space

I don't understand why aldor is necessary.

> Francois, could you please write a testcase for the functions, in the form
> 
> testcase "columnSpace"
> assertEquals("columnSpace nicematrix", "result")
> assertEquals("columnSpace anothernicematrix", "anotheresult")

No problem I'll go to find examples.
We can't test the equality of 2 basis, must I'll play with rank.

My axiom doesn't know testcase and assertEquals 

-> )what op testcase
   There are no operations containing those patterns
-> )what op assertEquals
   There are no operations containing those patterns

I'm going to lunch, and I have course (13h-16h) this afternoon.

F.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
open-axiom-devel mailing list
open-axiom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel

Reply via email to