От MSDN:
GUID А является 128-разрядным значением, состоящим из одной группы из 8 шестнадцатеричных цифр, сопровождаемых тремя группами из 4 шестнадцатеричных цифр каждый, сопровождаемый одной группой из 12 шестнадцатеричных цифр. Следующий GUID в качестве примера показывает группировки шестнадцатеричных цифр в GUID: 6B29FC40-CA47-1067-B31D-00DD010662DA
От Википедия :
Часто фигурные скобки добавляются для включения вышеупомянутого формата, как такового:
{3F2504E0-4F89-11D3-9A0C-0305E82C3301}
Так в общей сложности 38 символов в типичном шестнадцатеричном кодировании фигурными скобками.
-Adam
ACML AMD - это бесплатная загрузка, но это только двоичный код, не открытый исходный код, и собственный код, а не .NET.
Производительность в целом выше, чем у Код Netlib.org, и в целом примерно такой же, как MKL от Intel, который не является бесплатным IIRC.
Загрузка включает один пример, демонстрирующий, как привязать его к C #. Ничем не отличается от вызова любой другой библиотеки C или C ++ из C #.
Библиотека реализует BLAS, LAPACK, БПФ и ГСЧ.
http://developer.amd.com/cpu/Libraries/acml/downloads/pages /default.aspx
РЕДАКТИРОВАТЬ ОТВЕТ НА КОММЕНТАРИЙ:
На процессоре Intel ACML AMD будет выполнять примерно так же, как MKL Intel, но это зависит от алгоритма, размеров матрицы, количества количество ядер, топология и скорость памяти и т. д. и т. д. и т. д. Ваш пробег может отличаться. Единственный способ узнать наверняка - это запустить собственный тест. В некоторых случаях ACML быстрее MKL даже на оборудовании Itel.
Любой из них будет значительно быстрее, чем любая «наивная» реализация для больших матриц. Оба спроектированы для использования нескольких потоков на многоядерных процессорах, имеют вручную настроенные ядра ассемблера и большую настройку поведения кеша на различных машинах.
Для небольших матриц производительность обычно невысока. Не беспокойтесь, ведь любой современный процессор может решить небольшую матрицу всего за несколько миллисекунд, даже используя простейший код. В этом случае вы используете только библиотеку, чтобы избежать написания и отладки кода, который уже был написан сотни раз.
Любая из них будет значительно быстрее любой «простой» реализации для больших матриц. Оба спроектированы для использования нескольких потоков на многоядерных процессорах, имеют вручную настроенные ядра ассемблера и большую настройку поведения кеша на различных машинах.
Для небольших матриц производительность обычно невысока. Не беспокойтесь, ведь любой современный процессор может решить небольшую матрицу всего за несколько миллисекунд, даже используя простейший код. В этом случае вы используете только библиотеку, чтобы избежать написания и отладки кода, который уже был написан сотни раз.
Любой из них будет значительно быстрее любой «простой» реализации для больших матриц. Оба спроектированы для использования нескольких потоков на многоядерных процессорах, имеют вручную настроенные ядра ассемблера и большую настройку поведения кеша на различных машинах.
Для небольших матриц производительность обычно невысока. Не беспокойтесь, ведь любой современный процессор может решить небольшую матрицу всего за несколько миллисекунд, даже используя простейший код. В этом случае вы используете только библиотеку, чтобы избежать написания и отладки кода, который уже был написан сотни раз.
и имеют вручную настроенные ядра ассемблера и множество настроек поведения кеша на различных машинах.Для маленьких матриц производительность обычно не имеет значения, поскольку любой современный процессор может решить маленький матикс всего за несколько миллисекунд, даже с использованием самого простого кода. В этом случае вы используете только библиотеку, чтобы избежать написания и отладки кода, который уже был написан сотни раз.
и имеют вручную настроенные ядра ассемблера и множество настроек поведения кеша на различных машинах.Для маленьких матриц производительность, как правило, не имеет значения, поскольку любой современный процессор может решить маленький матикс всего за несколько миллисекунд, даже используя самый простой код. В этом случае вы используете только библиотеку, чтобы избежать написания и отладки кода, который уже был написан сотни раз.
Вот несколько простых указателей на удобство использования в вашей типографии . Эти вещи в основном решают проблемы удобочитаемости и доступности.
DO:
НЕЛЬЗЯ:
Математическая библиотека DotNumerics является свободным/открытым исходным проектом, написанным на C# и содержит трансляцию Lapack, Blas и Eispack на C#.