Today's project is all about that and much more...

Simple, Clear, All-in-One: Math Library for .NET

ILNumerics is a high performance math library for programmers and scientists. Extending the .NET framework with tools needed for scientific computing, it simplifies the implementation of all kinds of numerical algorithms in convenient, familiar C#-syntax – optimized to the speed of C and FORTRAN.

...

## ILNumerics: Numeric Computing for Industry

FFT, 3D Plots and Visualization, n-dimensional Arrays, LAPACK, Machine Learning and Statistics: ILNumerics makes light work of implementation of numerical algorithms into enterprise software projects. Today, our math library is used in nearly every industrial sector.

...

## Scene Graph API and Plotting Tools: 3D Visualizations for .NET

Most technical applications eventually utilize some kind of graphical user interface. ILNumerics allows the creation of complex 2d and 3d Visualizations in the .NET framework with unique simplicity and performance.

It is being used for the integration of scientific 2d and 3d Plots and for sophisticated custom visualizations. A convenient Scene Graph API realizes full interactivity and the abstraction of arbitrary scenes for many rendering targets like OpenGL, SVG and GDI+.

## High Performance with C#: Catch up with modern Software Devs

Benefits continue when it comes to performance: thousands of enterprise projects prove the .NET CLR to be one of the most mature managed environments nowadays. With its generational garbage collector (GC) and options for low level memory control the CLR offers far better performance than other popular computing frameworks.

ILNumerics abstracts away the nasty platform specific details one must keep in mind for C++ & Co. It automatically parallelizes your algorithms. A transparent memory management makes sure that the GC is not stressed at all. ILNumerics execution times are comparable to optimized C/C++ algorithms, nevertheless offering the much higher syntactic convenience of C#.

...

## Versions and Pricing

ILNumerics is available in two editions: a Professional Edition and a Community Edition. The Communitiy Edition is for free and open source and mostly used by academic institutions and for evaluation purposes. It allows to build ILNumerics binaries and to access, alter and distribute the full source code according to the GPL version 3.

If you need compatibility with closed source licenses, consider buying the Professional Edition. It includes prebuilt binaries under a proprietary closed source license for distribution. Read more!

Contact us for academic licenses and individual license requirements.

So how do you get started?

This guide will get you started with ILNumerics. It assumes, you have successfully installed ILNumerics into your project, using NuGet (or manual install) as described under Installation.

## Hello ILNumerics! - Core Functionality

The following code snippet demonstrates, how a simple equation system is solved via ILNumerics. It is based on a new console application. Replace the auto generated ConsoleApplication1 class with the following code:

...

...

Visit the online documentation and learn everything about Handling Arrays in ILNumerics. As soon as it comes to writing your own functions, General Rules are of importance for best performance results.

## Getting Visual - ILNumerics Visualization Application

Lets start all over with a fresh new Windows.Forms Application project! Incorporate ILNumeris into your project via NuGet or manually as described in the INSTALLATION section. Double click the automatically generated form to open up the form in the Visual Studio Designer.

From the Visual Studio controls Toolbox drag a new instance of ILPanel onto the form.

...

...

...

## Getting help

The following resources are available for documentation:

- Online Class Reference: html class reference for all modules
- ILNumerics community at Stack Overflow
- Feature List: summary of ILNumerics' key features
- Found a bug? Report an issue to our Bugtracker!

Community edition is free, you can start playing with this now and very quickly get your advanced math on! That really adds up... (sorry... ;)

]]>In this installment, Brian and Erik spend some time explaining the

Tune in. Enjoy. Learn.

]]>Here, Erik interviews **John Cook**, an applied Mathematician currently working at the M.D. Anderson Cancer Research Center. R is a language and environment for statistical computing and graphics (see his Lang.NEXT 2012 session on R **here**). John is an **avid blogger**.

Tune in. Meet John and learn more about R and how he uses it to solve real world statistical problems in cancer research. You'll also get insights John's consistent sharing of and musings on a wide variety of technical topics. His blog is exceptional.

Thank you Erik and John for this **excellent** conversation.

Needless to say, I was incredibly happy to spend an hour with Brian learning all about what he's up to these days. Not surprisingly,

Of course, no conversation with Brian - a physicist by training and a software architect at Microsoft - is complete without talking about some current physics problem: Finding the elusive Higgs Boson is all the rage these days, so we talk about what it means.

Brian also shares insights on Haskell, functional and hybrid programming languages (C# is imperative, but it provides functional capabilities like LINQ, for example, upon which Rx is built (Rx is LINQ-to-Streams or observable sequences of events, really)...). We also

Notes and More:

From Wikipedia - information on Markov and Viterbi:

*A hidden Markov model (HMM) is a statistical Markov model in which the system being modeled is assumed to be a Markov process with unobserved (hidden) states*

*The Viterbi algorithm is a dynamic programming algorithm for finding the most likely sequence of hidden states – called the Viterbi path – that results in a sequence of observed events, especially in the context of Markov information sources, and more generally, hidden Markov models.*

Update: This video is outdated! Please refer to the latest documentation on the TouchDevelop web site!

In this video, Peli de Halleux, from the Research in Software Engineering group (RiSE) at Microsoft Research, gives a tutorial using the **TouchDevelop **editor**. **Learn how to chart mathematical functions in TouchStudio.

*The **Research in Software Engineering team** (RiSE)** coordinates Microsoft's research in Software Engineering in Redmond, USA.*

The idea for the format of this conversation is simple: put two geniuses together, give them each a whiteboard and some markers, and see what happens. It's much like free jazz: expert improvisation, seriously geeked-out whiteboard jamming.

The content theme for this episode--Monads as coordinate systems--is not simple. To grok this, we need to think in three dimensions: programming, physics and mathematics. But don't worry. Brian and Greg do not expect to be jamming in front of only fellow experts. This is Channel 9, after all, and there are many different levels of knowledge out there amongst our Niner population. Accordingly, you will not feel as though you're watching something in a language you don't speak. That said, you should possess interests in the theoretical, in mathematics, and in physics, and an overall appreciation for learning new things.

This is a fantastic whiteboard jam session with two very interesting, very bright, and very knowledgeable experimental theoreticians . Enjoy!

Link to Huet's Zipper paper. ]]>

*Each algorithm is a list of well-defined instructions for completing a task. Starting from an initial state, the instructions describe a computation that proceeds through a well-defined series of successive states, eventually terminating in a final ending state. The transition from one state to the next is not necessarily **deterministic**; some algorithms, known as **randomized algorithms**, incorporate randomness.*Here, the great Yuri Gurevich, mathematician, computer scientist and inventor of abstract state machines, will teach us about algorithms beginning with this introductory lecture that includes plenty of historical context. This is the first in a series of lectures exploring the fundamental logic that powers all that we as software engineers and computer scientists do in computing--the algorithm. What is an algorithm, exactly? You may be surprised to learn that this is actually not a very simple question...

Find some time to watch this introduction on a truly fascinating topic by one of the world's premiere minds in the field of mathematical logic and algorithms. We designed this to increase in complexity over time, like a typical college course, so Yuri moves slowly through several topics, providing plenty of time for viewers to catch up before moving on to more advanced topics.

See

See

You learned about Brian Beckman's perspective on covariance and contravariance in physics. Erik Meijer found this topic to be incredibly interesting and the two geniuses decided to take a stab at identifying the relationship between co/contra in two different domains: physics and programming.

What will they discover at the whiteboards?

Tune in to find out in this n-part series (part 1 here, part 2 here) with two of Channel 9's and Microsoft's most famous and respected software practitioners. Will there be a part 4? Perhaps you can help Brian and Erik find an answer to this interesting problem. They're real close. Niners can help reach the end line (if there is in fact one).

Thinking caps on? Go! ]]>

Jaron has strong opinions on a variety of topics related to software and its fundamental purpose of benefiting humanity (we often forget that software is for

Jaron was in town a few days ago, and I had the privilege of chatting with him about a variety of interesting topics, including his interest in virtual reality, his ideas on "post symbolic communication," software development futures for large scale programming (Jaron's ideas on what he calls

Enjoy. ]]>

Leslie Lamport is a computer scientist and mathematician best known for his work with distributed systems. In fact, Dr. Lamport’s research contributions laid the foundations for the theory of distributed systems. He currently works in Microsoft Research
where most of his time is spent developing formal semantics (with mathematical logic) for specifying and reasoning about algorithms.

Here, Dr.
Erik Meijer, computer scientist and programming language/library designer, sits down with Dr. Lamport to discuss several aspects of Dr. Lamport's body of work in computer science.

Dr. Lamport's
TLA, the Temporal Logic of Actions, is a logic for specifying and reasoning about concurrent and reactive systems. TLA+ is the latest incarnation of this formal specification toolset.

You recently learned about Dr. Beckman's perspective on covariance and contravariance in physics. Dr. Meijer found this topic to be incredibly interesting and the two geniuses decided to take a stab at identifying the relationship between co/contra in one domain, physics, and another, programming. What will they discover at the whiteboards?

Tune in to find out in this three part series (this is part 2) with two of Channel 9's and Microsoft's most famous and respected software practitioners. See the first part here. The third part has not been filmed yet You should watch part one first. Here, the two scientists dig really deep, so put on your thinking caps, Niners.

Enjoy! ]]>

You recently learned about Dr. Beckman's perspective on covariance and contravariance in physics. Dr. Meijer found this topic to be incredibly interesting and the two geniuses decided to take a stab at identifying the relationship between co/contra in one domain, physics, and another, programming: two domains on three whiteboards

What will they discover at the whiteboards? Tune in to find out in this three part series (part 2 here) with two of Channel 9's and Microsoft's most famous and respected software practitioners. Part three has not been filmed yet

Enjoy! ]]>

In the Rx interview with Brian and Erik Meijer, a short discussion on covariance and contravariance took place as a tangential topic (which often happens in real conversations - and we love that!). The concepts of co/contravariance can confuse and confound. Also, they are not just related to programming.

Here, Dr. Beckman teaches us about covariance and contravariance in physics. Are these universal properties? Do they apply to the mathematics of physics (from quantum mechanics to black holes) in the same basic way they do for general purpose programming with objects and lists, for example?

Tune in. This is a deep dive lecture and quite mathematical. Don't be scared. As usual, Brian explains complex things in a readily understandable fashion for mere mortals. If you have no experience with math and physics, this may be a bit challenging, but certainly not entirely over your head.

Enjoy.

Full a full overview of this application plus a sneak peak at future products the Education Labs group are working on check out this video. ]]>

The Math Worksheet Generator is based on the Microsoft Math engine and is able to deconstruct the logic of a sample math problem you provide (using the Math Input Panel if on Windows 7) and create many more examples to help test a students understanding of a particular concept.

Kate Mulcahy from the Education Labs team joins me in the studio for a demo of the Math Worksheet Generator as well as a sneak peak at two projects currently in development. Folder Based Sites for teachers wanting to publish documents and learning materials to the web and FlashCards; a Silverlight web application that allows you to create customized sets of flash cards that display based on memory science research that the group has been working on.

More info: http://www.educationlabs.com

Download the EduLabs Math Worksheet Generator here ]]>

The geekSpeak webcast series brings you industry experts in a "talk-radio" format hosted by developer evangelists from Microsoft. These experts share their knowledge and experience about a particular developer technology and are ready to answer your questions in real time during the webcast. To ask a question in advance of the live webcast, or for post-show resources, be sure to visit the geekSpeak blog.

**Presenters: **Mark Michaelis, Enterprise Software Architect, Itron, Inc.

Mark Michaelis is an Enterprise Software Architect at Itron Inc. Additionally, Mark recently started intelliTechture, a software engineering and consulting company with high end skills in Microsoft VSTS/TFS, BizTalk, SharePoint, and .NET 3.0. Mark also serves as a Chief Software Architect and Trainer for IDesign Inc. Mark holds a BA in philosophy from the University of Illinois and an MS in computer science from the Illinois Institute of Technology. He is also recognized by Microsoft as a Regional Directory. Starting in 1996, he has been a Microsoft MVP for C#, Visual Studio Team System, and the Windows SDK. He serves on several Microsoft software design review teams, including C#, the Connected Systems Division and VSTS/TFS. Mark speaks at developer conferences both nationally and internationally and has written several articles and books, in addition to maintaining a blog at http://mark.michaelis.net/Blog/. His most recent book is Essential C# 3.0 (Addison-Wesley, 2008). When not bonding with his computer, Mark is busy with his family or training for the Ironman.

]]>Intelligent Light, with its Fortran and Python writing programmers, represents a typical ISV in the Microsoft HPC partner community with their flagship application having long been available on UNIX and Linux HPC clusters. Intelligent Light provides an application called FieldView that takes massive data from Computational Fluid Dynamics (CFD) applications and visualizes that data for engineers who design F16 fighters and Formula One cars. Because of the long compute times required, FieldView is often run in parallel on High Performance Computing (HPC) clusters to return quicker results. In this video, Intelligent Light founder Steve Legensky demonstrates the complex mathematics used by CFD engineers and talks about how HPC has evolved in his industry over the past 20 years.

Steve is awesome.

Check out the Microsoft ISV site for more information about ISVs working with Microsoft.

]]>Have you ever heard of Microsoft Math? It’s a downloadable product for students which features a graphing calculator, formula & equations library, triangle solver, unit conversion tool, and more. Math is pretty affordable at only $14.95 (U.S.), but that’s not the free Math download I’m referring to in this blog post’s title. The free download I’m talking about is a Microsoft Math add-in for Word 2007 users. This add-in lets Word handle things that you may have thought only Excel was capable of doing. With the Math add-in, for example, you can create graphs, perform calculations, and solve for variables – and all from within Word. You can even plot elements in 2-D and 3-D. This is great for those who are writing research papers on mathematical subjects, for teachers who are creating study guides for students, as well as anyone else who needs to do some math in Word. But you won’t find this free add-in on the Microsoft Math homepage, though – you’ll need to go straight to this page on the Microsoft Download Center site instead.

]]>But there was something else Rick talked about this morning that has far more profound implications for our industry, and certainly for our country. He reported that only about 1 in 100 college freshman today are selecting computer science and engineering as a major, a trend that has been on a downward spiral for the last several years and has reached its lowest point ever. In my own travels I’ve been hearing colleagues, and deans of medical schools, bemoaning the quality and quantity of young people seeking careers in medicine today. Yet surprisingly both fields, IT and medicine, are forecasted to be leading industries for new job creation far into the future. Clearly, the number of jobs will far outstrip the supply of qualified candidates.

What's going on here? Somehow I think we are failing to instill a work ethic in our youth. Perhaps I can't blame them when all they see on television, magazines and the Net are glorifications of the rich and famous among us; movie icons, sports stars, rockers, rappers, instant celebrities and wanna-be's. Math and science are hard. It takes time to build a fortune the old fashioned way. Who wouldn't want to rake in millions for singing on the radio, blasting a home run, or acting on the silver screen? But you need only watch __American Idol__ to confront the hard fact that the odds of that happening are solidly stacked against you. It's also interesting to note that even those American Idols generally got there by working very very hard, and often for many years in poverty and total obscurity, before hitting it big.

Yes, majoring in computer science is hard. Becoming a doctor is perhaps even harder. There are years of self sacrifice, delayed gratification, and countless hours studying and taking tests. But doing anything really worthwhile in life takes an equal amount of effort. That's why they call it "work". It's a message that seems to be getting lost on an entire generation of young people. And, it's a loss for which we will all pay dearly.

What do you think? Let us know.

Bill Crounse, MD Worldwide Health Director __Microsoft__