JL Julia  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

Линейная алгебра

Практические задания по теме «Линейная алгебра» требуют сопоставить несколько решений, найти источник ошибки и оценить последствия выбранного подхода. Вопросы требуют читать код, находить границу применимости, выбирать проверяемую правку и отличать свойства Julia от поведения конкретного пакета. В тесте 25 вопросов: 15 заданий с кодом и 10 заданий с математической записью. Все формулировки рассчитаны на Julia 1.12.6; для сторонних библиотек используется явно названный API.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На работу отведено 70 минут. После завершения откроются правильные ответы, объяснения и результаты по темам.
Вопрос 1 из 25
Какое объяснение для `F = cholesky(Symmetric(A))` выдержит проверку на другом допустимом входе?
A=LL^{\mathsf T}
JuliaJulia · Факторизации
using LinearAlgebra
A = [4.0 1.0; 1.0 3.0]
F = cholesky(Symmetric(A))
b1 = [1.0, 2.0]
b2 = [2.0, 1.0]
@show F \ b1 F \ b2
Вопрос 2 из 25
Какую проверку стоит добавить для участка с `F = cholesky(Symmetric(A))`?
JuliaJulia · Факторизации
using LinearAlgebra
A = [4.0 1.0; 1.0 3.0]
F = cholesky(Symmetric(A))
b1 = [1.0, 2.0]
b2 = [2.0, 1.0]
@show F \ b1 F \ b2
Вопрос 3 из 25
Что должно остаться истинным после рефакторинга участка с `F = cholesky(Symmetric(A))`?
JuliaJulia · Факторизации
using LinearAlgebra
A = [4.0 1.0; 1.0 3.0]
F = cholesky(Symmetric(A))
b1 = [1.0, 2.0]
b2 = [2.0, 1.0]
@show F \ b1 F \ b2
Вопрос 4 из 25
Как проверить, что новая реализация `F = cholesky(Symmetric(A))` не изменила обещанное пользователю поведение?
A=LL^{\mathsf T}
Вопрос 5 из 25
Как сформулировать границу механизма `F = cholesky(Symmetric(A))` без чрезмерного обещания?
Вопрос 6 из 25
Какое объяснение для `D = Diagonal([1.0, 2.0, 4.0])` выдержит проверку на другом допустимом входе?
A=\operatorname{Diagonal}(d)
JuliaJulia · Специальные матрицы
using LinearAlgebra, SparseArrays
D = Diagonal([1.0, 2.0, 4.0])
S = sparse([1, 2, 3], [1, 2, 3], [1.0, 2.0, 4.0])
@show det(D) nnz(S)
Вопрос 7 из 25
Что нужно подтвердить отдельным примером для `D = Diagonal([1.0, 2.0, 4.0])`?
JuliaJulia · Специальные матрицы
using LinearAlgebra, SparseArrays
D = Diagonal([1.0, 2.0, 4.0])
S = sparse([1, 2, 3], [1, 2, 3], [1.0, 2.0, 4.0])
@show det(D) nnz(S)
Вопрос 8 из 25
Какой контракт следует закрепить при переработке строки `D = Diagonal([1.0, 2.0, 4.0])`?
JuliaJulia · Специальные матрицы
using LinearAlgebra, SparseArrays
D = Diagonal([1.0, 2.0, 4.0])
S = sparse([1, 2, 3], [1, 2, 3], [1.0, 2.0, 4.0])
@show det(D) nnz(S)
Вопрос 9 из 25
При переносе кода с `D = Diagonal([1.0, 2.0, 4.0])` в библиотеку какой критерий нельзя заменять впечатлением «пример работает»?
A=\operatorname{Diagonal}(d)
Вопрос 10 из 25
Какое ограничение стоит прямо указать в документации к участку с `D = Diagonal([1.0, 2.0, 4.0])`?
Вопрос 11 из 25
Какое утверждение точнее всего объясняет участок с `@show x norm(A*x - b)`?
Ax=b
JuliaJulia · Системы уравнений
using LinearAlgebra
A = [1.0 1.0; 1.0 1.0 + 1e-10]
b = [2.0, 2.0 + 1e-10]
x = A \ b
@show x norm(A*x - b)
Вопрос 12 из 25
Какой контрольный тест лучше всего проверит правило, связанное с `@show x norm(A*x - b)`?
JuliaJulia · Системы уравнений
using LinearAlgebra
A = [1.0 1.0; 1.0 1.0 + 1e-10]
b = [2.0, 2.0 + 1e-10]
x = A \ b
@show x norm(A*x - b)
Вопрос 13 из 25
Какой контракт следует закрепить при переработке строки `@show x norm(A*x - b)`?
JuliaJulia · Системы уравнений
using LinearAlgebra
A = [1.0 1.0; 1.0 1.0 + 1e-10]
b = [2.0, 2.0 + 1e-10]
x = A \ b
@show x norm(A*x - b)
Вопрос 14 из 25
При переносе кода с `@show x norm(A*x - b)` в библиотеку какой критерий нельзя заменять впечатлением «пример работает»?
Ax=b
Вопрос 15 из 25
Что следует сообщить пользователю библиотеки о поведении `@show x norm(A*x - b)`?
Вопрос 16 из 25
Как нужно интерпретировать `@show cond(A) norm(A*x-b) norm(x)`, не добавляя к коду лишних гарантий?
\kappa(A)=\lVert A\rVert\lVert A^{-1}\rVert
JuliaJulia · Численная устойчивость
using LinearAlgebra
A = [1.0 1.0; 1.0 1.0 + 1e-12]
b = [2.0, 2.0]
x = A \ b
@show cond(A) norm(A*x-b) norm(x)
Вопрос 17 из 25
Какой эксперимент отличит настоящий механизм `@show cond(A) norm(A*x-b) norm(x)` от случайного результата одного запуска?
JuliaJulia · Численная устойчивость
using LinearAlgebra
A = [1.0 1.0; 1.0 1.0 + 1e-12]
b = [2.0, 2.0]
x = A \ b
@show cond(A) norm(A*x-b) norm(x)
Вопрос 18 из 25
Какую гарантию должна сохранить правка участка с `@show cond(A) norm(A*x-b) norm(x)`?
JuliaJulia · Численная устойчивость
using LinearAlgebra
A = [1.0 1.0; 1.0 1.0 + 1e-12]
b = [2.0, 2.0]
x = A \ b
@show cond(A) norm(A*x-b) norm(x)
Вопрос 19 из 25
Какой результат приёмочного теста подтвердит корректность участка с `@show cond(A) norm(A*x-b) norm(x)`?
\kappa(A)=\lVert A\rVert\lVert A^{-1}\rVert
Вопрос 20 из 25
Что следует сообщить пользователю библиотеки о поведении `@show cond(A) norm(A*x-b) norm(x)`?
Вопрос 21 из 25
Какое утверждение точнее всего объясняет участок с `return (; x, residual=norm(A*x-b), rank=rank(A), condition=cond(A))`?
r=b-A\hat{x}
JuliaJulia · Диагностика результата
using LinearAlgebra
function solve_checked(A, b)
    size(A, 1) == length(b) || throw(DimensionMismatch())
    x = A \ b
    return (; x, residual=norm(A*x-b), rank=rank(A), condition=cond(A))
end
@show solve_checked([2.0 0; 0 1], [2.0, 3.0])
Вопрос 22 из 25
Какой контрольный тест лучше всего проверит правило, связанное с `return (; x, residual=norm(A*x-b), rank=rank(A), condition=cond(A))`?
JuliaJulia · Диагностика результата
using LinearAlgebra
function solve_checked(A, b)
    size(A, 1) == length(b) || throw(DimensionMismatch())
    x = A \ b
    return (; x, residual=norm(A*x-b), rank=rank(A), condition=cond(A))
end
@show solve_checked([2.0 0; 0 1], [2.0, 3.0])
Вопрос 23 из 25
Какой контракт следует закрепить при переработке строки `return (; x, residual=norm(A*x-b), rank=rank(A), condition=cond(A))`?
JuliaJulia · Диагностика результата
using LinearAlgebra
function solve_checked(A, b)
    size(A, 1) == length(b) || throw(DimensionMismatch())
    x = A \ b
    return (; x, residual=norm(A*x-b), rank=rank(A), condition=cond(A))
end
@show solve_checked([2.0 0; 0 1], [2.0, 3.0])
Вопрос 24 из 25
Две реализации участка с `return (; x, residual=norm(A*x-b), rank=rank(A), condition=cond(A))` совпадают на обычных данных. Что необходимо проверить перед выпуском?
r=b-A\hat{x}
Вопрос 25 из 25
Какое ограничение стоит прямо указать в документации к участку с `return (; x, residual=norm(A*x-b), rank=rank(A), condition=cond(A))`?

Ответьте на все 25 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу