Tmv.

תבנית מטריקס / ספריית וקטור עבור C + +
הורד עכשיו

Tmv. דירוג וסיכום

פרסומת

  • Rating:
  • רישיון:
  • GPL
  • מחיר:
  • FREE
  • שם המפרסם:
  • Mike Jarvis
  • אתר האינטרנט של המוציא לאור:
  • מערכות הפעלה:
  • Mac OS X
  • גודל הקובץ:
  • 1.7 MB

Tmv. תגים


Tmv. תיאור

מטריקס תבנית / ספריית וקטור עבור C ++ TMV היא חופשי וקוד פתוח ליניארי ספריית האלגברה כי אופרטורים שימושים, נופים והערכה מתעכבת לביטויים של וקטורים ומטריצות לפשט ב- C ++. TMV מתועד היטב ויכול להתקשר מותאם בלאס / LAPACK אופציונאלי עבור זמני ביצוע מהר. הנה כמה תכונות עיקריות של "TMV": · מפעיל עומס יתר: ביטוי כמו v2 = x * מ * v1 צריך לייצר קוד נכון ומהיר. (Temporaries אין) · סוגים מורכבים: ערבוב סוגים מורכבים אמיתיים אמירה אריתמטי צריכה לשנות את החוק. · Decompositions: חטיבה צריכה מתכוונת לפתרון משוואת מטריצה, אוטומטית ביצוע LU, QR, Cholesky, או פירוק ערך יחיד לעשות זאת. · מהיר: הקוד צריך להיות מהיר עבור מטריצות גדולות. בדרך כלל, המשמעות היא קוראת בלאס שגרה LAPACK מאחורי הקלעים. · עיכוב הערכה: (הערכה aka עצלן) את v2 ביטוי = x * מ * v1 למשל inlines ישירות MultMV (x, m, v1, v2) אשר עושה את החישוב בפועל, כך שאין פגיעה בביצועים מן הקריאות של מפעילים. · תבניות: כפי שהשם TMV מציין, הסוג של האלמנטים בתוך וקטור או מטריצה היא תבנית. אז אתה יכול לקבל מטריקס, מטריקס, מטריקס, או אפילו להשתמש איזה סוג המוגדרים על ידי המשתמש (למשל. Quad עבור 16 כמה בתים בכיתה quad-דיוק) מטריקס. · צפיות: ישנם שני מתמדת ונוף משתנה לתוך וקטור או מטריצה. אז ביטויים כמו m.row (3) + = 4. * m.row (0) ו- M2 * = m.Transpose () עשו את המובן מאליו. · חלוקת מטריקס: הביטוי x = B / A יכול לשמש כדי לפתור את המשוואה מטריקס Ax = b. שיטות הפיקוח, על מנת שניתן להשתמש בהם כדי לספר את זה אשר הפירוק להשתמש כדי למצוא את הפתרון. ישנם גם שולטת להציל את הפירוק לשימוש חוזר מאוחר, ואפילו לעשות את הפירוק במקום כדי לחסוך בנפח אחסון. · גמישה אחסון: מטריצה תוכרז באחת משורות-מרכזית או עמודה-מרכזית. מטריצות Band גם לאפשר אחסון אלכסוני-מרכזי. · לאינדקס גמיש: ניתן לציין שאתה רוצה לגשת מטריצה או באמצעות אמנת C הרגילה (אינדקס מבוסס 0) או האמנה Fortran (1 מבוסס אינדקס). · כינוי בדיקה: מ לחשב חבילות מטריקס רבות * = m שגויים. TMV אוטומטי בודק אם שני אובייקטים חישוב להשתמש באותו אחסון ויוצר temporaries לפי הצורך. זה רק בודק את הכתובת של האלמנט הראשון, כך שאתה יכול עדיין לפשל. אבל רוב הזמן זה מספיק טוב. · בלאס / LAPACK: הספרייה ניתן להדר לקרוא בלאס ו / או שגרות LAPACK. אבל אם אתה לא צריך אותם, את הקוד הפנימי גם יעבוד. רוב האלגוריתמים הפנימיים הם מהר ככל LAPACK. אבל השגרה בלאס המותאמת בדרך כלל מהר יותר באופן משמעותי. אז קומפילציה עם לפחות ספריה בלאס מומלץ אם המהירות חשובה לך. מה חדש במהדורה זו: · תיקון שגיאה עם m.DivIsSet (); · תיקון בתיעוד לגבי גישת m.SVD (), במיוחד כי S הוא כעת DiagMatrix, ולא וקטור. · התנהגות שונה של שיטות כמו m.SVD (). עכשיו, אם SV לא הוגדר כבר, אז זה יהיה להגדיר את זה, ולא לתת שגיאה. · שיטה הנוסף ListInit מאתחל וקטור או מטריצה. · מעמד SmallMatrix משופר. עכשיו זה אינו נגזר GenMatrix (או אפילו BaseMatrix), ובכך להסיר את השולחן הווירטואלי. זה מאוד מזרז הרבה חישובים. אני גם מתמחה כמה שגרות עבור מטריצות 2x2 ו 3x3, כמו Det הפוכה. יחד עם זאת, כמה דברים שהיו אמורים להיות אפשרי עם SmallMatrix הם לא עכשיו. והכי חשוב, תוצאות אריתמטיים לא ניתן מופעים אוטומטיים יותר. הם צריכים להיות מוקצים למיקום שהוא SmallMatrix או מטריקס. אני גם inlined כול שגרות חלוק, ולא צריך את זה קורא שגר חלוק מטריקס הרגילה. · הוסר כמה פקודות ViewOf כי הם ברורים עם כיתוב שונה. · בעיות קבועות עם פונקציות LAPACK dstegr ו sstegr. עכשיו TMV יכול לזהות מתי stegr נכשל ולהפעיל את stedc חלופי במקום. · אפשרות התקנת scons נוסף. · נוסף היכולת להשתמש בגירסאות Fortran של בלאס ו LAPACK. · ליצור קובצי CMakeLists.txt עבור תקנות CMake. · כולל .vcproj וקבצי .vcsln עבור תקנות Visual C ++.


Tmv. תוכנה קשורה

רונין מנצל

ספריה חינם עבור רונין זה יספק מפתחי רובי עם ניצול ו payload crafting כלים פונקציונליות ...

161 99 KB

הורד