Wolfram Technology Group:
Your Gateway to Expertise in Wolfram Technologies

Peter Fleck
Karl Isensee
Michael Kelly
Anshu Manik

Wolfram Technology Group
Wolfram Research

Wolfram Technology Group: Your Gateway to Expertise in Wolfram Technologies

1. Wolfram Technology Group: Overview

Peter Fleck, Manager

2. Successes in Technical Support at Wolfram Research

Karl Isensee, Sales Engineer, Trainer, Senior Support Engineer

3. The Diversity and Depth of Wolfram Sales Engineering

Michael Kelly, Finance Expert, Senior Sales Engineer

4. Wolfram Language: The Best Platform for Custom Solutions

Anshu Manik, Technical Services Team Lead, Senior Sales Engineer

Wolfram Technology Group: Your Gateway to Expertise in Wolfram Technologies

1. Wolfram Technology Group: Overview

Peter Fleck, Manager

2. Successes in Technical Support at Wolfram Research

Karl Isensee, Sales Engineer, Trainer, Senior Support Engineer

3. The Diversity and Depth of Wolfram Sales Engineering

Michael Kelly, Finance Expert, Senior Sales Engineer

4. Wolfram Language: The Best Platform for Custom Solutions

Anshu Manik, Technical Services Team Lead, Senior Sales Engineer

WTG: Our Services

Technical Support

Developer Support / Installation Support, Premier Support / Enterprise Support (24/7 emergency support for essential business systems)

Customer Training

Wolfram Training Courses / Advanced Training, personal / team, on-site / remote, standard / custom content, delivery / creation

Sales Engineering

Technical Sales Presentations (onsite / remote) / Webinars / Conference Calls, Content Development,
Audience: Commercial / Government / Academic / International

Technical Services

Wolfram Language Code: Design / Development / Implementation / Updating / Improvement, spec’ed / collaborative, QuickStart Package

Products Feedback Processing

Prerelease Testing Programs, Issue + Suggestions: root-cause analysis + reporting, alternative approaches,
from WTG interactions / in-product feedback / online documentation, advocating customer wishes and needs

Online Resources

Support FAQs (shared), Support website, Technical Services website, Community moderation (shared)

WTG: Our Services

Technical Support

Developer Support / Installation Support, Premier Support / Enterprise Support (24/7 emergency support for essential business systems)

Customer Training

Wolfram Training Courses / Advanced Training, personal / team, on-site / remote, standard / custom content, delivery / creation

Sales Engineering

Technical Sales Presentations (onsite / remote) / Webinars / Conference Calls, Content Development,
Audience: Commercial / Government / Academic / International

Technical Services

Wolfram Language Code: Design / Development / Implementation / Updating / Improvement, spec’ed / collaborative, QuickStart Package

Products Feedback Processing

Prerelease Testing Programs, Issue + Suggestions: root-cause analysis + reporting, alternative approaches,
from WTG interactions / in-product feedback / online documentation, advocating customer wishes and needs

Online Resources

Support FAQs (shared), Support website, Technical Services website, Community moderation (shared)

WTG: Our Services

Technical Support

Developer Support / Installation Support, Premier Support / Enterprise Support (24/7 emergency support for essential business systems)

Customer Training

Wolfram Training Courses / Advanced Training, personal / team, on-site / remote, standard / custom content, delivery / creation

Sales Engineering

Technical Sales Presentations (onsite / remote) / Webinars / Conference Calls, Content Development,
Audience: Commercial / Government / Academic / International

Technical Services

Wolfram Language Code: Design / Development / Implementation / Updating / Improvement, spec’ed / collaborative, QuickStart Package

Products Feedback Processing

Prerelease Testing Programs, Issue + Suggestions: root-cause analysis + reporting, alternative approaches,
from WTG interactions / in-product feedback / online documentation, advocating customer wishes and needs

Online Resources

Support FAQs (shared), Support website, Technical Services website, Community moderation (shared)

WTG: Our Services

Technical Support

Developer Support / Installation Support, Premier Support / Enterprise Support (24/7 emergency support for essential business systems)

Customer Training

Wolfram Training Courses / Advanced Training, personal / team, on-site / remote, standard / custom content, delivery / creation

Sales Engineering

Technical Sales Presentations (onsite / remote) / Webinars / Conference Calls, Content Development,
Audience: Commercial / Government / Academic / International

Technical Services

Wolfram Language Code: Design / Development / Implementation / Updating / Improvement, spec’ed / collaborative, QuickStart Package

Products Feedback Processing

Prerelease Testing Programs, Issue + Suggestions: root-cause analysis + reporting, alternative approaches,
from WTG interactions / in-product feedback / online documentation, advocating customer wishes and needs

Online Resources

Support FAQs (shared), Support website, Technical Services website, Community moderation (shared)

WTG: Our Services

Technical Support

Developer Support / Installation Support, Premier Support / Enterprise Support (24/7 emergency support for essential business systems)

Customer Training

Wolfram Training Courses / Advanced Training, personal / team, on-site / remote, standard / custom content, delivery / creation

Sales Engineering

Technical Sales Presentations (onsite / remote) / Webinars / Conference Calls, Content Development,
Audience: Commercial / Government / Academic / International

Technical Services

Wolfram Language Code: Design / Development / Implementation / Updating / Improvement, spec’ed / collaborative, QuickStart Package

Products Feedback Processing

Prerelease Testing Programs, Issue + Suggestions: root-cause analysis + reporting, alternative approaches,
from WTG interactions / in-product feedback / online documentation, advocating customer wishes and needs

Online Resources

Support FAQs (shared), Support website, Technical Services website, Community moderation (shared)

WTG: Our Services

Technical Support

Developer Support / Installation Support, Premier Support / Enterprise Support (24/7 emergency support for essential business systems)

Customer Training

Wolfram Training Courses / Advanced Training, personal / team, on-site / remote, standard / custom content, delivery / creation

Sales Engineering

Technical Sales Presentations (onsite / remote) / Webinars / Conference Calls, Content Development,
Audience: Commercial / Government / Academic / International

Technical Services

Wolfram Language Code: Design / Development / Implementation / Updating / Improvement, spec’ed / collaborative, QuickStart Package

Products Feedback Processing

Prerelease Testing Programs, Issue + Suggestions: root-cause analysis + reporting, alternative approaches,
from WTG interactions / in-product feedback / online documentation, advocating customer wishes and needs

Online Resources

Support FAQs (shared), Support website, Technical Services website, Community moderation (shared)

WTG: Technologies / Products

Wolfram Language

Mathematica / Finance Platform / gridMathematica / webMathematica / Wolfram Desktop

Mathematica Online / Programming Cloud / DataScience Platform / Discovery Platform

CDF Player / Player Pro

SystemModeler

Link for Excel / Neural Networks / Fuzzy Logic / ... (Wolfram-owned Add-Ons)

Workbench

not: Wolfram|Alpha, W|A Apps, W|A Appliances

WTG: Challenges

Challenging responsibility areas

WTG: Challenges

Challenging responsibility areas

+

Broad-based, feature-rich products + technology

WTG: Challenges

Challenging responsibility areas

+

Broad-based, feature-rich products + technology

+

Diverse, highly skilled, intellectually curious customers

Science/Engineering/Business/Finance/Arts/..., student - Nobel laureate / Technical Expert - CEO,
Commercial / Government / Academic, world-wide, ...

WTG: Challenges

Challenging responsibility areas

+

Broad-based, feature-rich products + technology

+

Diverse, highly skilled, intellectually curious customers

Science/Engineering/Business/Finance/Arts/..., student - Nobel laureate / Technical Expert - CEO,
Commercial / Government / Academic, world-wide, ...

⇓

Highly qualified team members

Physics / Mathematics / Finance / Civil Eng. / Aerospace Eng. / Mechanical Eng. / Electrical Eng. / Computer Science / ...
Masters / Ph.D. / Post-doc / Professor

Wolfram Technology Group @ WTC14

Wolfram SystemModeler: An Introduction, Mili Vishwakarma, Tue 9am

CDF: Authoring Interactive Content, Mili Vishwakarma, Tue 1pm

Statistics: Applied Statistical Analysis, Tue 1pm

Workshop: Get Help With Your DatabaseLink, Mili Vishwakarma, Wed 1pm

Multi-Cluster and Traveling Chimera States in Nonlocal Phase-Coupled Oscillators, Hsien-Ching Kao, Fri 10.30am

WTG: Your Gateway to Expertise in Wolfram Technologies, Karl Isensee, Michael Kelly, Anshu Manik, Fri 3.30pm

Working with NoSQL using Wolfram Language, Mili Vishwakarma, Fri 4.30pm

Conference Technical Support, Wed-Fri 11am-3.30pm

Wolfram Technology Group: Your Gateway to Expertise in Wolfram Technologies

1. Wolfram Technology Group: Overview

Peter Fleck, Manager

2. Successes in Technical Support at Wolfram Research

Karl Isensee, Sales Engineer, Trainer, Senior Support Engineer

3. The Diversity and Depth of Wolfram Sales Engineering

Michael Kelly, Finance Expert, Senior Sales Engineer

4. Wolfram Language: The Best Platform for Custom Solutions

Anshu Manik, Technical Services Team Lead, Senior Sales Engineer

Overview of Technical Support

Who are we?

Programmers with technical background who communicate with the public
Generally have advanced degrees

What do we do?

Communicate personal knowledge to the public
Triage problem reports to QA
Communicate suggestions to development/management (especially with new products)
Act as conduit from developers to public

Things that we do

We support the following

Mathematica, Wolfram SystemModeler, Wolfram Programming Cloud, Mathematica Online, CDF Player, Wolfram PlayerPro, gridMathematica, webMathematica, Wolfram Workbench, etc

We are responsible for the following

Installation questions, Wolfram Language programming questions, various link questions, working with databases, CUDA, grid installations, web installations, triaging potential problem reports, finding workarounds, etc

We talk to

Professors, students, parents, IT pros, people from industry, etc

Common domains

IT, mathematics, physics, engineering, general programming, etc

Channels of communication

Phone, email, live chat, webinar, etc

A Case Study

Users found RootLocusPlot somewhat difficult in Mathematica 9

With no additional options

RootLocusPlot[TransferFunctionModel[-((k(s-5/2)(s-2)))/((s-4)(s-1)),s],{k,0,10},PlotRange->{{-10,15},{-5,5}},AxesOrigin->{0,0}]

Users could get what they needed by taxing their CPU

RootLocusPlot[TransferFunctionModel[-((k(s-5/2)(s-2)))/((s-4)(s-1)),s],{k,0,10},PlotRange->{{-10,15},{-5,5}},AxesOrigin->{0,0},PlotPoints->4000,Method->"GenericSolve"]

Improving the Wolfram Language

Suggesting improvements is a key

1) Report issue to QA through suggestion report
2) Further communicate with developer through report (including gathering more information from user)
3) Pass intermediate information from developers on to users
4) Notify users of improvements

The result

RootLocusPlot[TransferFunctionModel[-((k(s-5/2)(s-2)))/((s-4)(s-1)),s],{k,0,10},PlotRange->{{-10,15},{-5,5}},AxesOrigin->{0,0},PlotPoints->90,MaxRecursion->10]

This user’s reports actually resulted in 3 improvements to RootLocusPlot

Helping Future Users

We identify common problems for future users

A user wanted to optimize this code:

Off[NIntegrate::nlim];

ω=120.00;pa=67.00;i= 0.0125;v=(1.0/(1.0+i));
αM=0.21585/1000.00;βM=0.00405/1000.00;γM=(10^0.051);
αK=0.07626/1000.00;βK=0.00278/1000.00;γK=(10^0.051);
tariffk2013wmargin=0.10;tariffk2013sosiomargin=0.12; (* Dette er finanstilsynet marginer (2013FT) *)
tariffk2013wmargin=0.0;tariffk2013sosiomargin=0.05; (* K2013BE start_margin=0.05; w_margin=0.0; start_margin=tariff_k2013_sosio_margin; *)
wxMann[x_]:=(2.42868-0.1568x+0.00135(x^2))(1.0+tariffk2013wmargin);
wxKvinne[x_]:=(1.17088-0.0919x+0.00074(x^2))(1.0+tariffk2013wmargin);

μMK2013[x_,s_,baar_]:=(1.0-tariffk2013sosiomargin)(αM+βM ((γM)^x))(((1+((wxMann[x])/100)))^(s+(baar-2013.0)));
μKK2013[x_,s_,baar_]:=(1.0-tariffk2013sosiomargin)(αK+βK ((γK)^x))(((1+((wxKvinne[x])/100)))^(s+(baar-2013.0)));
tpxMK2013[x_,t_,baar_]:=Exp[NIntegrate[-μMK2013[y,y-x,baar],{y,x,x+t}]];
tpxKK2013[x_,t_,baar_]:=Exp[NIntegrate[-μKK2013[y,y-x,baar],{y,x,x+t}]];

gmenn2013[x_,t_]:=If[(x+t)≥ 26.00 && (x+t)≤ 100.00,Max[-0.00035095 (((x+t))^2)+0.046376 (x+t)-0.95995,0.0],0.0];
gkvinne2013[x_,t_]:=If[x+t≥ 23.00&& x+t≤ 97.00,Max[0.0000038637(((x+t))^3)-0.0010234(((x+t))^2)+0.075678 (x+t)-1.2273,0.0],0.0];

ω=120.00;i=0.0125;v=(1.0/(1.0+i));pa=67.0; ω=120.00;beregningsaar=2013;engangspremieepmannK2013[x_  ,baar_ ]:=NIntegrate[(v^t) tpxMK2013[x,t,baar+t] μMK2013[x,t,baar+t] gmenn2013[x,t] If[x+t≤87, NIntegrate[(v^τ) tpxKK2013[0.9488(x+t)+0.2312,τ,baar+t],{τ,0.0,ω-(0.9488(x+t)+0.2312)}],NIntegrate[(v^τ) tpxKK2013[0.6808(x+t)+23.749,τ,baar+t],{τ,0.0,ω-(0.6808(x+t)+23.749)}] ],{t ,0.0,100.0-x}];

engangspremieepmannK2013[70.0,2013.0] // AbsoluteTiming

xalder=88.00;
v
gmenn2013[xalder,0.0]
tpxMK2013[xalder,0,2013+0.0]
 μMK2013[xalder,0.0,2013. + 0.0]

engangspremieEPmannK2013etter87[x_  ,baar_ ]:=NIntegrate[(v^t) tpxMK2013[x,t,baar+t] μMK2013[x,t,baar+t] gmenn2013[x,t] NIntegrate[(v^τ) tpxKK2013[0.6808(x+t)+23.749,τ,baar+t],{τ,0.0,ω-(0.6808(x+t)+23.749)}],{t ,0.0,100.0-x}];
{i,1/v,engangspremieEPmannK2013etter87[90.,2013.0]}

engangspremieepmannK2013[x_  ,baar_ ]:=NIntegrate[(v^t) tpxMK2013[x,t,baar+t] μMK2013[x,t,baar+t] gmenn2013[x,t] If[x+t≤87, NIntegrate[(v^τ) tpxKK2013[0.9488(x+t)+0.2312,τ,baar+t],{τ,0.0,ω-(0.9488(x+t)+0.2312)}],NIntegrate[(v^τ) tpxKK2013[0.6808(x+t)+23.749,τ,baar+t],{τ,0.0,ω-(0.6808(x+t)+23.749)}] ],{t ,0.0,100.0-x},MinRecursion->7,MaxRecursion->12];

engangspremieepmannK2013[99.0,2014.0] // AbsoluteTiming

Get this user an answer, put up a Support FAQ article for other users

Wolfram Technology Group: Your Gateway to Expertise in Wolfram Technologies

1. Wolfram Technology Group: Overview

Peter Fleck, Manager

2. Successes in Technical Support at Wolfram Research

Karl Isensee, Sales Engineer, Trainer, Senior Support Engineer

3. The Diversity and Depth of Wolfram Sales Engineering

Michael Kelly, Finance Expert, Senior Sales Engineer

4. Wolfram Language: The Best Platform for Custom Solutions

Anshu Manik, Technical Services Team Lead, Senior Sales Engineer

Wolfram Technology Group: Your Gateway to Expertise in Wolfram Technologies

3. The Diversity and Depth of Wolfram Sales Engineering

Michael Kelly, Finance Expert, Senior Sales Engineer

Complexity of Mathematica and Finance Platform

Large number of possible Applications

Large number of Topics in Wolfram Language

The front of the documentation page

Additional topics in Finance:

BloombergLink

ReutersLink

FinancialDerivative

FinancialBond

Cashflow

Annuity

TimeValue

FinancialData

Demonstrations are essential to sales

Volatility Surface in the Heston Model

Manipulate[
Quiet@Module[{i,j,x,k,T,Price,pr,Volatility,vol},
Price=Array[pr,{m,t}];
Volatility=Array[vol,size];
For[i=1,i<t+1,i++,T=Tenors[[i]]/12;
For[j=1,j<m+1,j++,k=S/Moneyness[[j]];
pr[i,j]=HestonCallLewis[S,k,T,r,d,(σ0/100)^2,MR,ρ,(σinf/100)^2,VolVol/100];
x=ImpliedVolCall[pr[i,j],S,k,T,r,d,0.0001];
If[x≠0.000001,vol[(i-1) m+j]={Tenors[[i]],Moneyness[[j]],100 x},vol[(i-1) m+j]={Null,Null,Null}];];];
ListPlot3D[Volatility,PlotRange->{Full,Full,Full},PlotLabel->"Implied Volatility Surface",AxesLabel->{"time to expiry\nin months","moneyness",None},ImageSize->{350,350},BoxRatios->{1,1,.6},ImagePadding->25]],
Item[
Grid[{
{"original volatility",Manipulator[Dynamic[σ0],{10,200,10},ImageSize->Tiny],Row[{Dynamic[σ0],"%"}]},{"long-term volatility",Manipulator[Dynamic[σinf],{10,200,10},ImageSize->Tiny],Row[{Dynamic[σinf],"%"}]},
{"correlation",Manipulator[Dynamic[ρ],{-.9,.9,.1},ImageSize->Tiny],Row[{Dynamic[ρ]}]},
{"mean reversion",Manipulator[Dynamic[MR],{.1,10,0.1},ImageSize->Tiny],Dynamic[MR]},
{"volatility of volatility",Manipulator[Dynamic[VolVol],{10,1000,10},ImageSize->Tiny],Row[{Dynamic[VolVol],"%"}]}},Alignment->{{Right,Left,Right}},ItemSize->{{12,8,4},Automatic}]],
{{σ0,40},10,200,10,ControlType->None},
{{σinf,20},10,200,10,ControlType->None},
{{ρ,-.1},-.9,.9,.1,ControlType->None},
{{MR,1.5},.1,10,.1,ControlType->None},
{{VolVol,80},10,1000,10,ControlType->None},SynchronousUpdating->False,SaveDefinitions->True,ControlPlacement->Left,TrackedSymbols->Manipulate]

It is essential to find ways to present a large amount of material in a visually impressive form

Statistics Visualization in Mathematica

Wolfram|Alpha: The Computational Knowledge Engine - The ultimate App

Built on Mathematica

Consulting Example: Interactive Updated Finance Screen

FX Screen Update

UpdatedFXScreen["GBP/JPY",1.]

UpdatedFXScreen["GBP/USD",1.]

Manipulate[Module[{recent,pos,lastbid,lastask},Refresh[recent=Import["http://webrates.truefx.com/rates/connect.html?f=csv"];pos=StringPosition[recent,forex][[1,2]];AppendTo[bid,ToExpression[StringJoin[StringTake[recent,{{pos+16,pos+19},{pos+21,pos+23}}]]]];
AppendTo[ask,ToExpression[StringJoin[StringTake[recent,{{pos+25,pos+28},{pos+30,pos+32}}]]]];
lastbid=Last[bid];lastask=Last[ask];Column[{ListLinePlot[{bid,ask},Filling->Axis,AxesLabel->{"time",forex},PlotRange->{0.9999 lastbid,1.0001 lastask},PlotLegends->{"Bid","Ask"},ImageSize->{600,400},PlotLabel->"Recent Data for "<>forex ,LabelStyle->Magenta],"Last Bid Price for "<>forex<>" = "<>ToString[lastbid],"Last Ask Price for "<>forex<>" = "<>ToString[lastask]}],TrackedSymbols->{},UpdateInterval->seconds]],{{forex,"GBP/JPY","Foreign Exchange"},{"EUR/USD","USD/JPY","GBP/USD","EUR/GBP","USD/CHF","EUR/JPY","EUR/CHF","USD/CAD","AUD/USD","GBP/JPY"},ControlType->PopupMenu},{{seconds,2,"Seconds"},0.4,2,0.1},SaveDefinitions->True,Initialization:>{bid={},ask={}}]

Consulting Example: Very Large Databases

Racing Data Statistics using Dataset

nullRacingAssociationDataset[Histogram[#,"Log"]&,"FinalOdds"]

GraphicsGrid[Partition[Table[nullRacingAssociationDataset[Histogram[#,PlotLabel->factor,ColorFunction->RandomSample[ColorData["Gradients"],1][[1]]]&,factor],{factor,racingFactors[[Append[Range[6,14],17]]]}],2]]

Labeled[Framed[TableForm[averageWinners=Transpose[Outer[N[averageWinner[#1,#2]]&,tracks,racingFactors[[Join[{2,3},Range[6,14],{17}]]]]],TableHeadings->{racingFactors[[Join[{2,3},Range[6,14],{17}]]],tracks}]],Style["Average Winner statistic by Feature and Track",Blue,14],Top]

Labeled[Framed[TableForm[SDWinners=Transpose[Outer[N[SDWinner[#1,#2]]&,tracks,racingFactors[[Join[{2,3},Range[6,14],{17}]]]]],TableHeadings->{racingFactors[[Join[{2,3},Range[6,14],{17}]]],tracks}]],Style["Standard Deviation Winner statistic by Feature and Track",Blue,14],Top]

Wolfram Technology Group: Your Gateway to Expertise in Wolfram Technologies

1. Wolfram Technology Group: Overview

Peter Fleck, Manager

2. Successes in Technical Support at Wolfram Research

Karl Isensee, Sales Engineer, Trainer, Senior Support Engineer

3. The Diversity and Depth of Wolfram Sales Engineering

Michael Kelly, Finance Expert, Senior Sales Engineer

4. Wolfram Language: The Best Platform for Custom Solutions

Anshu Manik, Technical Services Team Lead, Senior Sales Engineer