תורת הקודים – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מ ←‏קודים ליניאריים: -תוספת קטנה
שורה 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 בחזקה הממד).
 
היתרון הגדול של קודים לינאריים על פני קודים רגילים הוא בפשטות שלהם- כל המידע של הקוד (אלו מילים נמצאות בקוד ואלו לא), טמון בקבוצה קטנה שהיא ה[[בסיס (אלגברה)|בסיס]] של הקוד. ניתן לקחת בסיס של הקוד ולסדר אותו ב[[מטריצה]]. מטריצה זו נקראת מטריצה יוצרת כיוון שניתן ליצור את כל מילות הקוד על ידי הכפלת וקטור במטריצה הזו.
 
==ראו גם==
[[קוד תיקון שגיאות]]