e.g.:

(48) -> )sh VectorSpaceBasis
 VectorSpaceBasis(R: Field) is a domain constructor
 Abbreviation for VectorSpaceBasis is VSBASIS
 This constructor is not exposed in this frame.

Am 12.12.23 um 20:50 schrieb Sid Andal:
Thanks!

Just a question. Are there any guidelines as to what packages/domains, in general, one needs to expose, first in order to run similar routines? The official documention, book.pdf, does not cover these functions and there were no online examples illustrating the usage.

On Tuesday, December 12, 2023 at 10:22:41 AM UTC-6 jg wrote:

    Hi Sid, two points:

    1.VectorSpaceBasis is not exposed, so interpreter cannot find its
    functions.

    2. coordinatesIfCan requires as second argument a basis, i.e. an
    element of VectorSpaceBasis(F), not just a list of vectors.

    Here is the corrected code:

    (1) -> )r isBasis
    )expose VectorSpaceBasis

       VectorSpaceBasis is already explicitly exposed in frame frame1
    F ==> PF 11

    Type: Void
    VF ==> Vector F

    Type: Void
    (v1,v2,v3) : VF

    Type: Void
    v1 := [1,1,2]


       (4)  [1, 1, 2]
    Type: Vector(PrimeField(11))
    v2 := [2,1,2]


       (5)  [2, 1, 2]
    Type: Vector(PrimeField(11))
    v3 := [1,2,1]


       (6)  [1, 2, 1]
    Type: Vector(PrimeField(11))


    M : Matrix F := [v1,v2,v3]


            +1  1  2+
            |       |
       (7)  |2  1  2|
            |       |
            +1  2  1+
    Type: Matrix(PrimeField(11))
    rank M


       (8)  3
    Type: PositiveInteger
    isBasis?([v1,v2,v3])


       (9)  true
    Type: Boolean
    w : VF := [2,3,10]


       (10)  [2, 3, 10]
    Type: Vector(PrimeField(11))
    b := basis [v1,v2,v3]


       (11)  VectorSpace [[1, 1, 2], [2, 1, 2], [1, 2, 1]]
                                                                 
    Type: VectorSpaceBasis(PrimeField(11))
    coordinatesIfCan(w,b)


       (12)  [8, 5, 6]
                                                                 Type:
    Union(Vector(PrimeField(11)),...)




    Am 12.12.23 um 16:18 schrieb Sid Andal:
    The function isBasis?() returns with non-trivial linear
    combination when
    applied to linearly independent vectors:

    (1) -> F ==> PF 11
    (2) -> VF ==> Vector F
    (9) -> (v1,v2,v3) : VF

    (11) -> v1 := [1,1,2]

       (11)  [1, 1, 2]

    (12) -> v2 := [2,1,2]

       (12)  [2, 1, 2]

    (13) -> v3 := [1,2,1]

       (13)  [1, 2, 1]

    (14) -> M : Matrix F := [v1,v2,v3]

             ┌1  1  2┐
             │           │
             │2  1  2│
             │           │
             └1  2  1┘

    (15) -> rank M

       (15)  3

    Applying isBasis:

    (17) -> isBasis?([v1,v2,v3])

       (17)  isBasis?
                     1, 2, 1

    It should've returned 0,0,0.

    Now, trying to express a vector, w, in terms of the new basis
    {v1,v2,v3}
    also runs into problem:

    (16) -> w : VF := [2,3,10]

       (16)  [2, 3, 10]

    (17) -> coordinatesIfCan(w,[v1,v2,v3])
       There are no exposed library operations named coordinatesIfCan
    but
          there is one unexposed operation with that name. Use HyperDoc
          Browse or issue
                            )display op coordinatesIfCan
          to learn more about the available operation.

       Cannot find a definition or applicable library operation named
          coordinatesIfCan with argument type(s)
                               Vector(PrimeField(11))
                            List(Vector(PrimeField(11)))

          Perhaps you should use "@" to indicate the required return
    type,
          or "$" to specify which version of the function you need.

    Are the two functions applied the wrong way in the above cases?

    Thanks,
    SWA
-- You received this message because you are subscribed to the
    Google Groups "FriCAS - computer algebra system" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected].
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/fricas-devel/eb43990c-c999-476d-b81e-5888a43066dan%40googlegroups.com
    
<https://groups.google.com/d/msgid/fricas-devel/eb43990c-c999-476d-b81e-5888a43066dan%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- Mit freundlichen Grüßen

    Johannes Grabmeier

    Prof. Dr. Johannes Grabmeier,
    Köckstraße 1, D-94469 Deggendorf
    Tel.+49-(0)-991-2979584  <tel:+49%20991%202979584>, Tel.+49-(0)-151-681-70756  
<tel:+49%201516%208170756>
    Fax:+49-(0)-991-2979592  <tel:+49%20991%202979592>

--
You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/fricas-devel/d157f6a4-6e2c-4b35-a2e5-245b16ceca74n%40googlegroups.com <https://groups.google.com/d/msgid/fricas-devel/d157f6a4-6e2c-4b35-a2e5-245b16ceca74n%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
Mit freundlichen Grüßen

Johannes Grabmeier

Prof. Dr. Johannes Grabmeier,
Köckstraße 1, D-94469 Deggendorf
Tel. +49-(0)-991-2979584, Tel. +49-(0)-151-681-70756
Fax: +49-(0)-991-2979592

--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/df505100-b176-4925-a29c-ca5a8e485ee6%40grabmeier.net.

Reply via email to