This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tutorial_lud [2018/06/19 15:40] sanjay |
tutorial_lud [2019/04/05 09:02] sanjay |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | In this tutorial, we write an Alphabets program, starting from a mathematical equation for LU decomposition. Then we will generate code to execute the alphabets program, and test the generated code for correctness. | + | In this tutorial, we write an Alphabets (or Alpha, for now the two are synonymous) program, starting from a mathematical equation for LU decomposition. Then we will generate code to execute the alpha program, and test the generated code for correctness. |
The equation for LU Decomposition, derived from first principles using simple algebra in {{:foundations.pdf|Foundations}} (pg.3), is as follows: | The equation for LU Decomposition, derived from first principles using simple algebra in {{:foundations.pdf|Foundations}} (pg.3), is as follows: | ||
Line 18: | Line 18: | ||
- | [Temp note due to : in the last case of L, the condition is "1 < j <= i"] | + | =====Writing Alpha===== |
- | + | ||
- | =====Writing Alphabets===== | + | |
====Step 1 : Affine System and Parameters ==== | ====Step 1 : Affine System and Parameters ==== | ||
- | Let's start from an empty alphabets file, with LUD as the name of the system, and a positive integer N as its parameter. | + | Let's start from an empty alpha file, with LUD as the name of the system, and a positive integer N as its parameter. |
- | A system (Affine System) takes its name from system of affine recurrence equations, and represents a block of computation. An Alphabets program may contain multiple systems. | + | A system (Affine System) takes its name from system of affine recurrence equations, and represents a block of computation. An Alpha program may contain multiple systems. |
**Caveat:** Remember the phrase, "It's not a bug, it's a feature"? Well, in a tutorial, a feature is called a "learning opportunity." | **Caveat:** Remember the phrase, "It's not a bug, it's a feature"? Well, in a tutorial, a feature is called a "learning opportunity." |