User Tools

Site Tools


tutorial_lud

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
tutorial_lud [2018/06/19 15:41]
sanjay
tutorial_lud [2018/06/19 15:45]
sanjay
Line 1: Line 1:
-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 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 20: Line 20:
 [Temp note due to : in the last case of L, the condition is "1 < j <= i"] [Temp note due to : in the last case of L, the condition is "1 < j <= i"]
  
-=====Writing ​Alphabets=====+=====Writing ​Alpha=====
 ====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."​
  
 Parameters are runtime constants represented with some symbol in the code. In this example, parameter N will be used to define the size of the matrices, which is not known until runtime. Parameters are runtime constants represented with some symbol in the code. In this example, parameter N will be used to define the size of the matrices, which is not known until runtime.
-<​sxh ​alphabets; gutter:​true>​+<​sxh ​alpha; gutter:​true>​
 affine LUD {N|N>0} affine LUD {N|N>0}
 . .
tutorial_lud.txt · Last modified: 2019/04/05 09:02 by sanjay