-
- Чтобы матрицы считать! Потеря точности происходит, когда много мелких слагаемых прибавляются к большому. При короткой мантиссе мелкие слагаемые игнорируются, хотя в сумме могли бы составить заметную величину. Проблема могла бы решиться, если Ксения(379 знак., 04.06.2012 16:15)
- я так понимаю, что это матрицы для обсчёта сферического коня? в вакууме? ибо в реальной жизни исходных данных с подобной точностью особо и не существует. Mahagam(110 знак., 04.06.2012 16:53)
- Здрассте! Разрядность нужна для суммы, а не для исходных данных. И вообще, давайте отменим uint64_t, uint32_t, uint16_t и т.д. Будем биты переключать, а не наращивать разрядность бездумно :-) - SciFi(04.06.2012 16:56)
- вы мне физический смысл такого суммирования приведите - Mahagam(04.06.2012 16:59)
- Физический смысл - расчет скалярного произведения векторов (строк и/или столбцов матрицы). Практически все матричные алгоритмы используют вычисление скалярного произведения (суммы произведений соответствующих элементов обоих векторов). Например, Ксения(266 знак., 04.06.2012 17:15)
- стопстопстоп! это всё чисто математика. вы мне _физический_ смысл таких вычислений скажите. - Mahagam(04.06.2012 17:17)
- Тогда про ЦОС (Цифровую Обработку Сигналов) почитайте в Википедии :). Там очень много алгоритмов, использующих матричные операции. Наиболее частая из них - цифровая фильтрация, где требутся быстро (очень быстро, если режим реального времени!) Ксения(243 знак., 04.06.2012 17:26)
- цифровая фильтрация чего??? каких исходных данных?? вот в чём вопрос. и куда оно потом будет выплёвываться - Mahagam(04.06.2012 17:42)
- Похоже, Ксения пытается вычислить QR-разложение матрицы => USSR(409 знак., 04.06.2012 18:34, )
- по науке это называется "плохо обусловленные матрицы", возникают они где угодно. во всяких GPS (диференциальных, фазовых и т.п. ибо в дубовом СА вообще ненужно флоат) это например, когда GDOP плохой. вот физический, даже ыыыы(70 знак., 04.06.2012 18:29, )
- и где там сложение больших и малых чисел? - Mahagam(04.06.2012 19:02)
- цифровая фильтрация чего??? каких исходных данных?? вот в чём вопрос. и куда оно потом будет выплёвываться - Mahagam(04.06.2012 17:42)
- Тогда про ЦОС (Цифровую Обработку Сигналов) почитайте в Википедии :). Там очень много алгоритмов, использующих матричные операции. Наиболее частая из них - цифровая фильтрация, где требутся быстро (очень быстро, если режим реального времени!) Ксения(243 знак., 04.06.2012 17:26)
- стопстопстоп! это всё чисто математика. вы мне _физический_ смысл таких вычислений скажите. - Mahagam(04.06.2012 17:17)
- Это к Ксении. Мне uint32_t хватает :-) - SciFi(04.06.2012 17:00)
- Физический смысл - расчет скалярного произведения векторов (строк и/или столбцов матрицы). Практически все матричные алгоритмы используют вычисление скалярного произведения (суммы произведений соответствующих элементов обоих векторов). Например, Ксения(266 знак., 04.06.2012 17:15)
- вы мне физический смысл такого суммирования приведите - Mahagam(04.06.2012 16:59)
- Здрассте! Разрядность нужна для суммы, а не для исходных данных. И вообще, давайте отменим uint64_t, uint32_t, uint16_t и т.д. Будем биты переключать, а не наращивать разрядность бездумно :-) - SciFi(04.06.2012 16:56)
- The x86 and x86-64 and Itanium processors support an 80-bit "double extended" extended precision format with a 64-bit significand. => USSR(47 знак., 04.06.2012 16:47, )
- "80-bit double" любой комп тянет, т.к. это один из родных типов старого FPU, тогда как SSE так не умеет. Проблема с 80-ти битами другая - числа не выравнивается по границе 32/64 байта, из-за чего MS Visual C этот тип данных не поддерживает. А Ксения(42 знак., 04.06.2012 16:55)
- gcc не спасёт? - Mahagam(04.06.2012 16:57)
- Не в компиляторе дело, тем более что я на ассемблере скалярные произведения считаю. Ошибка нарастает при длинных векторах. До какой-то величины сумма накапливается, а после новые слагаемые игнорит. По идее хорошо было бы не всё в одном сумматоре Ксения(396 знак., 04.06.2012 17:08)
- Что вы там за велосипеды на ассемблере изобретаете? Гцц с флоат128 даёт честные 112разрядов мантиссы. И вся математика под этот тип есть. - quadmath(04.06.2012 23:21, )
- GCC лишь эмулирует 128-битную арифметику, а я мечтаю об аппаратной. - Ксения(05.06.2012 01:19)
- Тогда от 6 штук $ без налогов в US всё удовольствие. - power7(05.06.2012 03:20, )
- GCC лишь эмулирует 128-битную арифметику, а я мечтаю об аппаратной. - Ксения(05.06.2012 01:19)
- In addition, the size of a "long double" also varies by operating system. On Windows, the size is 8 bytes by default. On Linux or Mac OS X, 10 bytes are used for the representation of a long double, although the allocated size may be USSR(482 знак., 04.06.2012 17:19, )
- Что вы там за велосипеды на ассемблере изобретаете? Гцц с флоат128 даёт честные 112разрядов мантиссы. И вся математика под этот тип есть. - quadmath(04.06.2012 23:21, )
- Не в компиляторе дело, тем более что я на ассемблере скалярные произведения считаю. Ошибка нарастает при длинных векторах. До какой-то величины сумма накапливается, а после новые слагаемые игнорит. По идее хорошо было бы не всё в одном сумматоре Ксения(396 знак., 04.06.2012 17:08)
- gcc не спасёт? - Mahagam(04.06.2012 16:57)
- "80-bit double" любой комп тянет, т.к. это один из родных типов старого FPU, тогда как SSE так не умеет. Проблема с 80-ти битами другая - числа не выравнивается по границе 32/64 байта, из-за чего MS Visual C этот тип данных не поддерживает. А Ксения(42 знак., 04.06.2012 16:55)
- я так понимаю, что это матрицы для обсчёта сферического коня? в вакууме? ибо в реальной жизни исходных данных с подобной точностью особо и не существует. Mahagam(110 знак., 04.06.2012 16:53)
- +1. Где это применяется? - SciFi(04.06.2012 16:01)
- Чтобы матрицы считать! Потеря точности происходит, когда много мелких слагаемых прибавляются к большому. При короткой мантиссе мелкие слагаемые игнорируются, хотя в сумме могли бы составить заметную величину. Проблема могла бы решиться, если Ксения(379 знак., 04.06.2012 16:15)