
рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ (рдПрдХ NumPy рдХреНрд▓реЛрди, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╢реБрджреНрдз рдкрд╛рдпрдерди рдореЗрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд╛рдпрдерди рдореЗрдВ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рдореЙрдбреНрдпреВрд▓ред
рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдореЗрдВ рд╣реЛрдорд╡рд░реНрдХ рдХреЛ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдорд╛рдирджрдВрдбреЛрдВ рдФрд░ рдбрд┐рдХрдореНрдкреЛрдЬрд╝рд┐рд╢рди рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдЕрдЬрдЧрд░ рдХреЛ рдЪреБрдирд╛ (рдЬреЛ рдХрд┐ рдПрдХ рдЧрд▓рддреА рдереА, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬрд╛рд╡рд╛ рдФрд░ рд╕реА / рд╕реА ++ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ) рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдореИрдВ рдиреНрдпреВрдордкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореБрдЭреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рд▓рд┐рдЦрдирд╛ рдерд╛, рдирд╛рдмрд╛рд▓рд┐рдЧреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп, рдирд┐рд░реНрдзрд╛рд░рдХ, рдЖрджрд┐ред рдкрд░рд┐рдгрд╛рдо рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд┐рдиреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред
рдореЗрд░рд╛ рд╢реБрджреНрдз рдЕрдЬрдЧрд░ рдХреЛрдб NumPy рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ, рдЬреЛ C рдФрд░ рдлреЛрд░рдЯреНрд░рд╛рди рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ (рд╕рд╛рде рд╣реА рдореЗрд░рд╛ рдХреЛрдб рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рд╣реИ)ред
MatLOL рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
- рдореЗрдЯреНрд░рд┐рд╕реЗрд╕ рдХрд╛ рдпреЛрдЧ, рдЕрдВрддрд░ рдФрд░ рдЙрддреНрдкрд╛рдж
- рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЙрддреНрдкрд╛рдж
- рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕рдВрдХреНрд░рдордг
- рд▓рдШреБ рдореИрдЯреНрд░рд┐рдХреНрд╕
- рдореИрдЯреНрд░рд┐рдХреНрд╕ рдирд┐рд░реНрдзрд╛рд░рдХ
- рдЙрд▓рдЯрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕
- рд╕рдВрдШ рдореИрдЯреНрд░рд┐рдХреНрд╕
- рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рд╕рдВрдЦреНрдпрд╛
- рдкрд╣рд▓рд╛, рджреВрд╕рд░рд╛ (рдЕрдВрддрд┐рдо рд░реВрдк рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛), рдпреВрдХреНрд▓рд┐рдбрд┐рдпрди рдФрд░ рдЕрдирдВрдд рдореИрдЯреНрд░рд┐рдХреНрд╕ рдорд╛рдирджрдВрдб
- рд╕рдореАрдХрд░рдг рдХрд╛ рд╣рд▓ AX = B
- LU рдЕрдкрдШрдЯрди
- рдЪреЛрд▓реНрд╕реНрдХреА рдЕрдкрдШрдЯрди
- рд╕реАрдбреЗрд▓ рд╡рд┐рдзрд┐
рдореИрдереЙрд▓ рдЙрджрд╛рд╣рд░рдг
рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░реЗрдВ:
рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЖрд░рдВрднреАрдХрд░рдг
matrix = mathlol() matrix.set([[1, 2, 3], [4, 5, 6], [7, -8, 9]]) matrix.get()
рдХреБрдЫ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдСрдкрд░реЗрд╢рди
matrix * 2
рд╡реИрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рд░реНрдп рд╣реИрдВ
vector = mathlol() vector.set([1, 2, 3, 4, 5]) vector.checkvector()
рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгрдореИрдереЙрд▓ рдкреНрд░рджрд░реНрд╢рди
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдПрдирдПрдХреНрд╕рдПрди рдЖрдХрд╛рд░ рдХреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдЧрддрд┐ред рдореИрдЯреНрд░рд┐рдХреНрд╕ -100 рд╕реЗ 100 рддрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рд╕реЗ рднрд░реЗ рд╣реБрдП рд╣реИрдВред
рдХреЛрдб from mathlol import mathlol import time import random import matplotlib.pyplot as plt

100x100 рд╕реЗ 1000x1000 рддрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЙрддреНрдкрд╛рдж рдХреЗ рдЖрдХрд╛рд░ рдХреА рдЧрдгрдирд╛

рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдФрд░ рдореИрдереЛрд▓ рдХреА рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЧрддрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдерд▓реЛрд▓ рдХреА рдЧрддрд┐ рдмрд╣реБрдд рдзреАрдореА рдереА рдФрд░ рдореИрдВрдиреЗ рдореИрдереНрд╕ рдХреЛ 100x100 рд╕реЗ 1000x1000 рддрдХ рдХреЗ рдЕрдВрдХ рдХреЗ рд▓рд┐рдП рдФрд░ 10x10 рд╕реЗ 100x100 рддрдХ рдореИрдереЙрд▓ рдХреЗ рд▓рд┐рдП рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

MathLOL рдиреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░реЛрдбрдХреНрдЯ 100x100 рдХреА рдЧрдгрдирд╛ 0.16 рд╕реЗрдХрдВрдб рдореЗрдВ рд╣реА рдХреА, рдФрд░ NumPy рдиреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдкреНрд░реЛрдбрдХреНрдЯ 1000x1000 рдХреА рдЧрдгрдирд╛ 0.002 (!!!) рд╕реЗрдХрдВрдб рдореЗрдВ рд╣реА рдХреАред рдЕрдВрддрд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИред
рд╣рдорд╛рд░рд╛ рдХрд╛рдо рдмрд╕ рдореИрдЯреНрд░рд┐рд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдерд╛, рдЬреЛ рд╣рдордиреЗ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдмрдбрд╝реЗ рдореИрдЯреНрд░рд┐рд╕ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд░рдо рдЙрддрдиреА рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдЬрд┐рддрдирд╛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ, рдХреБрдЫ рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЬреЛрдбрд╝реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреЙрдб рдирдВрдмрд░ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди), рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ рдпрджрд┐ рдЖрдк рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╢рд╛рдпрдж рдХреЛрдб рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рд╕рдм, рдХреЛрдб рдФрд░ рдЙрджрд╛рд╣рд░рдг
рдЧрд┐рдердм рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВред
PS рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореИрдВ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ C / C ++ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдФрд░ рдПрдореНрдмреЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдореИрдВ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреВрдВрдЧрд╛ рдФрд░ рдпрд╣ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдпрд╣ NumPy рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдХрд┐рддрдирд╛ рдХрд░реАрдм рд╣реЛрдЧрд╛ред