תורת הקודים – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
מ ←קודים ליניאריים: -תוספת קטנה |
|||
שורה 16:
===קודים ליניאריים===
באופן מפתיע, חלק גדול מהקודים הטובים (מבחינת גודל הקוד ומרחקו), הם דווקא קודים שמוגבלים על ידי עוד דרישה- הדרישה שהקוד יהיה [[מרחב וקטורי]], קודים כאלו
כדי לומר שקוד מסוים הוא מרחב וקטורי, צריך לפני הכל להגדיר בין מילות הקוד פעולות של חיבור וכפל בסקלר. לשם כך קובעים שאוסף האותיות שמהן מורכבות מילות הקוד יהיה [[שדה (מבנה אלגברי)|שדה]], ואפילו [[שדה סופי]]. אם נסמן את מספר האותיות של הקוד ב- q נקבל שתנאי הכרחי לכך שהקוד יהיה קוד לינארי הוא ש- q יהיה חזקה של [[מספר ראשוני]] (ראו בערך על [[שדה סופי|שדות סופיים]]). המקרה הנפוץ ביותר כיום הוא של קודים בינאריים - שמכילים רק את הספרות 0 ו-1, שבהם מספר האותיות הוא q=2, מספר ראשוני בעצמו.
אחרי שנזהה את אותיות הקוד עם איברי השדה בן q אברים נקבל זיהוי של הקוד עצמו עם תת קבוצה של המרחב הוקטורי <math>\mathbb{F}_q ^n</math>, כאשר <math>\mathbb{F}_q</math> הוא השדה שמזוהה עם אותיות הקוד, ו-n הוא אורך כל מילה בקוד. בצורה הזו מוגדרים חיבור וכפל בסקלר על איברי C, ולכן ניתן לשאול האם C הוא מרחב וקטורי מעל <math>\mathbb{F}_q</math> או לא. אם הוא מרחב וקטורי- אז הוא קוד לינארי. בקודים לינאריים נהוג לציין את [[ממד (אלגברה)|ממד]] הקוד כמרחב וקטורי, ולא את מספר המילים שבקוד (שהוא q בחזקה הממד).
היתרון הגדול של קודים לינאריים על פני קודים רגילים הוא בפשטות שלהם- כל המידע של הקוד (אלו מילים נמצאות בקוד ואלו לא), טמון בקבוצה קטנה שהיא ה[[בסיס (אלגברה)|בסיס]] של הקוד. ניתן לקחת בסיס של הקוד ולסדר אותו ב[[מטריצה]]. מטריצה זו נקראת מטריצה יוצרת כיוון שניתן ליצור את כל מילות הקוד על ידי הכפלת וקטור במטריצה הזו.
==ראו גם==
[[קוד תיקון שגיאות]]
|