рдЕрдм рдЬрдмрдХрд┐ рд╣рдо one
рдФрд░ oneunit
рдЕрдВрддрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ ones(T, sz)
рдПрдХ рдорд┐рдереНрдпрд╛ рдирд╛рдо рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред fill(oneunit(T), sz)
рдкрдХреНрд╖ рдореЗрдВ рдкрджрд╛рд╡рдирдд рдХрд░реЗрдВ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рд╣рдореЗрдВ zeros
рднреА рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП?
xref https://github.com/JuliaLang/julia/issues/11557#issuecomment -339776065 рдФрд░ рдиреАрдЪреЗ, рдФрд░ @ Sacha0 рдХрд╛ PR #24389 рднреА
рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рдЖрд╢рдп рдХрд╛ рдХрд╛рд░реНрдп рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдЧрд▓реЗ рдпрд╛ рджреЛ рджрд┐рдиреЛрдВ рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реВрдВ :)ред рд╢реНрд░реЗрд╖реНрда!
рдореЗрд░реЗ рд▓рд┐рдП fill(oneunit(T), sz)
рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрдардиреАрдпрддрд╛ рдореЗрдВ рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рд╣рд╛рдирд┐ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ ones(T, sz)
ред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рд╢рд╛рдпрдж рд╣реА рдХрднреА fill(oneunit(T), sz)
рд░реВрдк рдореЗрдВ рд╡рд░реНрдмреЛрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдорддреМрд░ рдкрд░ oneunit(T)
рд╕реНрдерд╛рди рдкрд░ рдПрдХ рд╢рд╛рдмреНрджрд┐рдХ рдпрд╛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХреЙрдореНрдкреИрдХреНрдЯ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рд╕рд░рдгреА рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реЛрдВ рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЫреЛрдЯреЗ рдордВрддреНрд░ рднреА рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк fill
рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕рдХреЗ рд╢реМрдХреАрди рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдореИрдВ рдЖрдкрдХреЛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ :)ред рд╢реНрд░реЗрд╖реНрда!
рд╣рдо рд╕рд┐рд░реНрдл рдпрд╣ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ ones
one
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдпрд╛ oneunit
ред ones
рдФрд░ zeros
рдХреЛ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛рд░реНрдп рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рддрдм рддрдХ рдареАрдХ рд╣реИ рдЬрдм рддрдХ рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдЕрд░реНрде рд╣реИрдВред
рдкреНрд░рддрд┐ рдЯреНрд░рд╛рдЗрдПрдЬ рдпреЛрдЬрдирд╛: рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдлрд┐рд░ рд╕реЗ рджреЗрдЦреЗрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ ones
рдФрд░ zeros
рдХреЛ MATLAB рд╕рдВрдЧрддрддрд╛ рдкрд░рдд рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рдЖрдзрд╛рд░ рдореЗрдВ fill
рдкрдХреНрд╖ рдореЗрдВред рд╢реНрд░реЗрд╖реНрда!
ones
рдФрд░ oneunits
рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдЕрдВрддрд░ рдХрд░реЗрдВрдЧреЗред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдФрд░ zeros
рдХреЛ MATLAB рд╕рдВрдЧрддрддрд╛ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕рд╛ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реВрдВред рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдореИрдерд╡рд░реНрдХреНрд╕ рдиреЗ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ рдПрдкреАрдЖрдИ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╣рдореЗрдВ рдЧрд░реНрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ - рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рдХрд╛рд░рдг рдереЗ? (рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдпрд╣ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЬрдм рддрд░реНрдХ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЯреНрд░рд╛рдЗрдПрдЬ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рдлреА рдХрдо рдкрд╛рд░рджрд░реНрд╢реА рд╣реЛрддрд╛ рд╣реИ)ред
рдпрд╣ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рд░реЛрдорд╛рдВрдЪрд┐рдд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдЙрдард╛рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдЕрд╕рдВрдЧрддрд┐ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдХрд┐ ones(T, sz)
рдЕрд░реНрде рд╣реИ fill(one(T), sz)
рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╣реБрдб рдХреЗ рддрд╣рдд рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ fill(oneunit(T), sz)
ред
рдПрдХ рд╡рд┐рдХрд▓реНрдк рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ oneunits
ред рдПрдХ рд╡рд┐рдХрд▓реНрдк рдПрдХ рднрдпрд╛рдирдХ рд╕реНрд╡реИрдк рдХрд░рдирд╛ рд╣реЛрдЧрд╛: one
-> algebraic_one
рдФрд░ oneunit
-> one
ред рдпрд╣ рддреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ рдмрд╣рд┐рд╖реНрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ "рднрдпрд╛рдирдХ" рдХрд╣рддрд╛ рд╣реВрдВред
рд╣рд╛рдВ, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ oneunits
рдЬреЛрдбрд╝рдирд╛ рдФрд░ ones
рдХреЛ fill(one(T), ...)
рджреЗрдирд╛ рдЙрд╕рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛, рдирд╣реАрдВ?
рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдареАрдХ рд░рд╣реВрдВрдЧрд╛ред рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╕реЗ рдмрд╛рд╣рд░, рдХреЗ рдЙрдкрдпреЛрдЧ рдХреНрдпрд╛ рд╣реИрдВ fill(one(T), sz)
? рдХреНрдпрд╛ рд╣рдореЗрдВ ones
рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рд╣рд╛рд╣рд╛ :) рдореИрдВ рдкреВрдЫрдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛ - рдЖрдк fill(oneunits(T), sz)
рдЙрдкрдпреЛрдЧ рдХрд┐рд╕ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ? (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 1 рдореАрдЯрд░, рдпрд╛ 1 рдХрд┐рд▓реЛрдЧреНрд░рд╛рдо, рдпрд╛ 1 рд╕реЗрдХрдВрдб рд╕реЗ рднрд░реА рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?)
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ fill(one(T), sz)
рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕реА рдХрд╛рд░рдг рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ zeros(T, sz)
, рдЬреЛ рдХрд┐ рдХрд╕реНрдЯрдо рдХрдореА-рдкреНрд░рдХрд╛рд░-рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рдгреА рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╣реИред рдПрдХ рд╕рд░рдгреА z = zeros(T, sz)
рдЗрд╕рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ z[i] += x
рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ рдЬрдмрдХрд┐ o = fill(one(T), sz)
рдЗрд╕рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ o[i] *= x
ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рд╕рд░рдгреА рддрддреНрд╡ (рд╕рд╛рдкреЗрдХреНрд╖) рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрди рджреЛ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдореИрдВ рдХреНрд░рдорд╢рдГ +
рдпрд╛ *
рдСрдкрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдкрд╣рдЪрд╛рди рдвреВрдВрдв рд░рд╣рд╛ рд╣реВрдВ (рдФрд░ рдПрдбрд┐рдЯрд┐рд╡ рдЬреЗрдирд░реЗрдЯрд░ рдирд╣реАрдВ)ред
рдпрд╣ рднреА рджреЗрдЦреЗрдВ #23544
рд╣рд╛рд╣рд╛ :) рдореИрдВ рдкреВрдЫрдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛ - рдЖрдк fill(oneunits(T), sz) рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ? (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 1 рдореАрдЯрд░, рдпрд╛ 1 рдХрд┐рд▓реЛрдЧреНрд░рд╛рдо, рдпрд╛ 1 рд╕реЗрдХрдВрдб рд╕реЗ рднрд░реА рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?)
рдПрдХ ODE рдХреЗ рд▓рд┐рдП рдЖрд╢реНрд░рд┐рдд рдЪрд░ред рдпрд╣ рдЕрдЬреАрдм рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк T
рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдкреВрдЫреЗ рдЬрд╛рдиреЗ рдкрд░ рдЗрдХрд╛рдЗрдпреЛрдВ рдХрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдХрдЯрд╛ рд╣реБрдЖ рд╣реЛ?
fill
рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА, рдСрд░реНрдереЛрдЧреЛрдирд▓, рдХрдВрдкреЛрдЬрд╝реЗрдмрд▓ рдЯреВрд▓ рдХрд╛ рдПрдХ рддрдВрдЧ рд╕реЗрдЯ ones
/ zeros
рдЬреИрд╕реЗ рддрджрд░реНрде, рд╕реАрдорд┐рдд рдФрд░ рдЕрддрд┐рд╡реНрдпрд╛рдкреА рдЯреВрд▓ рдХреЗ рдмрдбрд╝реЗ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдмреЗрд╣рддрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред trues
/ falses
ред рдКрдкрд░ рдХреА рдЪрд░реНрдЪрд╛ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рддреА рд╣реИ: рдЬрдмрдХрд┐ fill
рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ (рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рдореЗрдВ) рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, ones
/ zeros
/ trues
/ falses
рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдП рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЖрдзрд╛рд░ рдореЗрдВ рдкреБрдирд░реНрд▓реЗрдЦрди рд╕реЗ рдХреБрдЫ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЙрджрд╛рд╣рд░рдг:
complex.(ones(size(Ac, 1)), ones(size(Ac, 1)))
рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
fill(1.0 + 1.0im, size(Ac, 1))
рддрдерд╛
2ones(Int, 2, 2, 2)
рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
fill(2, (2, 2, 2)) # or fill(2, 2, 2, 2) if you prefer
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпреЗ fill
рдЕрдкрдиреЗ рдЧреИрд░- fill
рд╕рдордХрдХреНрд╖реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рд░рд▓, рдЕрдзрд┐рдХ рдкрдардиреАрдп, рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИрдВ, рдФрд░ base/
рдФрд░ test/
рд╣реИрдВ рдРрд╕реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рднрд░рд╛ рдкрдбрд╝рд╛ рд╣реИред рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде, fill
рд╕рдВрдХреНрд░рдордг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдирд╕рд┐рдХ рд╕рдорд╛рдпреЛрдЬрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рд╕рдорд╛рдпреЛрдЬрди рдХреЗ рдмрд╛рдж рдЖрдк рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдкрд░ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐ рдФрд░ рд▓рд╛рд▓рд┐рддреНрдп рд╣реИ :)ред рд╢реНрд░реЗрд╖реНрда!
@ Sacha0: trues
/ falses
рд╕реАрдзреЗ рд╕реЗ рдмрджрд▓реА рдирд╣реАрдВ рд╣реИрдВ fill
, рд▓реЗрдХрд┐рди рдЬрд░реВрд░рдд рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП fill!
рдПрдХ рд╕рд╛рде BitArray
рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛ред рд╡реЗ one
рдФрд░ oneunit
рдмреАрдЪ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдореЗрдВ рднреА рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡реЗ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдлрд┐рдЯ рдмреИрдарддреЗ рд╣реИрдВред
ones
, рдореИрдВ рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рд░реЛрдз рдХрд░рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рдпрд╣ рддрд░реНрдХ рдХрд┐ рдХреБрдЫ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ fill
рд╕рд╛рде рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдмрд╣реБрдд рд╕рдореНрдореЛрд╣рдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдг ones
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рдФрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордзреНрдпрд╡рд░реНрддреА рдЪрд░рдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ; рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдлрд┐рд░ fill
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд▓рдВрдмрд╛, рдХрдо рд╕реНрдкрд╖реНрдЯ рдФрд░ рдЕрдзрд┐рдХ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИред рдореБрдЭреЗ @JeffBezanson рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рд╣реИрдВ base
рдпрд╛ test
рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ fill
рдХреЗ рдмрдЬрд╛рдп ones
рдХрд┐ рдЕрднреА рдХреБрдЫ рднреА рдирд╣реАрдВ рд░реЛрдХ рд░рд╣рд╛ рд╣реИред
@carlobaldassi рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИ, рдПрдХ рддреНрд╡рд░рд┐рдд рдЧрд┐рдЯрд╣рдм рдЦреЛрдЬ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдордзреНрдпрд╡рд░реНрддреА рдЖрд╡рдВрдЯрди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП ones
рд▓рдЧрднрдЧ рд╕рднреА рдЙрдкрдпреЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ fill
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ...
рдЗрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП fill
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо ones
рдЖрджрд┐ рдХреА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ fill(x, A) = fill!(x, copymutable(A))
рд╡рд┐рдзрд┐ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
@TotalVerb рдЙрд╕ рдЦреЛрдЬ рдХреЗ рдкрд╣рд▓реЗ 10 рдкреГрд╖реНрдареЛрдВ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рд╕реНрдХрд┐рдо рд╕реЗ, рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ "рд▓рдЧрднрдЧ рд╕рднреА" рдПрдХ рдЙрдЪрд┐рдд рдореВрд▓реНрдпрд╛рдВрдХрди рд╣реИред рдПрдХ "рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрд╢", рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ред рд╡рд╣рд╛рдВ ones
рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡реИрдз рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ, рд╢рд╛рдпрдж рдмрд╣реБрдордд рднреА (рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╡реЗ рд╕рд┐рд░реНрдл 20% рдХрд╣рддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рддрд░реНрдХ рдЕрднреА рднреА рдЦрдбрд╝рд╛ рд╣реИ)ред
(рдореИрдВ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрдардиреАрдпрддрд╛ рдмрд╣рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд░рдХреНрд╖рдг рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджрд╛рд╡рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрджрд┐рдЧреНрдз рд╣реИ рдХрд┐ рдЬреИрд╕реЗ fill(2, 2, 2, 2)
рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдардиреАрдп рд╣реИ 2 * ones(Int, 2, 2, 2)
, рдпрд╛ рдХрд┐, рдХрд╣рддреЗ рд╣реИрдВ, fill(k * 1.0, 3)
рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ k * ones(3)
рд╕реЗ рдкрдардиреАрдп; рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЖрд╢реНрд╡рд╕реНрдд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЖрджрдд рдХреА рдмрд╛рдд рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рдЫреЛрдЯреА рд╕реА рдмрд╛рдд рд╣реИред)
рдЯреНрд░реВ/рдлреЙрд▓реНрд╕ рдХреЛ рдлрд┐рд▓ рджреНрд╡рд╛рд░рд╛ рд╕реАрдзреЗ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ! рдмрд┐рдЯрдЕрд░реЗ рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рдеред рд╡реЗ рдПрдХ рдФрд░ рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рдмреАрдЪ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдореЗрдВ рднреА рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡реЗ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдлрд┐рдЯ рдмреИрдарддреЗ рд╣реИрдВред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, trues
рдФрд░ falses
рд╕реАрдзреЗ fill
:) рд╕реЗ рдмрджрд▓рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, trues
рдФрд░ falses
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ / #11557 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ (рдФрд░ рд╕рд░рдгреА рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реЛрдВ рдХреА рд╣рд╛рд▓рд┐рдпрд╛ рджрд┐рд╢рд╛ рдЙрдореНрдореАрдж рд╕реЗ рдирд┐рдкрдЯреЗрдЧреА)ред рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреИрд╕реЗ bones
, bzeros
, brand
, brandn
, рдФрд░ beye
BandedMatrices.jl рдореЗрдВ рдФрд░ рд╕рдордХрдХреНрд╖реЛрдВ рдХреЗ рд╕рд╛рде a d
DistributedArrays.jl рдореЗрдВ рдЙрдкрд╕рд░реНрдЧред
рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рд░реЛрдз рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореБрдЭреЗ рд▓рд╛рдн рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рдпрд╣ рддрд░реНрдХ рдХрд┐ рдХреБрдЫ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рднрд░рдг рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдмрд╣реБрдд рд╕рдореНрдореЛрд╣рдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдХреБрдЫ рдФрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордзреНрдпрд╡рд░реНрддреА рдЪрд░рдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
рдЖрдзрд╛рд░ рдореЗрдВ ones
рдХреБрдЫ рд╕реМ рдЙрдкрдпреЛрдЧреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ @TotalVerb рдХреЗ рдХрдерди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ
рдПрдХ рддреНрд╡рд░рд┐рдд рдЧрд┐рдЯрд╣рдм рдЦреЛрдЬ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдордзреНрдпрд╡рд░реНрддреА рдЖрд╡рдВрдЯрди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рд╕рднреА рдЙрдкрдпреЛрдЧреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднрд░рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ...
(рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рд▓рдЧрднрдЧ рд╕рднреА рдХреЗ рдмрдЬрд╛рдп рд▓рдЧрднрдЧ рдЖрдзрд╛ рдХрд╣реВрдВрдЧрд╛, рдФрд░ рдЙрдкрдпреБрдХреНрдд рдкреБрдирд░реНрд▓реЗрдЦрди fill
рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред) рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрд╕ рдкреБрдирд░реНрд▓реЗрдЦрди рдЕрдиреБрднрд╡ рдиреЗ рдореБрдЭреЗ рд╕рд┐рдЦрд╛рдпрд╛ рд╣реИ ...
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдлрд┐рд░ рднрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд▓рдВрдмрд╛, рдХрдо рд╕реНрдкрд╖реНрдЯ рдФрд░ рдЕрдзрд┐рдХ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛрддрд╛ рд╣реИред
... рджреВрд╕рд░реА рдУрд░, рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ fill
рдЕрдХреНрд╕рд░ рдЫреЛрдЯрд╛ рдФрд░ рд╕рд░рд▓ рд╣реЛрддрд╛ рд╣реИ: рдЕрдиреБрд░реЛрдзрд┐рдд рд▓реЛрдЧ рдЕрдХреНрд╕рд░ Float64
рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ (рдЗрд╕рдХреЗ рдмрдЬрд╛рдп ones(Int, n...)
рдФрд░ ones(Complex{Float64}, n...)
), рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ fill
рдПрдХ рд╢рд╛рдмреНрджрд┐рдХ (рдЬреИрд╕реЗ fill(1, n...)
рдФрд░ fill(1.0 + 0im, n...)
) рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдХреЗ рдЫреЛрдЯрд╛ рдФрд░ рд╕рд░рд▓ рд╣реИред рдорд╛рдкрдиреЗ рдпреЛрдЧреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЬрд┐рд╕ рд╢рд╛рдЦрд╛ рдореЗрдВ рдореИрдВ рдЖрдзрд╛рд░ рдореЗрдВ ones
рдХреЙрд▓ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ ones
-> fill
рдкреБрдирд░реНрд▓реЗрдЦрди рд╕реЗ рд╡рд░реНрдг рдЧрдгрдирд╛ рд╕реЗ ~5% рдХрдо рд╣реИред рд╢реНрд░реЗрд╖реНрда!
рдЬрдВрдЧрд▓реА рдореЗрдВ ones
рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдПрдХ рдЙрджреНрджреЗрд╢реНрдпрдкреВрд░реНрдг рдЕрд░реНрде рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЬреВрд▓рд┐рдпрд╛ рдХреЛрдб рдореЗрдВ ones
рд▓рд┐рдП GitHub рдЦреЛрдЬ рдХреЗ рдкрд╣рд▓реЗ рджрд╕ рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рднреА ones
рдХреЙрд▓ рдПрдХрддреНрд░ рдХреА, рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдХреЛ рдЙрдкрдпреБрдХреНрдд рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ( рдЗрд╕ рд╕рд╛рд░ рдХреЛ рджреЗрдЦреЗрдВ), рдФрд░ рдлрд┐рд░ рд╡рд░реНрдЧреАрдХрд░рдг рдбреЗрдЯрд╛ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рд░рд╛рдВрд╢ рдореЗрдВ рдШрдЯрд╛ рджрд┐рдпрд╛:
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ 156 ones
рдХреЙрд▓ рд╢рд╛рдорд┐рд▓ рдереЗред рдЙрди рдХреЙрд▓реЛрдВ рдореЗрдВ рд╕реЗ,
84 рдХреЙрд▓ (~54%) рддрджрд░реНрде fill
рдПрд╕ рдереЗред (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ones(100)/sqrt(100)*7
рд╕рд░рд▓реАрдХреГрдд рд╣реЛрдХрд░ fill(7/sqrt(100), 100)
рдпрд╛, рдмреЗрд╣рддрд░ рдЕрднреА рддрдХ, fill(.7, 100)
ред рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ kron(0.997, ones(1, J*J*s)
-> fill(0.997, 1, J*J*s)
ред)
3 рдХреЙрд▓ (~2%) рддрджрд░реНрде рдкреНрд░рд╕рд╛рд░рдг рдереЗред (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, A - ones(n,n)
A .- 1.
рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред)
5 рдХреЙрд▓ (~3%) рддрджрд░реНрде рд╕рджрд┐рд╢ рд╢рд╛рдмреНрджрд┐рдХ рдереЗред (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ones(1)
рд╕рд░рд▓реАрдХреГрдд рд╣реЛрдХрд░ [1.]
ред)
1 рдХреЙрд▓ (~ 0.5%) рд╢рдмреНрджрд╛рд░реНрде рд░реВрдк рд╕реЗ рдПрдХ рдЬрдВрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдирд┐рд░реНрдорд╛рдг рдерд╛ред (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрдВрдЧрд▓реА рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдпрд╣ рдкреИрдЯрд░реНрди test/
рдореЗрдВ рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдкреНрд░рд╛рд░рдВрднреАрдХреГрдд Array
s рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕реБрд╡рд┐рдзрд╛ рдирд┐рд░реНрдорд╛рддрд╛ рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП <strong i="32">@test_throws</strong> DimensionMismatch BLAS.trsv(...,Vector{elty}(n+1))
рдмрдирд╛рдо <strong i="34">@test_throws</strong> DimensionMismatch BLAS.trsv(...,ones(elty,n+1))
ред)
рд╢реЗрд╖ рдХреЙрд▓ ones
рд░реВрдк рдореЗрдВ рдЕрд░реНрдердкреВрд░реНрдг рд░реВрдк рд╕реЗ рдЙрдЪрд┐рдд рдереЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдХреНрд╕рд░ ones
рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЫреЛрдЯрд╛ рд╣реИ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ one
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рдЙрди рд╢реЗрд╖ рдХреЙрд▓реЛрдВ рдореЗрдВ рд╕реЗ,
13 рдХреЙрд▓ (~8%) fill
рдЬрд┐рддрдиреА рдЫреЛрдЯреА рдереАрдВред (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ones(Int, n, n)
-> fill(1, n, n)
рдпрд╛ ones(Float64, n)
-> fill(1., n)
ред)
50 рдХреЙрд▓ (~32%) fill
рдЬрд┐рддрдиреА рд▓рдВрдмреА рдереАрдВред (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ones(n, n)
-> fill(1., n, n)
ред)
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдЬрдВрдЧрд▓реА ~ ones
рдХреЙрд▓реЛрдВ рдореЗрдВ рд╕реЗ 60% рдХрд┐рд╕реА рдФрд░ рддрд░рд╣ рд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, ~ 8% рд╢рдмреНрджрд╛рд░реНрде рд░реВрдк рд╕реЗ ones
рдФрд░ fill
рд░реВрдк рдореЗрдВ рдереЛрдбрд╝реЗ рдЫреЛрдЯреЗ рд╣реИрдВ, рдФрд░ ~32% рд╣реИрдВ рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ ones
рдФрд░ fill
рд░реВрдк рдореЗрдВ рдереЛрдбрд╝рд╛ рд▓рдВрдмрд╛ред
рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд╡рд▓реЛрдХрди:
рдореБрдЭреЗ рдПрдХ рд╕рд░рдгреА рддрд░реНрдХ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ ones
рдХреЙрд▓ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛ рдХрд┐ рд╕рдВрд▓рдЧреНрди рд╕реНрдирд┐рдкреЗрдЯ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рдерд╛ рдпрд╛ рдирд╣реАрдВред рддреЛ ones
рд╕рд░рдгреА рддрд░реНрдХ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐рдпрд╛рдВ рдЬрдВрдЧрд▓реА рдореЗрдВ рдХреЛрдИ рдЙрдкрдпреЛрдЧ рд╣реЛрдиреЗ рдкрд░ рдмрд╣реБрдд рдХрдо рджрд┐рдЦрддреА рд╣реИрдВред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдЪрд░реНрдЪрд╛ ... рд╡рд┐рдкрд░реАрдд рдкрдХреНрд╖ рд╕реЗ рдкрдХреНрд╖ рдХреА рдУрд░ рд╕реЗ рдЪрд▓реА рдЧрдИ ... рд╕рд╛рде рд╣реА рдПрдХ рдЕрдиреНрдп рднрд╛рд╖рд╛ рдорд┐рд╕рд╛рд▓ рдХреЗ рд░реВрдк рдореЗрдВ, R rep
рдФрд░ matrix
рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░рддрд╛ рд╣реИ рдЬреЛ fill
рдмрд░рд╛рдмрд░ рд╣реИ
рд╡рд╛рд╣, рдЙрд╕ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП @ Sacha0 рдзрдиреНрдпрд╡рд╛рдж!
рдкреНрд░рд╢реНрди рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ " zeros
рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛" рдЙрдарддрд╛ рд╣реИ? рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХрд╛рдлреА рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рд╣реЛрдЧрд╛, рдФрд░ рдЙрдкрдпреЛрдЧ рдХреА рдХреБрдЫ рдФрд░ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ ("рдореБрдЭреЗ рдмрд╕ рдЕрдкреНрд░рд╛рд░рдВрднреАрдХреГрдд рд╕рд░рдгрд┐рдпреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рд╣реИ" рдпрд╛ "рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ Array
рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ ")ред
рдЬреЛ рднреА рдХрд╛рд░рдг (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдорд░реВрдкрддрд╛ рд╣реИ one
рдФрд░ zero
), рдореИрдВ рдХреБрдЫ рд╣рдж рддрдХ рдпрд╛ рддреЛ рджреЛрдиреЛрдВ рдЬрдЧрд╣ рдХреА рдУрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ ones
рдФрд░ zeros
рдХреЗ рд╕рд╛рде fill
, рдпрд╛ рди рд╣реАред
рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреНрд░рддреАрдд рд╣реЛрдВрдЧреЗ:
0I
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╕рдордЭрддреЗ рд╣реИрдВредрд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдШрдиреЗ рд╢реВрдиреНрдп рдХреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред
рдпрд╣ рд╢рд╛рдпрдж рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдЪ рд╣реИред рд╕рдВрдХрд▓рдХ рдФрд░ рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдкрд░ рдореЗрд░реЗ рдХрд╛рдо рдореЗрдВ рд╢реВрдиреНрдп-рдЖрд░рдВрднрд┐рдХ рд╕рдВрдЧреНрд░рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдирд╛ рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЕрдХреНрд╕рд░ рд╡рд┐рд░рд▓ рд╣реЛрдВ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рднрд╛рд╡ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред
рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ - рдХрднреА-рдХрднреА рдЖрдк рдШрдирддреНрд╡ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рд╛рджрдЧреА рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдЯреНрд░рд╛рдЗрдПрдЬ: рд╣рдордиреЗ рд╕рдВрдХрд▓реНрдк рд▓рд┐рдпрд╛ рдХрд┐ рд╣рдо рдХреЗрд╡рд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧреИрд░-рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рдпрд╛рдиреА zeros(dims...)
рдФрд░ ones(dims...)
рдФрд░ рд╢рд╛рдпрдж zeros(dims)
рдФрд░ ones(dims)
рднреА рд░рдЦрддреЗ рд╣реИрдВред
@StefanKarpinski рдЙрдкрдпреЛрдЧ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдХреЗ рд▓рд┐рдП zeros(3, 3)
рд╕реЗ рдЕрдзрд┐рдХ fill(0.0, 3, 3)
рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░реЗрдВрдЧреЗ (рдЬрдм рдПрдХ рдШрдиреЗ рд╕рд░рдгреА рдЖрджрд┐ рдЖрджрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ)? рджрдХреНрд╖рддрд╛ рдЖрджрд┐ рдХреЗ рдХреБрдЫ рд╡рд┐рд╡рд░рдг рдореЗрд░реА рдкрд╣реБрдВрдЪ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВ, рдореИрдВ рдмрд╕ рдпрд╣реА рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдЬреВрд▓рд┐рдпрд╛ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП рд╕рд░реНрд╡реЛрддреНрддрдо/рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░ рдкреНрд░рдерд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд╕рд┐рдЦрд╛рдКрдВрдЧрд╛ред
рдпрд╣ рдирд┐рд░реНрдгрдп рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд▓рдЧрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд╛рдорд╛рдиреНрдпрддрд╛ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЗрддрдирд╛ рд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рдкреАрдЫреЗ рдХреНрдпрд╛ рддрд░реНрдХ рд╣реИ? рдХреНрдпрд╛ рдРрд╕рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдореИрдЯрд▓реИрдм рд╕реЗ рдЖрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ (рдФрд░ рдХреЗрд╡рд▓ рдлреНрд▓реЛрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)?
рдЯреНрд░рд╛рдЗрдПрдЬ: рд╕рдВрдХрд▓реНрдк рдХрд┐рдпрд╛ рдХрд┐ рд╣рдо рдХреЗрд╡рд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧреИрд░-рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд░рдЦрддреЗ рд╣реИрдВ
рдкреАрдЫреЗ рдХреНрдпрд╛ рддрд░реНрдХ рд╣реИ?
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрдпрд╛ рдпрд╣ рдореБрджреНрджрд╛ рдХрд┐рд╕реА рддрд░рд╣ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдЕрднреА рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдпрд╣ рдХреИрд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИ? рдпрд╛, рдХреНрдпрд╛ рд╣рдо рдирд┐рд░реНрдпрд╛рдд рдХреА рдЧрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ Base
рд╕реЗ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? (рдпрд╛ рдХреБрдЫ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ?)
https://github.com/JuliaLang/julia/issues/24595 :) рдореЗрдВ рдЖрдЧрд╛рдореА рд▓реЗрдЦрдиред рд╢реНрд░реЗрд╖реНрда!
ones
, zeros
, рдФрд░ fill
рдЧрд╣рд░рд╛рдИ рдореЗрдВред рдкреВрд░реНрд╡ рдХреЛ рдкрдврд╝рдирд╛ рдмрд╛рдж рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдореВрд▓реНрдпрд╡рд╛рди рд╣реИред рд╢реНрд░реЗрд╖реНрда!рдЦреИрд░, рдХрдо рд╕реЗ рдХрдо Float64
рдорд╛рдорд▓реЗ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдХреБрдЫ рдирд╣реАрдВ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдкреВрд░реНрдгрд╛рдВрдХ рд╢реВрдиреНрдп рдХрд╛ рдорд╛рдорд▓рд╛ рднреА рдХрд╛рдлреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдЬреЛ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ - рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд╣ рдмрд┐рдВрджреБ рд╣реИ рдЬреЛ @vtjnash рдпрд╣рд╛рдВ рдмрдирд╛ рд░рд╣рд╛ рдерд╛ред
рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ zeros
рдореЗрдВ 3 * ones(n)
рд╡рд┐рд░реЛрдзреА рдкреИрдЯрд░реНрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА "рд╕рдорд╕реНрдпрд╛" рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рд╕реБрд╡рд┐рдзрд╛ рдирд┐рд░реНрдорд╛рддрд╛ рд╣реЛрдиреЗ рдХреЗ рд╡реНрдпрд╛рдкрдХ рдЕрд░реНрдереЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░, ones
рдФрд░ zeros
рдХреЛ рдПрдХ рд╕рд╛рде рдХреНрдпреЛрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрди рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ 'рд╕рдорд░реВрдкрддрд╛' рдирд╣реАрдВ рд╣реИред
рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░реНрдЪрд╛рдУрдВ рдФрд░ #24595 рдХреЗ рд▓реЗрдЦрди рдХрд╛ рдЖрдзрд╛рд░ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рджрд╕ рдкреГрд╖реНрда рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрдВрдЧрд▓реА рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреЗ рд╕реВрдХреНрд╖реНрдо рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВ, рд╡реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдПрдХ рдореЛрдЯрд╛ рд╡рд┐рдЪрд╛рд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕реАрдзреЗ matlab рд╕реЗ рдЖрдИ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдЙрдирдХреЗ рдирд╛рдо/рд╢реИрд▓реА рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИред рджреВрд╕рд░реЗ, рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рдерд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣рд╛рдВ ones
рд▓рдЧрднрдЧ рдЖрдзреЗ рдЙрдкрдпреЛрдЧ "рд╡реИрдз" рдереЗред рддреАрд╕рд░рд╛, рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рд╕реЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ 3 * ones(...)
рд▓рд┐рдЦрддреЗ рд╕рдордп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╡рд┐рд░реЛрдзреА рдкреИрдЯрд░реНрди рд╣реИ рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рдмрдирд╛рддрд╛ рд╣реИ, рдпрд╛ рдпрд╣ рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИ (рдФрд░ рд▓реЗрдЦрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рддрдп рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдкрдардиреАрдп рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ - рдЬреЛ рдореБрдЭреЗ рджреГрдврд╝рддрд╛ рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдиреНрдпрдерд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдФрд░ рдХрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдирд╣реАрдВ рд╣реИ)ред
рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЬреАрдердм рдЦреЛрдЬ рд╕реЗ рдЬреЛ рдХреБрдЫ рднреА рджреЗрдЦрдиреЗ рдХреЛ рдорд┐рд▓рддрд╛ рд╣реИ, рд╡рд╣ рдХрднреА рднреА рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдЧрд╛ рдХрд┐ рдЬреВрд▓рд┐рдпрд╛ рдореЗрдВ рдЦреЛрдЬрдкреВрд░реНрдг/рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рдЖрд░рдИрдкреАрдПрд▓ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдпрд╣реА рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛рд░реНрдп рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рдо рдЖрддреЗ рд╣реИрдВ, рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдг рдХреЗ рдЙрдиреНрд╣реЗрдВ рджреВрд░ рд▓реЗ рдЬрд╛рдирд╛ рд╕рдВрдЧрдд рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛрддрд╛ рд╣реИред рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ, рдСрд░реНрдереЛрдЧреЛрдирд▓ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡реНрд╕ рдХрд╛ рдПрдХ рд╕реБрд╕рдВрдЧрдд рд╕реЗрдЯ рд╣реЛрдирд╛ рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдХреБрд╢рд▓ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдПрдХ рдорд╣рд╛рди рд▓рдХреНрд╖реНрдп рд╣реИ, рдФрд░ рд╡рд╣рд╛рдВ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд╛рд╣рдиреАрдп рд╣реИ; рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реИ рдХрд┐ рд╕рднреА рдХреЛрдб рд╕реБрдВрджрд░, рд╕рд╛рдорд╛рдиреНрдп, рдХрдВрдкреЛрдЬреЗрдмрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛрдб рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдХреЗрд╡рд▓ рдореЗрд░реЗ рджреЛ рд╕реЗрдВрдЯреНрд╕ред
рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдкреВрд░реНрдгрд╛рдВрдХ рд╢реВрдиреНрдп рдХрд╛ рдорд╛рдорд▓рд╛ рднреА рдХрд╛рдлреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдЬреЛ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ - рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд╣ рдмрд┐рдВрджреБ рд╣реИ рдЬреЛ
@vtjnash
рдпрд╣рд╛рдВ рдмрдирд╛ рд░рд╣рд╛ рдерд╛ред
рдЬреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ
рд╕рдВрдХрд▓рдХ рдФрд░ рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдкрд░ рдореЗрд░реЗ рдХрд╛рдо рдореЗрдВ рд╢реВрдиреНрдп-рдЖрд░рдВрднрд┐рдХ рд╕рдВрдЧреНрд░рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдирд╛ рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЕрдХреНрд╕рд░ рд╡рд┐рд░рд▓ рд╣реЛрдВ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рднрд╛рд╡ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ fill
рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рдмреЗрд╣рддрд░ рдпрд╛ рдмреЗрд╣рддрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ: fill(0, shape...)
рдмрдирд╛рдо zeros(Int, shape...)
ред
рдЖрдкрдХреЗ рдЕрдиреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, #24595 рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ :)ред рд╢реНрд░реЗрд╖реНрда!
рдореИрдВ рдмрд╕ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ zeros(Int, 10, 10)
рдЕрдзрд┐рдХ рдкрдардиреАрдп / рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИ fill(0, 10, 10)
, рдФрд░ zeros(T, k)
рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реИ fill(zero(T), k)
ред рд╣рдо рджреЛрдиреЛрдВ рд╣реА рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ? рдореИрдВ рдЗрд╕ рддрд░реНрдХ рдХреЛ рдирд╣реАрдВ рдЦрд░реАрджрддрд╛ рдХрд┐ zeros
рд╕рдорд╛рди рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИ ones
ред
рдЖрдкрдХреЗ рдЕрдиреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, #24595 рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрдврд╝рд╛ рдерд╛ред (рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рд┐рдВрдХ рднреА рдХрд┐рдпрд╛ рдерд╛ред)
рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрдврд╝рд╛ рдерд╛ред (рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рд┐рдВрдХ рднреА рдХрд┐рдпрд╛ рдерд╛ред)
#24595 рдХреЛ рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдкрдврд╝рдиреЗ рдФрд░ рдЙрд╕ рдкрд░ рдЙрдЪрд┐рдд рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ #24595: (1) рдПрдХ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ; рдФрд░ (2) рдХреЗрд╡рд▓ рдКрдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдЙрди рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рди рдкрд░ рдЖрдк рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдореИрдВ рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк ones
рдФрд░ zeros
рдмрд╛рд░реЗ рдореЗрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ; рдЖрдкрдХреА рднрд╛рд╡рдирд╛ рдЬрд╝реЛрд░ рд╕реЗ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрдИ рд╣реИ :)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмрд╛рддрдЪреАрдд рдХреЛ рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рд╕реНрд╡рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдиреНрдп рдореЛрд░реНрдЪреЛрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рд╣рдорд╛рд░реА рдмреИрдВрдбрд╡рд┐рдбреНрде рдмреЗрд╣рддрд░ рд╣реЛрдЧреАред рд╢реНрд░реЗрд╖реНрда!
рдХреНрдпрд╛ zeros
рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдорд╛рдиреНрдп fill
рдЖрд╡рдХ рд╣реИ? zeros
рдХрд╛ рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╡реИрдз рдЙрдкрдпреЛрдЧ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ similar
рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рднреА DiffEq, рдФрд░ рдлрд┐рд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ Optim рдФрд░ NLsolve similar
рд╕рд╛рде рдЖрд╡рдВрдЯрди рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдП рд╣реИрдВ zeros
рдЪреВрдВрдХрд┐ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдЗрд╕рдореЗрдВ рд╢реВрдиреНрдп рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмрдЧ рдмрдВрдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдм рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛:
zeros(X)
рдЕрдм рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛:
similar(X); fill!(X,0)
рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрддрдорд╛рди fill
рдХреЗрд╡рд▓ Array
s рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ similar
рдпрд╛ zeros
рддрд░рд╣ рдЯрд╛рдЗрдк-рдореИрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдиреЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП zeros
рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрдм рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рд▓реЗрдХрд┐рди рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ zeros
рд╕рд╛рде рдЖрд╡рдВрдЯрди рдХрд░рдирд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдЪрд┐рдд рдмрд╛рдд рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рд╢реВрдиреНрдп рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП fill(0,X)
рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред
рд╡рд┐рдЪрд╛рд░рд╢реАрд▓ рдкреЛрд╕реНрдЯ рдХреНрд░рд┐рд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! :) рдПрдХ рдЕрдВрддрд░рд┐рдо рдЖрд╢реБрд▓рд┐рдкрд┐ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ, zero(X)
рдЪрд╛рд▓ рдЪрд▓рддрд╛ рд╣реИ?
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдареАрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдореЗрдВ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ zeros
рдФрд░ ones
рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдХреНрдпрд╛ zeros(X)
рдЙрдкрдЬ рдПрдХ рд╕рд╛рде рд╡рд╕реНрддреБ eltype(X)
рдФрд░ рд╕реЗ рднрд░рд╛ eltype(X)
рдХреА рдпреЛрдЧрд╛рддреНрдордХ рдкрд╣рдЪрд╛рди (рдпрд╛рдиреА fill!(similar(X), 0)
), рдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп eltype(X)
(рд╕рдВрднрд╡рддрдГ eltype(X)
) рдХреЗ рд▓рд┐рдП рдЧреБрдгрдХ рд╢реВрдиреНрдп рд╕реЗ рднрд░реА рд╣реБрдИ рд╡рд╕реНрддреБ? (рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП #24595 рджреЗрдЦреЗрдВред)
fill(0, X)
рдЕрд╡рдзрд╛рд░рдгрд╛ #11557 рдореЗрдВ рдХреБрдЫ рдЪрд░реНрдЪрд╛ рдХреЛ рджреЗрдЦрддреА рд╣реИ, рдФрд░ рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдпрд╣ fill
рдПрдХ рдЙрдкрдпреЛрдЧреА рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдЙрддреНрддрдо!
рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдкрд░рдВрдкрд░рд╛рдЧрдд рд╕реВрдЪрдХрд╛рдВрдХ рд╡рд╛рд▓реЗ рд╕рд░рдгрд┐рдпрд╛рдБ zeros(inds...)
рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕рд░рдгреА рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ )ред рд▓реЗрдХрд┐рди 1-рдбреА рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, X
"рд╡рд╣ рд╕рд░рдгреА рдЬрд┐рд╕реЗ рдЖрдк рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ" рдпрд╛ "рд╡рд╛рдВрдЫрд┐рдд рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХрд╛рдВрдХ" рд╣реИ? (рдЖрдЦрд┐рд░рдХрд╛рд░, AbstractUnitRange <: AbstractArray
ред) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрдпрд╛ zeros(3:5)
рдЕрд░реНрде fill!(similar(3:5), 0)
рдпрд╛ fill!(OffsetArray(Vector{Float64}(3), 3:5), 0)
?
рд▓рд┐рдВрдХрд┐рдВрдЧ https://github.com/JuliaLang/julia/pull/24656 , рдЬрд┐рд╕рдореЗрдВ {ones|zeros }(A::AbstractArray, ...)
рд╕реБрд╡рд┐рдзрд╛ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд░реНрдЪрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╢реНрд░реЗрд╖реНрда!
рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ #24656 рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреИрд╢ рд╡реИрд░рд┐рдПрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП zeros
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдЬреАрдм рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐, рдЕрдЧрд░ zeros
рдХреЛ рд╢реВрдиреНрдп рдУрд╡рд░рд╣реЗрдб рдХреЗ рдХрд░реАрдм рдХрдо рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд▓рдЧрднрдЧ рдХреЛрдИ рднреА рдорд╛рдорд▓рд╛ рдЬрд╣рд╛рдВ рд▓реЛрдЧ similar
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп zeros
рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдХрд╛рдлреА рдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреАрдбрд╝реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ similar
рдХрд╛рдлреА рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп fill!
+ similar
рдХреЛ рдПрдХ рд╕рд╛рде рдЦреАрдВрдЪрдиреЗ рд╕реЗ рдпрд╣ рдХрдо рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред Optim.jl рдореЗрдВ рдЗрд╕ рдкреЙрдк рдЕрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдБ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╣реИ:
https://github.com/JuliaNLSolvers/NLsolve.jl/issues/89#issuecomment -294585960
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ @timholy рд╕реЗ рд╕рд╣рдордд
https://github.com/JuliaDiffEq/MultiScaleArrays.jl
MultiScaleArrays.jl рдиреЗ рдЕрдореВрд░реНрдд рд╕рд░рдгрд┐рдпрд╛рдБ рдмрдирд╛рдИрдВ рдЬреЛ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдЧреНрд░рд╛рдлрд╝-рдЬреИрд╕реА рд╕рдВрд░рдЪрдирд╛рдПрдБ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рднрд┐рдиреНрди рд╕реЙрд▓реНрд╡рд░реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдм Optim.jl рдФрд░ NLsolve.jl рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?)ред рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЬреИрд╡рд┐рдХ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИред рдЬрдм рд╣рдо рдЗрд╕реЗ рдУрдбреАрдИ рд╕реЙрд▓реНрд╡рд░ рдореЗрдВ рдлреЗрдВрдХрддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдкреНрд░рд╢реНрди рд╣реЛрддрд╛ рд╣реИ: рд╣рдореЗрдВ рдХреИрд╢ рдПрд░реЗ рдХреНрдпрд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╡рд╣ рд╕рд░рдгреА рд╡рд╛рдкрд╕ рдорд┐рд▓ рдЬрд╛рддреА рд╣реИ рдЬреЛ рд╡реЗ рдЪрд╛рд╣рддреЗ рдереЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрдирдХреЗ ODE рдлрд╝рдВрдХреНрд╢рди f(t,u,du)
рдФрд░ рд╡реЗ рдЙрд╕реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕рдХрд╛ рдЗрд▓рд╛рдЬ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдХреЗрд╡рд▓ рдХреБрдЫ рдРрд╕реА рдЪреАрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреИрд╢ рдЪрд░ рд╣реИрдВред
рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдХреИрд╢реЗ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:
https://github.com/JuliaDiffEq/OrdinaryDiffEq.jl/blob/master/src/caches/low_order_rk_caches.jl#L224 -L234
рдпрд╣рд╛рдВ, rate_prototype = similar(u,first(u)/t,indices(u)
рд╕рдорд╛рди рд╣реИ рд▓реЗрдХрд┐рди рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рднрд┐рдиреНрди eltype рдХреЗ рд╕рд╛рде рд╣реИред рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣рд╛рдВ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ: similar(u)
рдмрдирд╛рдо similar(u,indices(u))
ред рдореИрдВрдиреЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХрд╛ рдЕрд░реНрде "рдкреНрд░рдХрд╛рд░ рдФрд░ рдЖрдХрд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ" рдмрдирд╛рдо "рдЖрдХрд╛рд░ рдФрд░ eltype рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ"ред рддреЛ AbstractMultiScaleArray
, рдкрд╣рд▓рд╛ рдПрдХ рдФрд░ AbstractMultiScaleArray
рдмрдирд╛рдПрдЧрд╛, рдЬрдмрдХрд┐ рджреВрд╕рд░рд╛, рдЧрддрд┐ рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд╕ рдЙрдкрдпреБрдХреНрдд рдХрд╛ Array
рдмрдирд╛ рджреЗрдЧрд╛ рдЖрдХрд╛рд░ред рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрд╕реЗ similar(u,T)
рдФрд░ similar(u,T,indices(u))
рддрдХ рдмрдврд╝рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝ рд░рд╣рд╛ рд╣реЛ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИред рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреИрд╢ рд╣реЛрддреЗ рд╣реИрдВ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреИрд╢ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЙрдирдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдВрддрд░рд┐рдХ рдХреИрд╢ рдЬреЛ рдХреЗрд╡рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдЧрддрд┐ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпреЗ similar
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕рдХреЗ zeros
рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рдерд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЬрдЧрд╣ рд╣реИ рдЬреЛ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд╢реВрдиреНрдп рдХрд░ рд╕рдХрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ du
рдХреЛ рдЕрдкрдиреЗ f(t,u,du)
рд╡реНрдпреБрддреНрдкрдиреНрди рдЧрдгрдирд╛ рдореЗрдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ "рдЬреЛ рдореИрдВ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ рдЙрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рд╢реВрдиреНрдп", рдЬреЛ рдХреЗрд╡рд▓ рддрднреА рд╕рддреНрдп рд╣реИ рдЬрдм рдЗрд╕реЗ zeros
рд╕рд╛рде рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ zeros
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реНрд╡-рдЖрд╡рдВрдЯрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ (рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП NLsolve.jl рдореЗрдВ рдЖрддрд╛ рд╣реИ) .
рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рднреНрд░рдорд┐рдд рдирд╣реАрдВ рдерд╛ред рдореЗрд░реЗ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореИрдВ рдмрд╕ similar
рдмрд╛рдж fill!
рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдкреИрдХреЗрдЬ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ рдФрд░ рдпрд╣ рдмрдЧ рдХрд╛ рд╕реНрд░реЛрдд рд╣реЛрдЧрд╛ред
рджрд┐рд▓рдЪрд╕реНрдкред рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ similar(A, inds)
similar(A)
рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдореИрдВрдиреЗ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд┐рднрд┐рдиреНрди рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЗ рд╕рд╛рдеред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ 2-рдбреА рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдХреЙрд▓рдорд╡рд╛рдЗрдЬ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП 1-рдЖрдпрд╛рдореА рдХреИрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореИрдВ similar(A, first(inds))
рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред (рдХреНрдпреЛрдВрдХрд┐ рдЖрдпрд╛рдореА рд╕реНрд╡рд░реВрдк рдПрдХ рдкреНрд░рдХрд╛рд░ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдмреЗрд╢рдХ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╣реА рд╕рд╛рд░ рдХрдВрдЯреЗрдирд░ рдкреНрд░рдХрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред) рддреБрдо рднреА рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЯрд╛рдЗрд▓, рдЖрджрд┐ рдХреА рдПрдХ 5x5 рдХреИрд╢ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдпрд╣ рдПрдХ рдЪреБрдиреМрддреАрдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред рдЦреЗрд▓ рдореЗрдВ рдереЛрдбрд╝реА рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣рдореЗрдВ same
рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЗрд╕рдореЗрдВ similar
рдХреЗ рд╕рдорд╛рди рддрд░реНрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдиреБрдмрдВрдз рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдЙрд╕реА рд╕рд╛рд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдореИрдВ same
рдПрдХ-рддрд░реНрдХ рдХреЗ рд░реВрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИ - рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ same(a)
рдЙрд╕реА рд╕рд░рдгреА рдкреНрд░рдХрд╛рд░ рдХреЛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ рдпрджрд┐ a
setindex!
рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ same
рдФрд░ similar
рдХреЗрд╡рд▓ рддрднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдЖрдк рдмрд╛рдж рдореЗрдВ рд╕рд░рдгреА рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реЛрдВред рд╣рдо рдЗрд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп a
рд▓рд┐рдП рдПрдХ рддреНрд░реБрдЯрд┐ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди AbstractArray
рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ рд╕рд╣реА, рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирд╛рд╡рд╢реНрдпрдХ (рдФрд░ рд╢рд╛рдпрдж рдЕрдиреБрдкрдпреЛрдЧреА) рд▓рдЧрддрд╛ рд╣реИред
рдЗрд╕реА рддрд░рд╣, рд╣рдо рдпрд╣ рдирд╣реАрдВ рдорд╛рди рд╕рдХрддреЗ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ AbstractArray
рдЕрд▓рдЧ-рдЕрд▓рдЧ eltypes рдпрд╛ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП, same
рджреЛ рдпрд╛ рддреАрди-рддрд░реНрдХ рд░реВрдк рд╣реЛрдиреЗ рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдЭреВрдареА рднрд╛рд╡рдирд╛ рджреЗрддреЗ рд╣реБрдП рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рдореВрд╣ рдореЗрдВ рд░рди-рдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкреЗрд╢ рдХреА рдЬрд╛рдПрдВрдЧреА рдХрд┐ рдЙрдирдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдХрд┐рд╕реА рднреА AbstractArray
рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛
рд▓реЗрдХрд┐рди 1-рдбреА рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдПрдХреНрд╕ "рд╡рд╣ рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ" рдпрд╛ "рд╡рд╛рдВрдЫрд┐рдд рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХрд╛рдВрдХ"?
рдпрд╣ рдПрдХ рдФрд░ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ keys
рд╕рдорд╛рди рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ similar
рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ (рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдПрдХ (рдХреБрдЫ) рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХреМрди рд╕рд╛ рдорд╛рдорд▓рд╛ Base.OneTo
(рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рд░реЗрдВрдЬ) рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
рдпрд╣ рдЪрд░реНрдЪрд╛ #18161 рдХреА рдУрд░ рдмрдврд╝ рд░рд╣реА рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рд╡рд╣реАрдВ рдЬрд╛рд░реА рд░рд╣рдиреА рдЪрд╛рд╣рд┐рдП :)ред
рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдЯреНрд░рд╛рдЗрдПрдЬ рд╕рд┐рд░реНрдл ones
рд░рдЦрдиреЗ рдХреА рдУрд░ рдЭреБрдХ рд░рд╣рд╛ рдерд╛ред
рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ рд░рдЦрдиреЗ рдореЗрдВ рджреБрдЦ рд╣реЛрддрд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЬреВрд▓рд┐рдпрд╛ рдореЗрдВ рдШрд░ рдкрд░ рд╕реБрдиреНрди рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВред
рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рд╣рдо ones
рдФрд░ zeros
рд░рдЦ рд░рд╣реЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореЗрд░реЗ рд▓рд┐рдП
fill(oneunit(T), sz)
рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрдардиреАрдпрддрд╛ рдореЗрдВ рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рд╣рд╛рдирд┐ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИones(T, sz)
ред