The DO Loop
Statistical programming in SAS with an emphasis on SAS/IML programs![How to create a string of a specified length in SAS/IML](https://blogs.sas.com/content/iml/files/2017/01/AdvancedAnalytics-1.png)
In my recent post on how to understand character vectors in SAS/IML, I left out an important topic: How can you allocate a character vector of a specified length? In this article, "length" means the maximum number of characters in an element, not the number of elements in a vector.
![This article is actually fastidious: How spammers generate random comments for blogs](https://blogs.sas.com/content/iml/files/2014/05/t_spamcomments.png)
Last week Chris Hemedinger posted an article about spam that is sent to SAS blogs and discussed how anti-spam software helps to block spam. No algorithm can be 100% accurate at distinguishing spam from valid comments because of the inherent trade-off between specificity and sensitivity in any statistical test. Therefore,
![Blanks and lengths: Understanding SAS/IML character vectors](https://blogs.sas.com/content/iml/files/2014/05/t_charstorage.png)
SAS programmers are probably familiar with how SAS stores a character variable in a data set, but how is a character vector stored in the SAS/IML language? Recall that a character variable is stored by using a fixed-width storage structure. In the SAS DATA step, the maximum number of characters
![Local functions (not!) in the SAS/IML language](https://blogs.sas.com/content/iml/files/2014/04/t_localmodules.png)
I have previously written about the scope of local and global variables in the SAS/IML language. You might wonder whether SAS/IML modules can also have local scope. The answer is no. All SAS/IML modules are known globally and can be called by any other modules. Some object-oriented programming languages support
![Summary of new features in SAS/IML 12.1](https://blogs.sas.com/content/iml/files/2017/02/AdvancedAnalytics-4.png)
I enjoy blogging about new functionality in the SAS/IML language because I can go into more depth and provide more complicated examples than the SAS/IML documentation. Today's article is a summary of all of my posts about features that were added to SAS/IML 12.1, which shipped in August 2012 as
![The Hilbert matrix: A vectorized construction](https://blogs.sas.com/content/iml/files/2014/04/hilbertmatrix.png)
The Hilbert matrix is the most famous ill-conditioned matrix in numerical linear algebra. It is often used in matrix computations to illustrate problems that arise when you compute with ill-conditioned matrices. The Hilbert matrix is symmetric and positive definite, properties that are often associated with "nice" and "tame" matrices. The