DynaPrecisionhttp://dynaprecision.codeplex.com/project/feeds/rssDynaPrecision is a generic/template library written in C# implementing the basic algorithms and data structures in a Graduate Numerical Method or Analysis course.Source code checked in, #81799http://dynaprecision.codeplex.com/SourceControl/changeset/changes/81799Upgrade: New Version of LabDefaultTemplate.xaml. To upgrade your build definitions, please visit the following link: http://go.microsoft.com/fwlink/?LinkId=254563Project Collection Service AccountsMon, 01 Oct 2012 21:57:23 GMTSource code checked in, #81799 20121001095723PSource code checked in, #81798http://dynaprecision.codeplex.com/SourceControl/changeset/changes/81798Checked in by server upgradeProject Collection Service AccountsMon, 01 Oct 2012 21:51:05 GMTSource code checked in, #81798 20121001095105PUpdated Wiki: Homehttp://dynaprecision.codeplex.com/wikipage?version=11<div class="wikidoc"><h1>Project Description</h1>
DynaPrecision is a generic/template library written in C# implementing the basic algorithms and data structures in a Graduate Numerical Method or Analysis course.
<h1>Modifications</h1>
<h2>Financial namespace is added, together with some option pricing models</h2>
A Projected SOR option pricing scheme based on finite difference method is provided, and can handle both European/American Style payoffs.<br />A trinomial tree based option pricing method is provided, and can handle both European/American Style payoffs.<br /><br />Several RandomNumberGenerators are provided.<br />A DynamicCastOperator class is provided, so +-*/ and other basic operations on generic classes can be easier.<br />
<h2>Poisson</h2>
I've added a numerical Poisson solver to the library - in fact, it simply generates an array that you can feed in any standard Linear system solver.
<h2>Fast Fourier transform and fast Chebyshev Transform</h2>
A Fast Fourier Transform is implemented - together with a IComplex<T> struct. The input can be an IList<Complex<T>> or an IList<T> as descripted in the book Numerical Recipe.<br />The Chebyshev Transform or Discretized Cosine transform of the first kind is implemented - with FFT as the underlying layer.<br />The number of input data into FFT should be 2^N, and into Chebyshev Transform should be 2^N+1<br />
<h1>Origin of the Project</h1>
I am currently a graduate student in University of Illinois at Urbana-Champaign and previously in the Johns Hopkins University and Tsinghua University. <b>DynaPrecision</b> is in fact a set of mathematical and numerical codes that accumulated through my different courses and research projects. The basic idea of all these development is to include new features provided by C#, such as generic programming and object-oriented design, into the old-fashioned numerical methods.<br />I've tried to carefully define the interfaces and classes to ease the users of the library from re-programming many of the standard routines, such as Newtonian Interative method for non-linear equations, Jacobi iterative method for linear system.<br />
<h1>Features</h1>
<h2>Generic numerical methods</h2>
I've tried to treat C# generic like C++ template to achieve the freedom in choosing of different precision by using generics or templates, like the following sum methods:<br /><div style="color:Black;background-color:White;"><pre>
T sum<T>(IEnumerable<T> list)
{
T result = 0;
<span style="color:Blue;">foreach</span>( T value <span style="color:Blue;">in</span> list) result += value;
<span style="color:Blue;">return</span> result;
}
</pre></div> however, in the age of C# 3.0 or earlier this is not an easy task. The beta version of C# 4.0 introduces the dynamic keyword and by which I decided to implement all the methods in generic manner by using this keyword - I admit this decision will greatly influence the performance of the codes and as far as I know, Microsoft will soon release an IArithmetric<T> or so to address the support for general numeric operations - which means all these generic codes would be rewritten at that time. By using the keyword, the above codes become<br /><div style="color:Black;background-color:White;"><pre>
T sum<T>(IEnumerable<T> list)
{
T result = 0;
<span style="color:Blue;">foreach</span>( T value <span style="color:Blue;">in</span> list) result += (<span style="color:Blue;">dynamic</span>)value;
<span style="color:Blue;">return</span> result;
}
</pre></div>I am sorry about this performance issue.
<h2>Structure of the Library</h2>
The codes are divided into two kinds, <b>Mathematical Data Structures</b> such as Function and Matrix, and <b>the Analytical and Numerical Methods (or Algorithms)</b> that will operate these data structures, such as Simpson Integrating.<br />The basic of all these are set of interfaces such as IFunction and IMatrix for data structures and ISolver and IIterativeSolver for methods. I've implemented many general data types and methods, and if you find something missing, please email me the mathematical descriptions for the missing thing and I will be happy to include it in this project.</div><div class="ClearBoth"></div>fardreamSun, 17 Apr 2011 04:48:28 GMTUpdated Wiki: Home 20110417044828ASource code checked in, #65573http://dynaprecision.codeplex.com/SourceControl/changeset/changes/65573fardreamSun, 17 Apr 2011 04:42:59 GMTSource code checked in, #65573 20110417044259ASource code checked in, #65333http://dynaprecision.codeplex.com/SourceControl/changeset/changes/65333fardreamMon, 11 Apr 2011 07:55:21 GMTSource code checked in, #65333 20110411075521ASource code checked in, #65305http://dynaprecision.codeplex.com/SourceControl/changeset/changes/65305fardreamSun, 10 Apr 2011 22:27:41 GMTSource code checked in, #65305 20110410102741PSource code checked in, #65304http://dynaprecision.codeplex.com/SourceControl/changeset/changes/65304fardreamSun, 10 Apr 2011 22:14:43 GMTSource code checked in, #65304 20110410101443PSource code checked in, #65301http://dynaprecision.codeplex.com/SourceControl/changeset/changes/65301fardreamSun, 10 Apr 2011 22:08:22 GMTSource code checked in, #65301 20110410100822PSource code checked in, #65300http://dynaprecision.codeplex.com/SourceControl/changeset/changes/65300fardreamSun, 10 Apr 2011 22:05:34 GMTSource code checked in, #65300 20110410100534PUpdated Wiki: Homehttp://dynaprecision.codeplex.com/wikipage?version=10<div class="wikidoc"><h1>Project Description</h1>
DynaPrecision is a generic/template library written in C# implementing the basic algorithms and data structures in a Graduate Numerical Method or Analysis course.
<h1>Modifications</h1>
<h2>New methods that would be added to the project.</h2>
I was recently writing a lot of codes for financial applications (such as fitting time series models) in both C++ and C#. I would love to include them in the project, although currently they are not available.<br />Also, I was considering publish the C++ version of the library.<br />
<h2>Poisson</h2>
I've added a numerical Poisson solver to the library - in fact, it simply generates an array that you can feed in any standard Linear system solver.
<h2>Fast Fourier transform and fast Chebyshev Transform</h2>
A Fast Fourier Transform is implemented - together with a IComplex<T> struct. The input can be an IList<Complex<T>> or an IList<T> as descripted in the book Numerical Recipe.<br />The Chebyshev Transform or Discretized Cosine transform of the first kind is implemented - with FFT as the underlying layer.<br />The number of input data into FFT should be 2^N, and into Chebyshev Transform should be 2^N+1<br />
<h1>Origin of the Project</h1>
I am currently a graduate student in University of Illinois at Urbana-Champaign and previously in the Johns Hopkins University and Tsinghua University. <b>DynaPrecision</b> is in fact a set of mathematical and numerical codes that accumulated through my different courses and research projects. The basic idea of all these development is to include new features provided by C#, such as generic programming and object-oriented design, into the old-fashioned numerical methods.<br />I've tried to carefully define the interfaces and classes to ease the users of the library from re-programming many of the standard routines, such as Newtonian Interative method for non-linear equations, Jacobi iterative method for linear system.<br />
<h1>Features</h1>
<h2>Generic numerical methods</h2>
I've tried to treat C# generic like C++ template to achieve the freedom in choosing of different precision by using generics or templates, like the following sum methods:<br /><div style="color:Black;background-color:White;"><pre>
T sum<T>(IEnumerable<T> list)
{
T result = 0;
<span style="color:Blue;">foreach</span>( T value <span style="color:Blue;">in</span> list) result += value;
<span style="color:Blue;">return</span> result;
}
</pre></div> however, in the age of C# 3.0 or earlier this is not an easy task. The beta version of C# 4.0 introduces the dynamic keyword and by which I decided to implement all the methods in generic manner by using this keyword - I admit this decision will greatly influence the performance of the codes and as far as I know, Microsoft will soon release an IArithmetric<T> or so to address the support for general numeric operations - which means all these generic codes would be rewritten at that time. By using the keyword, the above codes become<br /><div style="color:Black;background-color:White;"><pre>
T sum<T>(IEnumerable<T> list)
{
T result = 0;
<span style="color:Blue;">foreach</span>( T value <span style="color:Blue;">in</span> list) result += (dynamic)value;
<span style="color:Blue;">return</span> result;
}
</pre></div>I am sorry about this performance issue.
<h2>Structure of the Library</h2>
The codes are divided into two kinds, <b>Mathematical Data Structures</b> such as Function and Matrix, and <b>the Analytical and Numerical Methods (or Algorithms)</b> that will operate these data structures, such as Simpson Integrating.<br />The basic of all these are set of interfaces such as IFunction and IMatrix for data structures and ISolver and IIterativeSolver for methods. I've implemented many general data types and methods, and if you find something missing, please email me the mathematical descriptions for the missing thing and I will be happy to include it in this project.</div><div class="ClearBoth"></div>fardreamTue, 11 Jan 2011 06:05:24 GMTUpdated Wiki: Home 20110111060524AUpdated Wiki: Homehttp://dynaprecision.codeplex.com/wikipage?version=9<div class="wikidoc"><h1>Project Description</h1>
DynaPrecision is a generic/template library written in C# implementing the basic algorithms and data structures in a Graduate Numerical Method or Analysis course.
<h1>Modifications</h1>
<h2>New methods that would be added to the project.</h2>
I was recently writing a lot of codes for financial applications (such as fitting time series models) in both C++ and C#. I would love to include them in the project, although currently they are not available.<br />
<h2>Poisson</h2>
I've added a numerical Poisson solver to the library - in fact, it simply generates an array that you can feed in any standard Linear system solver.
<h2>Fast Fourier transform and fast Chebyshev Transform</h2>
A Fast Fourier Transform is implemented - together with a IComplex<T> struct. The input can be an IList<Complex<T>> or an IList<T> as descripted in the book Numerical Recipe.<br />The Chebyshev Transform or Discretized Cosine transform of the first kind is implemented - with FFT as the underlying layer.<br />The number of input data into FFT should be 2^N, and into Chebyshev Transform should be 2^N+1<br />
<h1>Origin of the Project</h1>
I am currently a graduate student in University of Illinois at Urbana-Champaign and previously in the Johns Hopkins University and Tsinghua University. <b>DynaPrecision</b> is in fact a set of mathematical and numerical codes that accumulated through my different courses and research projects. The basic idea of all these development is to include new features provided by C#, such as generic programming and object-oriented design, into the old-fashioned numerical methods.<br />I've tried to carefully define the interfaces and classes to ease the users of the library from re-programming many of the standard routines, such as Newtonian Interative method for non-linear equations, Jacobi iterative method for linear system.<br />
<h1>Features</h1>
<h2>Generic numerical methods</h2>
I've tried to treat C# generic like C++ template to achieve the freedom in choosing of different precision by using generics or templates, like the following sum methods:<br /><div style="color:Black;background-color:White;"><pre>
T sum<T>(IEnumerable<T> list)
{
T result = 0;
<span style="color:Blue;">foreach</span>( T value <span style="color:Blue;">in</span> list) result += value;
<span style="color:Blue;">return</span> result;
}
</pre></div> however, in the age of C# 3.0 or earlier this is not an easy task. The beta version of C# 4.0 introduces the dynamic keyword and by which I decided to implement all the methods in generic manner by using this keyword - I admit this decision will greatly influence the performance of the codes and as far as I know, Microsoft will soon release an IArithmetric<T> or so to address the support for general numeric operations - which means all these generic codes would be rewritten at that time. By using the keyword, the above codes become<br /><div style="color:Black;background-color:White;"><pre>
T sum<T>(IEnumerable<T> list)
{
T result = 0;
<span style="color:Blue;">foreach</span>( T value <span style="color:Blue;">in</span> list) result += (dynamic)value;
<span style="color:Blue;">return</span> result;
}
</pre></div>I am sorry about this performance issue.
<h2>Structure of the Library</h2>
The codes are divided into two kinds, <b>Mathematical Data Structures</b> such as Function and Matrix, and <b>the Analytical and Numerical Methods (or Algorithms)</b> that will operate these data structures, such as Simpson Integrating.<br />The basic of all these are set of interfaces such as IFunction and IMatrix for data structures and ISolver and IIterativeSolver for methods. I've implemented many general data types and methods, and if you find something missing, please email me the mathematical descriptions for the missing thing and I will be happy to include it in this project.</div><div class="ClearBoth"></div>fardreamTue, 11 Jan 2011 06:05:00 GMTUpdated Wiki: Home 20110111060500ASource code checked in, #58352http://dynaprecision.codeplex.com/SourceControl/changeset/changes/58352fardreamThu, 28 Oct 2010 04:11:07 GMTSource code checked in, #58352 20101028041107AUpdated Wiki: Homehttp://dynaprecision.codeplex.com/wikipage?version=8<div class="wikidoc"><h1>Project Description</h1>
DynaPrecision is a generic/template library written in C# implementing the basic algorithms and data structures in a Graduate Numerical Method or Analysis course.
<h1>Modifications</h1>
<h2>Poisson</h2>
I've added a numerical Poisson solver to the library - in fact, it simply generates an array that you can feed in any standard Linear system solver.
<h2>Fast Fourier transform and fast Chebyshev Transform</h2>
A Fast Fourier Transform is implemented - together with a IComplex<T> struct. The input can be an IList<Complex<T>> or an IList<T> as descripted in the book Numerical Recipe.<br />The Chebyshev Transform or Discretized Cosine transform of the first kind is implemented - with FFT as the underlying layer.<br />The number of input data into FFT should be 2^N, and into Chebyshev Transform should be 2^N+1<br />
<h1>Origin of the Project</h1>
I am currently a graduate student in University of Illinois at Urbana-Champaign and previously in the Johns Hopkins University and Tsinghua University. <b>DynaPrecision</b> is in fact a set of mathematical and numerical codes that accumulated through my different courses and research projects. The basic idea of all these development is to include new features provided by C#, such as generic programming and object-oriented design, into the old-fashioned numerical methods.<br />I've tried to carefully define the interfaces and classes to ease the users of the library from re-programming many of the standard routines, such as Newtonian Interative method for non-linear equations, Jacobi iterative method for linear system.<br />
<h1>Features</h1>
<h2>Generic numerical methods</h2>
I've tried to treat C# generic like C++ template to achieve the freedom in choosing of different precision by using generics or templates, like the following sum methods:<br /><div style="color:Black;background-color:White;"><pre>
T sum<T>(IEnumerable<T> list)
{
T result = 0;
<span style="color:Blue;">foreach</span>( T value <span style="color:Blue;">in</span> list) result += value;
<span style="color:Blue;">return</span> result;
}
</pre></div> however, in the age of C# 3.0 or earlier this is not an easy task. The beta version of C# 4.0 introduces the dynamic keyword and by which I decided to implement all the methods in generic manner by using this keyword - I admit this decision will greatly influence the performance of the codes and as far as I know, Microsoft will soon release an IArithmetric<T> or so to address the support for general numeric operations - which means all these generic codes would be rewritten at that time. By using the keyword, the above codes become<br /><div style="color:Black;background-color:White;"><pre>
T sum<T>(IEnumerable<T> list)
{
T result = 0;
<span style="color:Blue;">foreach</span>( T value <span style="color:Blue;">in</span> list) result += (dynamic)value;
<span style="color:Blue;">return</span> result;
}
</pre></div>I am sorry about this performance issue.
<h2>Structure of the Library</h2>
The codes are divided into two kinds, <b>Mathematical Data Structures</b> such as Function and Matrix, and <b>the Analytical and Numerical Methods (or Algorithms)</b> that will operate these data structures, such as Simpson Integrating.<br />The basic of all these are set of interfaces such as IFunction and IMatrix for data structures and ISolver and IIterativeSolver for methods. I've implemented many general data types and methods, and if you find something missing, please email me the mathematical descriptions for the missing thing and I will be happy to include it in this project.</div><div class="ClearBoth"></div>fardreamWed, 27 Oct 2010 21:01:10 GMTUpdated Wiki: Home 20101027090110PSource code checked in, #58182http://dynaprecision.codeplex.com/SourceControl/changeset/changes/58182fardreamSat, 23 Oct 2010 21:09:14 GMTSource code checked in, #58182 20101023090914PNew Post: Documentation, Test, Main Ideas?http://dynaprecision.codeplex.com/Thread/View.aspx?ThreadId=222178<div style="line-height: normal;">Good Day.
I'm browsing open source projects , located on codeplex related with Numerical methods and algoritms.
Some days ago I found your project and try to understand it. But could not do it at all.
I understand that the developer of this project is you, but if you If you publish it in opensource, then make comments to the code,
may be necessary to add diagrams or drawings, explaining what is happening in the code. May be need write some unit tests or examples.
I spent the whole day, but completely failed to understand what you did and how it can be used.
Maybe I am a bad developer, and did not understand the course of your thoughts, but it is better to do some documentation.
Sincerely, Igor Sychev.</div>SychevIgorMon, 02 Aug 2010 13:54:17 GMTNew Post: Documentation, Test, Main Ideas? 20100802015417PSource code checked in, #55578http://dynaprecision.codeplex.com/SourceControl/changeset/changes/55578Checked in by server upgrade_TFSSERVICEMon, 26 Jul 2010 20:06:06 GMTSource code checked in, #55578 20100726080606PUpdated Wiki: Homehttp://dynaprecision.codeplex.com/wikipage?version=7<div class="wikidoc"><b>Project Description</b><br />DynaPrecision is a generic/template library written in C# implementing the basic algorithms and data structures in a Graduate Numerical Method or Analysis course.
<h1>Modifications</h1>
<h2>Poisson</h2>
I've added a numerical Poisson solver to the library - in fact, it simply generates an array that you can feed in any standard Linear system solver.
<h2>Fast Fourier transform and fast Chebyshev Transform</h2>
A Fast Fourier Transform is implemented - together with a IComplex<T> struct. The input can be an IList<Complex<T>> or an IList<T> as descripted in the book Numerical Recipe.<br />The Chebyshev Transform or Discretized Cosine transform of the first kind is implemented - with FFT as the underlying layer.<br />The number of input data into FFT should be 2^N, and into Chebyshev Transform should be 2^N+1<br />
<h1>Origin of the Project</h1>
I am currently a graduate student in University of Illinois at Urbana-Champaign and previously in the Johns Hopkins University and Tsinghua University. <b>DynaPrecision</b> is in fact a set of mathematical and numerical codes that accumulated through my different courses and research projects. The basic idea of all these development is to include new features provided by C#, such as generic programming and object-oriented design, into the old-fashioned numerical methods.<br />I've tried to carefully define the interfaces and classes to ease the users of the library from re-programming many of the standard routines, such as Newtonian Interative method for non-linear equations, Jacobi iterative method for linear system.<br />
<h1>Features</h1>
<h2>Generic numerical methods</h2>
I've tried to treat C# generic like C<u></u> template to achieve the freedom in choosing of different precision by using generics or templates, like the following sum methods:<br /><div style="color:Black;background-color:White;"><pre>
T sum<T>(IEnumerable<T> list)
{
T result = 0;
<span style="color:Blue;">foreach</span>( T value <span style="color:Blue;">in</span> list) result += value;
<span style="color:Blue;">return</span> result;
}
</pre></div> however, in the age of C# 3.0 or earlier this is not an easy task. The beta version of C# 4.0 introduces the dynamic keyword and by which I decided to implement all the methods in generic manner by using this keyword - I admit this decision will greatly influence the performance of the codes and as far as I know, Microsoft will soon release an IArithmetric<T> or so to address the support for general numeric operations - which means all these generic codes would be rewritten at that time. By using the keyword, the above codes become<br /><div style="color:Black;background-color:White;"><pre>
T sum<T>(IEnumerable<T> list)
{
T result = 0;
<span style="color:Blue;">foreach</span>( T value <span style="color:Blue;">in</span> list) result += (dynamic)value;
<span style="color:Blue;">return</span> result;
}
</pre></div>I am sorry about this performance issue.
<h2>Structure of the Library</h2>
The codes are divided into two kinds, <b>Mathematical Data Structures</b> such as Function and Matrix, and <b>the Analytical and Numerical Methods (or Algorithms)</b> that will operate these data structures, such as Simpson Integrating.<br />The basic of all these are set of interfaces such as IFunction and IMatrix for data structures and ISolver and IIterativeSolver for methods. I've implemented many general data types and methods, and if you find something missing, please email me the mathematical descriptions for the missing thing and I will be happy to include it in this project.</div><div class="ClearBoth"></div>fardreamSun, 18 Jul 2010 21:32:43 GMTUpdated Wiki: Home 20100718093243PSource code checked in, #51980http://dynaprecision.codeplex.com/SourceControl/changeset/changes/51980fardreamMon, 10 May 2010 00:13:32 GMTSource code checked in, #51980 20100510121332ASource code checked in, #51979http://dynaprecision.codeplex.com/SourceControl/changeset/changes/51979fardreamMon, 10 May 2010 00:13:22 GMTSource code checked in, #51979 20100510121322ASource code checked in, #51978http://dynaprecision.codeplex.com/SourceControl/changeset/changes/51978fardreamMon, 10 May 2010 00:11:15 GMTSource code checked in, #51978 20100510121115A