## A simple result in linear algebra found thanks to Snap*!* and its APL Library

### Presented by:

##### No materials for the event yet, sorry!

This talk concerns a branch of mathematics, linear algebra. I have started a Snap*!* project of matrix calculus and by chance, while testing my blocks, I came across a result of linear algebra apparently unknown today, result that can simply be proven.

I will first make a simple foray through the APL library, giving concrete examples that can be used by our students of the terminal cycle of the second degree and students of the first 2 years of university following a mathematical curriculum.

We will look at how to quickly generate matrices with the APL library, the basis of the matrix computation needed to study linear applications in algebra.

We will then detail each block of the matrix calculation project that we created, coefficient extracted from a matrix, cofactors, trace, determinant.

We will then present the linear algebra result that we discovered by chance, and its proof.

**Summary**

First, a few how to

- How to generate the identity matrix of size n

- How to generate a random matrix

- How to compute the trace of a matrix using the power of the map block: 2 ways to calculate the trace: 1. old school 2. with the map block

- How to extract the a_i,j coefficient from an A matrix

- How to select a row or column in a matrix A

- How to get the cofactor matrix of a given matrix

- How to compute the determinant of a given matrix using a recursive formula

- How to get the inverse of a matrixConjecture on square matrices of order n of natural integers from 1 to n

^{2}

- How to generate this square matrix

- Calculation of the determinant of this square matrix for n in {3, 4, 5, 6, 7}Conclusion

- Theorem: As soon as n≥3, the determinant of the square matrix of order n whose coefficients are the integers from 1 to n^{2}(in the natural order) is equal to zero.

- Very short proof of the statement.

Everything will be detailed on slides and in a very progressive way so that everyone can access the understanding of the current calculation, especially students.

The aim is for this work to be continued and deepened.

In this presentation, I want to highlight how much Snap*!* can be useful to do mathematical computations, especially now that the APL library is available.

You can refer to the Wikipedia's page on the subject to see some definitions.

- Date:
- 2021 July 29 - 11:25
- Duration:
- 5 min
- Room:
- Plenary Room
- Conference:
- Snap!Con 2021
- Lightning Talks Round 1
- Start Time:
- 2021 July 29 10:40
- Room:
- Plenary Room
- Hallway Track
- Start Time:
- 2021 July 29 08:00
- Room:
- Hallway

#### Happening at the same time:

### Events Happening Next

###
The Secrets & Surprises in Coding Spirals:

TurtleStitch Tur-torial

#### Cynthia Solomon, Sarah Magner, klimczaksusan@gmail.com

WORKSHOP DESCRIPTION In this workshop, we will focus on building blocks that allow you to play with polygons and spirals with TurtleStitch. If you create a design you love and do not have access to a computerized embroidery machine, global TurtleStitch community friends will embroider & mail you your design!

TurtleStitch is an activity and a coding environment. TurtleStitching is a mi...

more

###
Grand Gestures

Storytelling with AI

#### Jens Mönig, Jadga Hügle

In this workshop we'll share a curriculum around AI that we're currently working on. We try to show how to use machine learning in the classroom by implementing a gesture recognizer (based on the $1 gesture recognizer) in Snap!

We start by creating a single-stroke gesture drawing program.

By building an "animate" control structure based on the pen trails, we are able to animate our drawn...

###
Codification (Transformation) of GUI Elements and database structures from SNAP to Python

From blocks language to typing language by SNAP Code conversion

#### Matthias Kim

Codification means to create Python code directly out of SNAP Code via a mapping SNAP blocks to Python code. The created Python Code via codification in SNAP is downloaded and runs immediately in Python. This has been useful in supporting the steps from SNAP development in a blocks language to a typing language. I would like to show how we enhanced codification with GUI elements: There a...

more