F# Matrix Type

Ok, so I'm poking around arrays in F#, and I come across a type called 'matrix.'  What the devil is this?

You can create a matrix like this:

let aMatrix = matrix [ [ 1.0; 7.0 ];
                       [ 1.0; 3.0 ];
                       [ 1.0; 11.0 ];
                       [ 1.0; 9.0 ];
                       [ 1.0; 6.0 ] ]

Of course, there some bugs.  If I run this in F# Interactive, I get:

"Tests.fs(10,15): error FS0039: The value or constructor 'matrix' is not defined. A construct with this name was found in FSharp.PowerPack.dll, which contains some modules and types that were implicitly referenced in some previous versions of F#. You may need to add an explicit reference to this DLL in order to compile this code."

But, it does work when compiled and run normally.  Go figure.

You can also do this:

let nn,kk = aMatrix.Dimensions

for i = 0 to nn-1 do
     printfn "%10.2f %10.2f %10.2f " aMatrix.[i,0] aMatrix.[i,1] aMatrix.[i,2]

Of course, the dimensions are not the bounds, but the number of elements, so you need to reference the matrix form 0 to nn-1.  You would think that C programmers would at least to concede that zero-based matrices are a terrible idea.  Also be aware that the dimensions are returned as a Tuple. 

What else have got?

Well, we can transpose it.

let bMatrix = aMatrix.Transpose

We can also make a copy:

let cMatrix = aMatrix.Copy

It also turns out that the multiplication operator is overloaded so this works:

let dMatrix = bMatrix * aMatrix 

Cool!!

 

Print | posted @ Thursday, July 23, 2009 3:14 PM

Comments on this entry:

Gravatar # re: F# Matrix Type
by air max pas cher at 2/2/2012 11:17 PM

l'innovation des produits Nike et de développement. Nike à prendre une innovation importante dans la mission, nike air max classic bw homme acheter qui est dans une profonde compréhension des athlètes et du sport sur la base de l'innovation, qui est l'air max90 naissance du préambule. Grace à cette chaussure de sport a remporté le recherché, Nike, foot locker classic bw homme et la Déesse est de réduire le chiffre d'affaires, qu'il espérait que le venu d'une manière différente de la respiration. Hoke a récemment été nommé directeur créatif de Nike mondial de la chaussure, shox classic bw homme en Californie pour trouver l'inspiration. Nike culture distinctive des entreprises, en attirant un grand nombre de jeunes, 40% des employés de Nike moins de 30 ans, leur journée de travail est agencé; air max bw homme midi dans le ?campus? dans le sport et centre de sports de loisirs de deux heures, Pour atteindre les objectifs d'entreprise, culture d'entreprise doit être réformé. Chevalier n'a pas dit que Nike a été pendant des mois les affaires quotidiennes de l'entreprise. France, air max classic bw homme produits par exemple les jeunes à mieux annoncés, les Américains ont mis une étiquette de prix sur la chaussure pour répondre à la jeunesse fran?aise en tant que pairs. En Décembre, il est retourné à Nike à Tokyo au Japon, air max classic bw homme avec il a émis une commande pour interdire de fumer dans l'entreprise. Pour cette fumée pays, l'interdiction est sans aucun doute un événement majeur. Il a également forcé les employés à participer à Nike formation à distance au Japon, en 1994 pour répondre aux Hawa? Je ne veux pas les mélanger dans notre best-seller chaussures de sport, la redoute classic bw homme Aujourd'hui, les activités de production de Nike et d'affaires partout dans le monde sur les six continents, nike air max CHAUSSURE son nombre total d'employés a atteint 22 000, IKE air max BB4 est de loin le plus difficile, Nike air max classic bw Chaussures pour homme nous avons rencontré une paire de chaussures de basket-ball dans l'évaluation.
  
Gravatar # re: F# Matrix Type
by abercrombie at 2/4/2012 4:38 AM

This was very informative. I have a lot over the past few days and it has earned a place in my bookmarks.
  

Your comment:

Title:
Name:
Email:
Website:
 
Italic Underline Blockquote Hyperlink
 
 
Please add 5 and 3 and type the answer here: