diff --git a/WARNINGS.log b/WARNINGS.log index f5145c5a..5023df83 100644 --- a/WARNINGS.log +++ b/WARNINGS.log @@ -1,4 +1,64 @@ -/Users/mmjasime/Documents/Github/pyxu/doc/guide/lipschitz.ipynb:286: WARNING: invalid syntax (, line 24) in document 'guide/lipschitz' +/home/sep/Documents/Repositories/pyxu/doc/fair/howto.rst:2: WARNING: Duplicate explicit target name: "catalogue website". +/home/sep/Documents/Repositories/pyxu/doc/fair/howto.rst:33: WARNING: invalid syntax (, line 2) in document 'fair/howto' +Parsed source in `python` block: +concatenations: from pyxu.opt.solver import GradientDescent +block source: ModuleNotFoundError: No module named 'pyxu.opt.solver.GradientDescent' +/home/sep/Documents/Repositories/pyxu/doc/fair/plugins/pyxu-eigh.rst:164: ERROR: Content block expected for the "raw" directive; none found. +/home/sep/Documents/Repositories/pyxu/doc/fair/plugins/pyxu-gradient-descent.rst:164: ERROR: Content block expected for the "raw" directive; none found. +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:129: WARNING: Title underline too short. + +Implicit Functionals: The Undercover Agents 🕵️‍♀️ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:129: WARNING: Title underline too short. + +Implicit Functionals: The Undercover Agents 🕵️‍♀️ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:27: WARNING: File not found: 'api/operator.interop.html#general' +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:27: WARNING: File not found: 'api/abc.html#pyxu.abc.Map.apply' +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:27: WARNING: File not found: 'api/abc.html#pyxu.abc.DiffFunc.grad' +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:27: WARNING: File not found: 'api/abc.html#pyxu.abc.ProxFunc.prox' +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:34: WARNING: File not found: 'api/abc.html#pyxu.abc.Func' +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:61: WARNING: File not found: 'api/abc.html#pyxu.abc.DiffFunc' +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:76: WARNING: File not found: 'api/operator.interop.html#pyxu.operator.interop.from_torch' +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:76: WARNING: File not found: 'api/operator.interop.html#pyxu.operator.interop.from_jax' +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:81: WARNING: File not found: 'api/abc.html#pyxu.abc.ProxFunc' +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:97: WARNING: File not found: 'api/abc.html#pyxu.abc.ProxFunc.moreau_envelope' +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:124: WARNING: File not found: 'api/abc.html#pyxu.abc.ProxDiffFunc' +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:124: WARNING: File not found: 'api/abc.html#pyxu.abc.LinFunc' +/home/sep/Documents/Repositories/pyxu/doc/guide/funcs.ipynb:124: WARNING: File not found: 'api/abc.html#pyxu.abc.QuadraticFunc' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:11: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:17: WARNING: File not found: 'api/operator.interop.html#general' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:17: WARNING: File not found: 'api/abc.html#pyxu.abc.Map.apply' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:17: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp.adjoint' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:17: WARNING: File not found: 'api/abc.html#pyxu.abc.DiffMap.jacobian' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:46: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:55: WARNING: File not found: 'api/abc.html#pyxu.abc.Map.apply' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:66: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp.adjoint' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:100: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:102: WARNING: File not found: 'api/abc.html#pyxu.abc.Map.lipschitz' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:102: WARNING: File not found: 'api/abc.html#pyxu.abc.Map.estimate_lipschitz' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:108: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp.svdvals' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:110: WARNING: File not found: 'api/abc.html#pyxu.abc.SquareOp.trace' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:112: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp.pinv' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:118: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:118: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp.from_array' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:124: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:129: WARNING: File not found: 'api/abc.html#pyxu.abc.DiffMap' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:134: WARNING: File not found: 'api/abc.html#pyxu.abc.Map.apply' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:134: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:136: WARNING: File not found: 'api/abc.html#pyxu.abc.DiffMap.jacobian' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:146: WARNING: File not found: 'api/operator.interop.html#pyxu.operator.interop.from_torch' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:146: WARNING: File not found: 'api/operator.interop.html#pyxu.operator.interop.from_jax' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:148: WARNING: File not found: 'api/abc.html#pyxu.abc.DiffMap' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:153: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp' +/home/sep/Documents/Repositories/pyxu/doc/guide/fwdops.ipynb:153: WARNING: File not found: 'api/abc.html#pyxu.abc.DiffMap' +/home/sep/Documents/Repositories/pyxu/doc/guide/hpc.ipynb:219: WARNING: File not found: 'api/runtime.html#pyxu.runtime.Precision' +/home/sep/Documents/Repositories/pyxu/doc/guide/lipschitz.ipynb:30: WARNING: File not found: 'api/abc.html#pyxu.abc.Map.lipschitz' +/home/sep/Documents/Repositories/pyxu/doc/guide/lipschitz.ipynb:30: WARNING: File not found: 'api/abc.html#pyxu.abc.DiffMap.diff_lipschitz' +/home/sep/Documents/Repositories/pyxu/doc/guide/lipschitz.ipynb:40: WARNING: File not found: 'api/abc.html#pyxu.abc.Map.estimate_lipschitz' +/home/sep/Documents/Repositories/pyxu/doc/guide/lipschitz.ipynb:298: WARNING: File not found: 'api/index.html' +/home/sep/Documents/Repositories/pyxu/doc/guide/lipschitz.ipynb:298: WARNING: File not found: 'api/abc/arithmetic.html#' +/home/sep/Documents/Repositories/pyxu/doc/guide/lipschitz.ipynb:286: WARNING: invalid syntax (, line 24) in document 'guide/lipschitz' Parsed source in `python` block: concatenations: # Access Lipschitz constant of an operator 'op' lip_const = op.lipschitz @@ -32,21 +92,95 @@ block source: >> op1 = difffunc * linop; >> op2.diff_lipschitz == linop.lipschitz * diffmap.diff_lipschitz True ... -/Users/mmjasime/Documents/Github/pyxu/doc/fair/howto.rst:2: WARNING: Duplicate explicit target name: "catalogue website". -/Users/mmjasime/Documents/Github/pyxu/doc/fair/howto.rst:33: WARNING: invalid syntax (, line 2) in document 'fair/howto' +/home/sep/Documents/Repositories/pyxu/doc/examples/contributing.ipynb:42: WARNING: invalid syntax (, line 5) in document 'examples/contributing' Parsed source in `python` block: -concatenations: import pyxu.opt.solver.GradientDescent -block source: ModuleNotFoundError: No module named 'pyxu.opt.solver.GradientDescent' -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:640: ERROR: Unexpected indentation. -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:638: WARNING: Inline interpreted text or phrase reference start-string without end-string. -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:644: WARNING: Block quote ends without a blank line; unexpected unindent. -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:653: WARNING: Inline interpreted text or phrase reference start-string without end-string. -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:655: WARNING: Definition list ends without a blank line; unexpected unindent. -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:765: ERROR: Unexpected indentation. -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:763: WARNING: Inline interpreted text or phrase reference start-string without end-string. -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:768: WARNING: Block quote ends without a blank line; unexpected unindent. -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:109: WARNING: File not found: 'examples/TODO' -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:156: WARNING: expected ':' (, line 29) in document 'examples/DifferentialOperators' +concatenations: try: + from pyxu.opt.solver import GradientDescent +except ImportError as e: + print(e) +block source: !pip install pyxu-gradient-descent +/home/sep/Documents/Repositories/pyxu/doc/fair/score.rst:29: WARNING: Bullet list ends without a blank line; unexpected unindent. +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:33: WARNING: File not found: 'api/abc.html#pyxu.abc.Map.apply' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:33: WARNING: File not found: 'api/abc.html#pyxu.abc.DiffMap.jacobian' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:33: WARNING: File not found: 'api/abc.html#pyxu.abc.DiffFunc.grad' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:33: WARNING: File not found: 'api/abc.html#pyxu.abc.ProxFunc.prox' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:33: WARNING: File not found: 'api/abc.html#pyxu.abc.LinOp.adjoint' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:39: WARNING: File not found: 'api/abc/arithmetic.html' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:41: WARNING: File not found: 'api/abc.html#pyxu.abc.arithmetic.Rule' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:42: WARNING: File not found: 'api/abc.html#pyxu.abc.arithmetic.ScaleRule' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:43: WARNING: File not found: 'api/abc.html#pyxu.abc.arithmetic.ArgScaleRule' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:44: WARNING: File not found: 'api/abc.html#pyxu.abc.arithmetic.ArgShiftRule' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:45: WARNING: File not found: 'api/abc.html#pyxu.abc.arithmetic.AddRule' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:46: WARNING: File not found: 'api/abc.html#pyxu.abc.arithmetic.ChainRule' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:47: WARNING: File not found: 'api/abc.html#pyxu.abc.arithmetic.PowerRule' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:48: WARNING: File not found: 'api/abc.html#pyxu.abc.arithmetic.TransposeRule' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:53: WARNING: File not found: 'api/abc.html#pyxu.abc.DiffFunc' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:53: WARNING: File not found: 'api/abc.html#pyxu.abc.DiffMap' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:95: WARNING: File not found: 'api/operator/blocks.html#pyxu.operator.coo_block' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:95: WARNING: File not found: 'api/operator/blocks.html#pyxu.operator.block' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:95: WARNING: File not found: 'api/operator/blocks.html#pyxu.operator.block_diag' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:95: WARNING: File not found: 'api/operator/blocks.html#pyxu.operator.stack' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:95: WARNING: File not found: 'api/operator/blocks.html#pyxu.operator.vstack' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:95: WARNING: File not found: 'api/operator/blocks.html#pyxu.operator.hstack' +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:18: WARNING: invalid syntax (, line 1) in document 'guide/algebra' +Parsed source in `python` block: +block source: >> op1 + op2 # Addition of two operators + >> op1 * op2 # Composition of two operators + >> op ** 3 # Exponentiation of an operator + >> op.argscale(c) # Dilation by a scalar 'c' + >> op.argshift(x) # Shifting by a vector 'x' + >> 4 * op # Scaling by a scalar + >> op.T # Transposing +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:55: WARNING: invalid syntax (, line 1) in document 'guide/algebra' +Parsed source in `python` block: +block source: >> h = f * L + >> h.grad(x) = L.jacobian(x).adjoint(f.grad(L(x))) +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:64: WARNING: cannot assign to function call here. Maybe you meant '==' instead of '='? (, line 1) in document 'guide/algebra' +Parsed source in `python` block: +block source: op.apply(arr) = lhs.apply(rhs.apply(arr)) + op.lipschitz = lhs.lipschitz * rhs.lipschitz +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:71: WARNING: cannot assign to function call here. Maybe you meant '==' instead of '='? (, line 1) in document 'guide/algebra' +Parsed source in `python` block: +block source: op.prox(arr, tau) = rhs.adjoint(lhs.prox(rhs.apply(arr), tau)) +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:77: WARNING: cannot assign to function call here. Maybe you meant '==' instead of '='? (, line 1) in document 'guide/algebra' +Parsed source in `python` block: +block source: op.jacobian(arr) = lhs.jacobian(rhs.apply(arr)) * rhs.jacobian(arr) + op.diff_lipschitz = + linear * linear => 0 + linear * diff => lhs.lipschitz * rhs.diff_lipschitz + diff * linear => lhs.diff_lipschitz * (rhs.lipschitz ** 2) + diff * diff => infty +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:88: WARNING: cannot assign to function call here. Maybe you meant '==' instead of '='? (, line 1) in document 'guide/algebra' +Parsed source in `python` block: +block source: op.grad(arr) = lhs.grad(rhs.apply(arr)) @ rhs.jacobian(arr).asarray() +/home/sep/Documents/Repositories/pyxu/doc/guide/algebra.ipynb:100: WARNING: invalid syntax (, line 1) in document 'guide/algebra' +Parsed source in `python` block: +block source: >> coo_block(([A(500,1000), B(1,1000), C(500,500), D(1,3)], # data + ... [[0, 1, 0, 2], # i + ... [0, 0, 2, 1], # j + ]),grid_shape=(3, 3)) +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:17: WARNING: File not found: 'api/opt.solver.html#pyxu.opt.solver.CG' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:29: WARNING: File not found: 'api/opt.solver.html#pyxu.opt.solver.PGD' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:58: WARNING: File not found: 'api/opt.solver.html#pyxu.opt.solver.CondatVu' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:58: WARNING: File not found: 'api/opt.solver.html#pyxu.opt.solver.PD3O' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:58: WARNING: File not found: 'api/opt.solver.html#pyxu.opt.solver.ADMM' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:58: WARNING: File not found: 'api/opt.solver.html#pyxu.opt.solver.ChambollePock' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:74: WARNING: File not found: 'api/opt.solver.html#pyxu.opt.solver.DouglasRachford' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:76: WARNING: File not found: 'api/opt.solver.html#pyxu.opt.solver.Adam' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:127: WARNING: File not found: 'api/opt.stop.html' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:144: WARNING: File not found: 'api/abc.html#pyxu.abc.Solver' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:144: WARNING: File not found: 'api/abc.html#pyxu.abc.Solver.m_init' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:144: WARNING: File not found: 'api/abc.html#pyxu.abc.Solver.m_step' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:148: WARNING: File not found: 'api/abc.html#pyxu.abc.Solver.fit' +/home/sep/Documents/Repositories/pyxu/doc/guide/algorithms.ipynb:66: WARNING: invalid syntax (, line 1) in document 'guide/algorithms' +Parsed source in `python` block: +block source: >> K = vstack([K_1, ..., K_J]) + >> H = hstack([h_1, ..., h_J]) +/home/sep/Documents/Repositories/pyxu/doc/guide/diff_ops.ipynb:11: WARNING: File not found: 'api/operator/linop.html#derivatives' +/home/sep/Documents/Repositories/pyxu/doc/guide/diff_ops.ipynb:18: WARNING: File not found: 'api/operator/linop.html#pyxu.operator.PartialDerivative' +/home/sep/Documents/Repositories/pyxu/doc/guide/diff_ops.ipynb:535: WARNING: File not found: 'api/operator/linop.html#pyxu.operator.Gradient' +/home/sep/Documents/Repositories/pyxu/doc/guide/diff_ops.ipynb:545: WARNING: File not found: 'api/operator/linop.html#pyxu.operator.Hessian' +/home/sep/Documents/Repositories/pyxu/doc/guide/diff_ops.ipynb:93: WARNING: expected an indented block after function definition on line 20 (, line 29) in document 'guide/diff_ops' Parsed source in `python` block: concatenations: def D(f): """ @@ -76,8 +210,8 @@ block source: def finite_difference( gpu: bool = False, dtype: typ.Optional[pyct.DType] = None, sampling: typ.Union[pyct.Real, cabc.Sequence[pyct.Real, ...]] = 1, - ) -> pyct.OpT -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:171: WARNING: expected ':' (, line 29) in document 'examples/DifferentialOperators' + ) -> pyct.OpT: +/home/sep/Documents/Repositories/pyxu/doc/guide/diff_ops.ipynb:107: WARNING: expected an indented block after function definition on line 20 (, line 29) in document 'guide/diff_ops' Parsed source in `python` block: concatenations: def D(f): """ @@ -107,8 +241,8 @@ block source: def gaussian_derivative( gpu: bool = False, dtype: typ.Optional[pyct.DType] = None, sampling: typ.Union[pyct.Real, cabc.Sequence[pyct.Real, ...]] = 1, - ) -> pyct.OpT -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:680: WARNING: expected an indented block after function definition on line 139 (, line 148) in document 'examples/DifferentialOperators' + ) -> pyct.OpT: +/home/sep/Documents/Repositories/pyxu/doc/guide/diff_ops.ipynb:579: WARNING: expected an indented block after function definition on line 139 (, line 148) in document 'guide/diff_ops' Parsed source in `python` block: concatenations: def D(f): """ @@ -258,7 +392,7 @@ block source: def Gradient( parallel: bool = False, **diff_kwargs, ) -> pyct.OpT: -/Users/mmjasime/Documents/Github/pyxu/doc/examples/DifferentialOperators.ipynb:694: WARNING: expected an indented block after function definition on line 139 (, line 152) in document 'examples/DifferentialOperators' +/home/sep/Documents/Repositories/pyxu/doc/guide/diff_ops.ipynb:593: WARNING: expected an indented block after function definition on line 139 (, line 152) in document 'guide/diff_ops' Parsed source in `python` block: concatenations: def D(f): """ @@ -412,63 +546,19 @@ block source: def Hessian( parallel: bool = False, **diff_kwargs, ) -> pyct.OpT: -/Users/mmjasime/Documents/Github/pyxu/doc/guide/algebra.ipynb:18: WARNING: invalid syntax (, line 1) in document 'guide/algebra' -Parsed source in `python` block: -block source: >> op1 + op2 # Addition of two operators - >> op1 * op2 # Composition of two operators - >> op ** 3 # Exponentiation of an operator - >> op.argscale(c) # Dilation by a scalar 'c' - >> op.argshift(x) # Shifting by a vector 'x' - >> 4 * op # Scaling by a scalar - >> op.T # Transposing -/Users/mmjasime/Documents/Github/pyxu/doc/guide/algebra.ipynb:54: WARNING: invalid syntax (, line 1) in document 'guide/algebra' -Parsed source in `python` block: -block source: >> h = f * L - >> h.grad(x) = L.jacobian(x).adjoint(f.grad(L(x))) -/Users/mmjasime/Documents/Github/pyxu/doc/guide/algebra.ipynb:63: WARNING: cannot assign to function call here. Maybe you meant '==' instead of '='? (, line 1) in document 'guide/algebra' -Parsed source in `python` block: -block source: op.apply(arr) = lhs.apply(rhs.apply(arr)) - op.lipschitz = lhs.lipschitz * rhs.lipschitz -/Users/mmjasime/Documents/Github/pyxu/doc/guide/algebra.ipynb:70: WARNING: cannot assign to function call here. Maybe you meant '==' instead of '='? (, line 1) in document 'guide/algebra' -Parsed source in `python` block: -block source: op.prox(arr, tau) = rhs.adjoint(lhs.prox(rhs.apply(arr), tau)) -/Users/mmjasime/Documents/Github/pyxu/doc/guide/algebra.ipynb:76: WARNING: cannot assign to function call here. Maybe you meant '==' instead of '='? (, line 1) in document 'guide/algebra' -Parsed source in `python` block: -block source: op.jacobian(arr) = lhs.jacobian(rhs.apply(arr)) * rhs.jacobian(arr) - op.diff_lipschitz = - linear * linear => 0 - linear * diff => lhs.lipschitz * rhs.diff_lipschitz - diff * linear => lhs.diff_lipschitz * (rhs.lipschitz ** 2) - diff * diff => infty -/Users/mmjasime/Documents/Github/pyxu/doc/guide/algebra.ipynb:87: WARNING: cannot assign to function call here. Maybe you meant '==' instead of '='? (, line 1) in document 'guide/algebra' -Parsed source in `python` block: -block source: op.grad(arr) = lhs.grad(rhs.apply(arr)) @ rhs.jacobian(arr).asarray() -/Users/mmjasime/Documents/Github/pyxu/doc/guide/algebra.ipynb:98: WARNING: invalid syntax (, line 1) in document 'guide/algebra' -Parsed source in `python` block: -block source: >> coo_block(([A(500,1000), B(1,1000), C(500,500), D(1,3)], # data - ... [[0, 1, 0, 2], # i - ... [0, 0, 2, 1], # j - ]),grid_shape=(3, 3)) -/Users/mmjasime/Documents/Github/pyxu/doc/guide/algorithms.ipynb:66: WARNING: invalid syntax (, line 1) in document 'guide/algorithms' -Parsed source in `python` block: -block source: >> K = vstack([K_1, ..., K_J]) - >> H = hstack([h_1, ..., h_J]) -/Users/mmjasime/Documents/Github/pyxu/doc/guide/funcs.ipynb:129: WARNING: Title underline too short. - -Implicit Functionals: The Undercover Agents 🕵️‍♀️ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Users/mmjasime/Documents/Github/pyxu/doc/guide/funcs.ipynb:129: WARNING: Title underline too short. - -Implicit Functionals: The Undercover Agents 🕵️‍♀️ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Users/mmjasime/Documents/Github/pyxu/src/pyxu/operator/interop/jax.py:docstring of pyxu.operator.interop.jax._from_jax:: WARNING: py:class reference target not found: pyxu.operator.interop.jax.JaxArray -/Users/mmjasime/Documents/Github/pyxu/src/pyxu/operator/interop/jax.py:docstring of pyxu.operator.interop.jax._to_jax:: WARNING: py:class reference target not found: pyxu.operator.interop.jax.JaxArray -/Users/mmjasime/Documents/Github/pyxu/src/pyxu/operator/blocks.py:docstring of pyxu.operator.blocks.coo_block:33: WARNING: py:mod reference target not found: pyxu.operator.blocks -/Users/mmjasime/Documents/Github/pyxu/src/pyxu/operator/linop/pad.py:docstring of pyxu.operator.linop.pad.Pad.__init__:10: WARNING: py:class reference target not found: pyxu.operator.linop.pad.Pad.WidthSpec -/Users/mmjasime/Documents/Github/pyxu/src/pyxu/operator/linop/filter.py:docstring of pyxu.operator.linop.filter.MovingAverage:30: WARNING: py:class reference target not found: pyxu.operator.linop.filter.IndexSpec -/Users/mmjasime/Documents/Github/pyxu/src/pyxu/operator/linop/diff.py:docstring of pyxu.operator.linop.diff.Hessian:65: WARNING: py:class reference target not found: (Integer -/Users/mmjasime/Documents/Github/pyxu/src/pyxu/operator/linop/diff.py:docstring of pyxu.operator.linop.diff.Hessian:65: WARNING: py:class reference target not found: Integer) -/Users/mmjasime/Documents/Github/pyxu/src/pyxu/operator/linop/diff.py:docstring of pyxu.operator.linop.diff.Hessian:65: WARNING: py:class reference target not found: ((Integer -/Users/mmjasime/Documents/Github/pyxu/src/pyxu/operator/linop/diff.py:docstring of pyxu.operator.linop.diff.Hessian:65: WARNING: py:class reference target not found: Integer) -/Users/mmjasime/Documents/Github/pyxu/src/pyxu/operator/linop/diff.py:docstring of pyxu.operator.linop.diff.Hessian:65: WARNING: py:class reference target not found: (Integer -/Users/mmjasime/Documents/Github/pyxu/src/pyxu/operator/linop/diff.py:docstring of pyxu.operator.linop.diff.Hessian:65: WARNING: py:class reference target not found: Integer)) +/home/sep/Documents/Repositories/pyxu/doc/references.rst:5: WARNING: Citation [ProxAlg] is not referenced. +/home/sep/Documents/Repositories/pyxu/doc/references.rst:8: WARNING: Citation [ProxSplit] is not referenced. +/home/sep/Documents/Repositories/pyxu/doc/references.rst:19: WARNING: Citation [P2] is not referenced. +/home/sep/Documents/Repositories/pyxu/doc/references.rst:20: WARNING: Citation [GaussProcesses] is not referenced. +/home/sep/Documents/Repositories/pyxu/doc/references.rst:21: WARNING: Citation [SubGauss] is not referenced. +/home/sep/Documents/Repositories/pyxu/doc/references.rst:29: WARNING: Citation [UQ_MCMC] is not referenced. +/home/sep/Documents/Repositories/pyxu/src/pyxu/operator/blocks.py:docstring of pyxu.operator.blocks.coo_block:33: WARNING: py:mod reference target not found: pyxu.operator.blocks +/home/sep/Documents/Repositories/pyxu/src/pyxu/operator/linop/pad.py:docstring of pyxu.operator.linop.pad.Pad.__init__:10: WARNING: py:class reference target not found: pyxu.operator.linop.pad.Pad.WidthSpec +/home/sep/Documents/Repositories/pyxu/src/pyxu/operator/linop/filter.py:docstring of pyxu.operator.linop.filter.MovingAverage:30: WARNING: py:class reference target not found: pyxu.operator.linop.filter.IndexSpec +/home/sep/Documents/Repositories/pyxu/src/pyxu/operator/linop/diff.py:docstring of pyxu.operator.linop.diff.Hessian:65: WARNING: py:class reference target not found: (Integer +/home/sep/Documents/Repositories/pyxu/src/pyxu/operator/linop/diff.py:docstring of pyxu.operator.linop.diff.Hessian:65: WARNING: py:class reference target not found: Integer) +/home/sep/Documents/Repositories/pyxu/src/pyxu/operator/linop/diff.py:docstring of pyxu.operator.linop.diff.Hessian:65: WARNING: py:class reference target not found: ((Integer +/home/sep/Documents/Repositories/pyxu/src/pyxu/operator/linop/diff.py:docstring of pyxu.operator.linop.diff.Hessian:65: WARNING: py:class reference target not found: Integer) +/home/sep/Documents/Repositories/pyxu/src/pyxu/operator/linop/diff.py:docstring of pyxu.operator.linop.diff.Hessian:65: WARNING: py:class reference target not found: (Integer +/home/sep/Documents/Repositories/pyxu/src/pyxu/operator/linop/diff.py:docstring of pyxu.operator.linop.diff.Hessian:65: WARNING: py:class reference target not found: Integer)) +/home/sep/Documents/Repositories/pyxu/doc/examples/contributing.ipynb:42: WARNING: Lexing literal_block '!pip install pyxu-gradient-descent' as "python" resulted in an error at token: '!'. Retrying in relaxed mode. diff --git a/_downloads/.DS_Store b/_downloads/.DS_Store deleted file mode 100644 index 9677c7d8..00000000 Binary files a/_downloads/.DS_Store and /dev/null differ diff --git a/_downloads/001882fa6559d942c582faa9cb948f03/operator-16.png b/_downloads/001882fa6559d942c582faa9cb948f03/operator-16.png deleted file mode 100644 index 0a0e3de5..00000000 Binary files a/_downloads/001882fa6559d942c582faa9cb948f03/operator-16.png and /dev/null differ diff --git a/_downloads/00a03ca7daa38b33580314c7f5f51dcb/operator-12_00.hires.png b/_downloads/00a03ca7daa38b33580314c7f5f51dcb/operator-12_00.hires.png deleted file mode 100644 index 4775db44..00000000 Binary files a/_downloads/00a03ca7daa38b33580314c7f5f51dcb/operator-12_00.hires.png and /dev/null differ diff --git a/_downloads/01d31b53f3906f9c7594bb738943953e/linop-4_01.pdf b/_downloads/01d31b53f3906f9c7594bb738943953e/linop-4_01.pdf deleted file mode 100644 index dfec4ce2..00000000 Binary files a/_downloads/01d31b53f3906f9c7594bb738943953e/linop-4_01.pdf and /dev/null differ diff --git a/_downloads/027b1d95119170b929f57668d02810ce/operator-10.png b/_downloads/027b1d95119170b929f57668d02810ce/operator-10.png deleted file mode 100644 index 9df02f1e..00000000 Binary files a/_downloads/027b1d95119170b929f57668d02810ce/operator-10.png and /dev/null differ diff --git a/_downloads/056a52abc2bba483fc2b1a564d9714ff/linop-13_00.hires.png b/_downloads/056a52abc2bba483fc2b1a564d9714ff/linop-13_00.hires.png deleted file mode 100644 index 4d5d2c76..00000000 Binary files a/_downloads/056a52abc2bba483fc2b1a564d9714ff/linop-13_00.hires.png and /dev/null differ diff --git a/_downloads/070f6a163480e1040e23b47cc06445ff/experimental-1_00_00.hires.png b/_downloads/070f6a163480e1040e23b47cc06445ff/experimental-1_00_00.hires.png deleted file mode 100644 index 846e1b51..00000000 Binary files a/_downloads/070f6a163480e1040e23b47cc06445ff/experimental-1_00_00.hires.png and /dev/null differ diff --git a/_downloads/08c11a4f54d6a5f6b338299631747747/operator-17.hires.png b/_downloads/08c11a4f54d6a5f6b338299631747747/operator-17.hires.png deleted file mode 100644 index 6156a608..00000000 Binary files a/_downloads/08c11a4f54d6a5f6b338299631747747/operator-17.hires.png and /dev/null differ diff --git a/_downloads/09786f40eba03e70a1bcdf11579b8e69/linop-20.hires.png b/_downloads/09786f40eba03e70a1bcdf11579b8e69/linop-20.hires.png deleted file mode 100644 index fe395c67..00000000 Binary files a/_downloads/09786f40eba03e70a1bcdf11579b8e69/linop-20.hires.png and /dev/null differ diff --git a/_downloads/09b83b84e67dd3bf3bfa9889ef5464d2/linop-5.pdf b/_downloads/09b83b84e67dd3bf3bfa9889ef5464d2/linop-5.pdf index 2e60c859..f17bc305 100644 Binary files a/_downloads/09b83b84e67dd3bf3bfa9889ef5464d2/linop-5.pdf and b/_downloads/09b83b84e67dd3bf3bfa9889ef5464d2/linop-5.pdf differ diff --git a/_downloads/0c27d2285c5e9a51cef246afff3163ad/operator-4_00.hires.png b/_downloads/0c27d2285c5e9a51cef246afff3163ad/operator-4_00.hires.png deleted file mode 100644 index e0f5bc76..00000000 Binary files a/_downloads/0c27d2285c5e9a51cef246afff3163ad/operator-4_00.hires.png and /dev/null differ diff --git a/_downloads/0e4825835a3d6d1b8ed46f992d78d573/linop-3_00.pdf b/_downloads/0e4825835a3d6d1b8ed46f992d78d573/linop-3_00.pdf deleted file mode 100644 index 28c9817f..00000000 Binary files a/_downloads/0e4825835a3d6d1b8ed46f992d78d573/linop-3_00.pdf and /dev/null differ diff --git a/_downloads/0f251ac595e8816e9c76523c2acfad07/linop-13_01.png b/_downloads/0f251ac595e8816e9c76523c2acfad07/linop-13_01.png deleted file mode 100644 index df404bc2..00000000 Binary files a/_downloads/0f251ac595e8816e9c76523c2acfad07/linop-13_01.png and /dev/null differ diff --git a/_downloads/0f65a5f8726612599305eeb053b028a0/linop-13_01.pdf b/_downloads/0f65a5f8726612599305eeb053b028a0/linop-13_01.pdf deleted file mode 100644 index de9d8df4..00000000 Binary files a/_downloads/0f65a5f8726612599305eeb053b028a0/linop-13_01.pdf and /dev/null differ diff --git a/_downloads/129c00df1a520657bba17d5d67553f10/operator-21_01.pdf b/_downloads/129c00df1a520657bba17d5d67553f10/operator-21_01.pdf deleted file mode 100644 index 93bf5e58..00000000 Binary files a/_downloads/129c00df1a520657bba17d5d67553f10/operator-21_01.pdf and /dev/null differ diff --git a/_downloads/157c6163c0348ead39d6ceb2a1fd7fbe/linop-11_02.hires.png b/_downloads/157c6163c0348ead39d6ceb2a1fd7fbe/linop-11_02.hires.png deleted file mode 100644 index c6b1db43..00000000 Binary files a/_downloads/157c6163c0348ead39d6ceb2a1fd7fbe/linop-11_02.hires.png and /dev/null differ diff --git a/_downloads/1702b305e1cb9e54e7738ebc64606e50/linop-11_01.hires.png b/_downloads/1702b305e1cb9e54e7738ebc64606e50/linop-11_01.hires.png index fb6eebf1..d5b90890 100644 Binary files a/_downloads/1702b305e1cb9e54e7738ebc64606e50/linop-11_01.hires.png and b/_downloads/1702b305e1cb9e54e7738ebc64606e50/linop-11_01.hires.png differ diff --git a/_downloads/176694d4afd8c703e2f166119010b4a5/operator-12.py b/_downloads/176694d4afd8c703e2f166119010b4a5/operator-12.py deleted file mode 100644 index 8a895bdc..00000000 --- a/_downloads/176694d4afd8c703e2f166119010b4a5/operator-12.py +++ /dev/null @@ -1,27 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from pyxu.operator import DirectionalLaplacian -from pyxu.util.misc import peaks - -x = np.linspace(-2.5, 2.5, 25) -xx, yy = np.meshgrid(x, x) -z = peaks(xx, yy) -directions1 = np.zeros(shape=(2, z.size)) -directions1[0, :z.size // 2] = 1 -directions1[1, z.size // 2:] = 1 -directions2 = np.zeros(shape=(2, z.size)) -directions2[1, :z.size // 2] = -1 -directions2[0, z.size // 2:] = -1 -arg_shape = z.shape -dop = DirectionalLaplacian(arg_shape=arg_shape, directions=[directions1, directions2]) -out = dop.unravel(dop(z.ravel())) -plt.figure() -h = plt.pcolormesh(xx, yy, z, shading='auto') -plt.quiver(x, x, directions1[1].reshape(arg_shape), directions1[0].reshape(xx.shape)) -plt.quiver(x, x, directions2[1].reshape(arg_shape), directions2[0].reshape(xx.shape), color='red') -plt.colorbar(h) -plt.title('Signal and directions of derivatives') -plt.figure() -h = plt.pcolormesh(xx, yy, out.squeeze(), shading='auto') -plt.colorbar(h) -plt.title('Directional Laplacian') \ No newline at end of file diff --git a/_downloads/17ea64344184b13eb3942803c2022ec7/linop-9.pdf b/_downloads/17ea64344184b13eb3942803c2022ec7/linop-9.pdf index ce8e9671..f154ca06 100644 Binary files a/_downloads/17ea64344184b13eb3942803c2022ec7/linop-9.pdf and b/_downloads/17ea64344184b13eb3942803c2022ec7/linop-9.pdf differ diff --git a/_downloads/191962a7e06446281208e5b3542ba6d8/operator-13_02.png b/_downloads/191962a7e06446281208e5b3542ba6d8/operator-13_02.png deleted file mode 100644 index d66751f8..00000000 Binary files a/_downloads/191962a7e06446281208e5b3542ba6d8/operator-13_02.png and /dev/null differ diff --git a/_downloads/1afb1ff7f88d33f9d3bf15c2560c74ef/linop-11_01.png b/_downloads/1afb1ff7f88d33f9d3bf15c2560c74ef/linop-11_01.png index 23895dd6..1e266f6f 100644 Binary files a/_downloads/1afb1ff7f88d33f9d3bf15c2560c74ef/linop-11_01.png and b/_downloads/1afb1ff7f88d33f9d3bf15c2560c74ef/linop-11_01.png differ diff --git a/_downloads/1b73e81f624aaa2edc92c239025b33b2/operator-2.pdf b/_downloads/1b73e81f624aaa2edc92c239025b33b2/operator-2.pdf deleted file mode 100644 index abea4912..00000000 Binary files a/_downloads/1b73e81f624aaa2edc92c239025b33b2/operator-2.pdf and /dev/null differ diff --git a/_downloads/1cd8e614728fc68270743fa172a043f0/linop-11_00.pdf b/_downloads/1cd8e614728fc68270743fa172a043f0/linop-11_00.pdf index b3e56e61..79b548cb 100644 Binary files a/_downloads/1cd8e614728fc68270743fa172a043f0/linop-11_00.pdf and b/_downloads/1cd8e614728fc68270743fa172a043f0/linop-11_00.pdf differ diff --git a/_downloads/1e56b08165a1aaab1d61109119a49a7f/opt-2.py b/_downloads/1e56b08165a1aaab1d61109119a49a7f/opt-2.py deleted file mode 100644 index 50219928..00000000 --- a/_downloads/1e56b08165a1aaab1d61109119a49a7f/opt-2.py +++ /dev/null @@ -1,31 +0,0 @@ -import matplotlib.pyplot as plt -import numpy as np -import pyxu.operator as pxo -from pyxu.experimental._dev import DownSampling, FirstDerivative -from pyxu.opt.solver import PD3O - -x = np.repeat(np.asarray([0, 2, 1, 3, 0, 2, 0]), 10) -N = x.size - -D = FirstDerivative(size=N, kind="forward") -D.lipschitz = D.estimate_lipschitz() - -downsample = DownSampling(size=N, downsampling_factor=3) -y = downsample(x) -loss = (1 / 2) * pxo.SquaredL2Norm(y.size).argshift(-y) -F = loss * downsample -F.diff_lipschitz = F.estimate_diff_lipschitz() - -pd3o = PD3O(f=F, g=0.01 * pxo.L1Norm(N), h=0.1 * pxo.L1Norm(N), K=D) -x0, z0 = np.zeros((2, N)) -pd3o.fit(x0=x0, z0=z0) -x_recons = pd3o.solution()[0] - -plt.figure() -plt.stem(x, linefmt="C0-", markerfmt="C0o") -mask_ids = np.where(downsample.downsampling_mask)[0] -markerline, stemlines, baseline = plt.stem(mask_ids, y, linefmt="C3-", markerfmt="C3o") -markerline.set_markerfacecolor("none") -plt.stem(x_recons, linefmt="C1--", markerfmt="C1s") -plt.legend(["Ground truth", "Observation", "PD3O Estimate"]) -plt.show() \ No newline at end of file diff --git a/_downloads/1f117a6a28d0313d35ba2f9b8f29caee/linop-8.pdf b/_downloads/1f117a6a28d0313d35ba2f9b8f29caee/linop-8.pdf index 3240fe4c..1ac6e885 100644 Binary files a/_downloads/1f117a6a28d0313d35ba2f9b8f29caee/linop-8.pdf and b/_downloads/1f117a6a28d0313d35ba2f9b8f29caee/linop-8.pdf differ diff --git a/_downloads/210cb0deb2ac8363471ad2f714bf5985/operator-18.hires.png b/_downloads/210cb0deb2ac8363471ad2f714bf5985/operator-18.hires.png deleted file mode 100644 index 304a30db..00000000 Binary files a/_downloads/210cb0deb2ac8363471ad2f714bf5985/operator-18.hires.png and /dev/null differ diff --git a/_downloads/21d149a39c58daf587fccda553930dfa/linop-21.png b/_downloads/21d149a39c58daf587fccda553930dfa/linop-21.png deleted file mode 100644 index 707cde96..00000000 Binary files a/_downloads/21d149a39c58daf587fccda553930dfa/linop-21.png and /dev/null differ diff --git a/_downloads/224d8e48ea022f3ad8e02331df42dace/operator-14.hires.png b/_downloads/224d8e48ea022f3ad8e02331df42dace/operator-14.hires.png deleted file mode 100644 index 69769eda..00000000 Binary files a/_downloads/224d8e48ea022f3ad8e02331df42dace/operator-14.hires.png and /dev/null differ diff --git a/_downloads/23893637b3327ac8e6693fb7ff55df1e/linop-21_01.pdf b/_downloads/23893637b3327ac8e6693fb7ff55df1e/linop-21_01.pdf index f0970baa..88491b07 100644 Binary files a/_downloads/23893637b3327ac8e6693fb7ff55df1e/linop-21_01.pdf and b/_downloads/23893637b3327ac8e6693fb7ff55df1e/linop-21_01.pdf differ diff --git a/_downloads/2567cfd1b90b151e14d7b845b313e372/operator-13_03.png b/_downloads/2567cfd1b90b151e14d7b845b313e372/operator-13_03.png deleted file mode 100644 index 77f49770..00000000 Binary files a/_downloads/2567cfd1b90b151e14d7b845b313e372/operator-13_03.png and /dev/null differ diff --git a/_downloads/298e89895fe824420ba2e49aeb0c3fea/operator-8.hires.png b/_downloads/298e89895fe824420ba2e49aeb0c3fea/operator-8.hires.png deleted file mode 100644 index b0ad33fd..00000000 Binary files a/_downloads/298e89895fe824420ba2e49aeb0c3fea/operator-8.hires.png and /dev/null differ diff --git a/_downloads/29a19a1fb21ffd45345b62d68053b614/operator-13_03.hires.png b/_downloads/29a19a1fb21ffd45345b62d68053b614/operator-13_03.hires.png deleted file mode 100644 index 79c9d498..00000000 Binary files a/_downloads/29a19a1fb21ffd45345b62d68053b614/operator-13_03.hires.png and /dev/null differ diff --git a/_downloads/2a27831b457a8e11354eed9aa36db333/operator-13_03.pdf b/_downloads/2a27831b457a8e11354eed9aa36db333/operator-13_03.pdf deleted file mode 100644 index 00f1a911..00000000 Binary files a/_downloads/2a27831b457a8e11354eed9aa36db333/operator-13_03.pdf and /dev/null differ diff --git a/_downloads/2b553e753c10e27428470a2afb36677c/opt-3.pdf b/_downloads/2b553e753c10e27428470a2afb36677c/opt-3.pdf deleted file mode 100644 index db139356..00000000 Binary files a/_downloads/2b553e753c10e27428470a2afb36677c/opt-3.pdf and /dev/null differ diff --git a/_downloads/2df7baa26b1216d90e237608efc19755/operator-3_01.hires.png b/_downloads/2df7baa26b1216d90e237608efc19755/operator-3_01.hires.png deleted file mode 100644 index fb6eebf1..00000000 Binary files a/_downloads/2df7baa26b1216d90e237608efc19755/operator-3_01.hires.png and /dev/null differ diff --git a/_downloads/2dfedee52a994ad94fb7bd9b94482b47/linop-19.hires.png b/_downloads/2dfedee52a994ad94fb7bd9b94482b47/linop-19.hires.png deleted file mode 100644 index 304a30db..00000000 Binary files a/_downloads/2dfedee52a994ad94fb7bd9b94482b47/linop-19.hires.png and /dev/null differ diff --git a/_downloads/2e608f839a2dd0470c1ea869e20bccde/operator-4_00.pdf b/_downloads/2e608f839a2dd0470c1ea869e20bccde/operator-4_00.pdf deleted file mode 100644 index b19ad1ad..00000000 Binary files a/_downloads/2e608f839a2dd0470c1ea869e20bccde/operator-4_00.pdf and /dev/null differ diff --git a/_downloads/2e7add4265c7fc537212f569e3f61c7f/misc-2.pdf b/_downloads/2e7add4265c7fc537212f569e3f61c7f/misc-2.pdf index 3b444152..715ea42a 100644 Binary files a/_downloads/2e7add4265c7fc537212f569e3f61c7f/misc-2.pdf and b/_downloads/2e7add4265c7fc537212f569e3f61c7f/misc-2.pdf differ diff --git a/_downloads/2fc8c1957a4c7f9f2fe757e5469a31e4/operator-18.pdf b/_downloads/2fc8c1957a4c7f9f2fe757e5469a31e4/operator-18.pdf deleted file mode 100644 index dd1be07b..00000000 Binary files a/_downloads/2fc8c1957a4c7f9f2fe757e5469a31e4/operator-18.pdf and /dev/null differ diff --git a/_downloads/32a76fb4fe0570a9a6b22a68761ff535/experimental-sampler-1_00_00.pdf b/_downloads/32a76fb4fe0570a9a6b22a68761ff535/experimental-sampler-1_00_00.pdf index ca3af06c..04d30543 100644 Binary files a/_downloads/32a76fb4fe0570a9a6b22a68761ff535/experimental-sampler-1_00_00.pdf and b/_downloads/32a76fb4fe0570a9a6b22a68761ff535/experimental-sampler-1_00_00.pdf differ diff --git a/_downloads/3350197cf4a2d8503d4a5460eee1fd3b/operator-16.pdf b/_downloads/3350197cf4a2d8503d4a5460eee1fd3b/operator-16.pdf deleted file mode 100644 index 46f5b645..00000000 Binary files a/_downloads/3350197cf4a2d8503d4a5460eee1fd3b/operator-16.pdf and /dev/null differ diff --git a/_downloads/346e1717be7da8fa867cbbe2294f196a/operator-21_02.pdf b/_downloads/346e1717be7da8fa867cbbe2294f196a/operator-21_02.pdf deleted file mode 100644 index bb5327d9..00000000 Binary files a/_downloads/346e1717be7da8fa867cbbe2294f196a/operator-21_02.pdf and /dev/null differ diff --git a/_downloads/3566084b06716c19cd096b504dd5245c/linop-10.png b/_downloads/3566084b06716c19cd096b504dd5245c/linop-10.png deleted file mode 100644 index 9df02f1e..00000000 Binary files a/_downloads/3566084b06716c19cd096b504dd5245c/linop-10.png and /dev/null differ diff --git a/_downloads/36fe774d4b9531a9b7471cccf5df7552/operator-5.png b/_downloads/36fe774d4b9531a9b7471cccf5df7552/operator-5.png deleted file mode 100644 index 3caac993..00000000 Binary files a/_downloads/36fe774d4b9531a9b7471cccf5df7552/operator-5.png and /dev/null differ diff --git a/_downloads/390b0bd8774742dfe7b58970af28e8c4/operator-12_00.png b/_downloads/390b0bd8774742dfe7b58970af28e8c4/operator-12_00.png deleted file mode 100644 index c28866bc..00000000 Binary files a/_downloads/390b0bd8774742dfe7b58970af28e8c4/operator-12_00.png and /dev/null differ diff --git a/_downloads/398290731e77c5555d2871cb9b024a36/linop-4_01.hires.png b/_downloads/398290731e77c5555d2871cb9b024a36/linop-4_01.hires.png deleted file mode 100644 index b50b6dfb..00000000 Binary files a/_downloads/398290731e77c5555d2871cb9b024a36/linop-4_01.hires.png and /dev/null differ diff --git a/_downloads/3a7603daabb4101f49f7a9dd513ab803/operator-6.hires.png b/_downloads/3a7603daabb4101f49f7a9dd513ab803/operator-6.hires.png deleted file mode 100644 index 2e97dd48..00000000 Binary files a/_downloads/3a7603daabb4101f49f7a9dd513ab803/operator-6.hires.png and /dev/null differ diff --git a/_downloads/3b75210a4ac872e658bfc6fd21a99402/linop-18.pdf b/_downloads/3b75210a4ac872e658bfc6fd21a99402/linop-18.pdf index cc85125c..5cf17098 100644 Binary files a/_downloads/3b75210a4ac872e658bfc6fd21a99402/linop-18.pdf and b/_downloads/3b75210a4ac872e658bfc6fd21a99402/linop-18.pdf differ diff --git a/_downloads/3d5a83560b1cd58d557e6254a9784261/operator-19.png b/_downloads/3d5a83560b1cd58d557e6254a9784261/operator-19.png deleted file mode 100644 index cf0cf366..00000000 Binary files a/_downloads/3d5a83560b1cd58d557e6254a9784261/operator-19.png and /dev/null differ diff --git a/_downloads/3e00ef9813368e3b18ae614801b6914c/opt-1.png b/_downloads/3e00ef9813368e3b18ae614801b6914c/opt-1.png deleted file mode 100644 index 5b1ae4f0..00000000 Binary files a/_downloads/3e00ef9813368e3b18ae614801b6914c/opt-1.png and /dev/null differ diff --git a/_downloads/40fedab1780635b89af691e5c4ea11fb/operator-18.py b/_downloads/40fedab1780635b89af691e5c4ea11fb/operator-18.py deleted file mode 100644 index c6cfdede..00000000 --- a/_downloads/40fedab1780635b89af691e5c4ea11fb/operator-18.py +++ /dev/null @@ -1,16 +0,0 @@ -import matplotlib.pyplot as plt -from pyxu.operator import Sobel - -arg_shape = (11, 11) -image = np.zeros(arg_shape) -image[5, 5] = 1. - -sobel = Sobel(arg_shape) -out = sobel(image.ravel()) -plt.figure(figsize=(10, 5)) -plt.subplot(121) -plt.imshow(image) -plt.colorbar() -plt.subplot(122) -plt.imshow(out.reshape(*arg_shape)) -plt.colorbar() \ No newline at end of file diff --git a/_downloads/427c29d9fe06f23074682a0c3cb7f952/operator-15.png b/_downloads/427c29d9fe06f23074682a0c3cb7f952/operator-15.png deleted file mode 100644 index 26a935f1..00000000 Binary files a/_downloads/427c29d9fe06f23074682a0c3cb7f952/operator-15.png and /dev/null differ diff --git a/_downloads/43864c0e1201a6ed908d58fc3d598b00/operator-12_01.hires.png b/_downloads/43864c0e1201a6ed908d58fc3d598b00/operator-12_01.hires.png deleted file mode 100644 index 34e902e5..00000000 Binary files a/_downloads/43864c0e1201a6ed908d58fc3d598b00/operator-12_01.hires.png and /dev/null differ diff --git a/_downloads/4617a7e816843b4107fe1d29530b7702/operator-6.pdf b/_downloads/4617a7e816843b4107fe1d29530b7702/operator-6.pdf deleted file mode 100644 index afcd5a93..00000000 Binary files a/_downloads/4617a7e816843b4107fe1d29530b7702/operator-6.pdf and /dev/null differ diff --git a/_downloads/468910fa079d504203df7361bc14fe4f/operator-1_01.pdf b/_downloads/468910fa079d504203df7361bc14fe4f/operator-1_01.pdf index 77e1513b..31cffbd8 100644 Binary files a/_downloads/468910fa079d504203df7361bc14fe4f/operator-1_01.pdf and b/_downloads/468910fa079d504203df7361bc14fe4f/operator-1_01.pdf differ diff --git a/_downloads/46ba4351fee97ccd2e3d0aba89e7413d/linop-14.pdf b/_downloads/46ba4351fee97ccd2e3d0aba89e7413d/linop-14.pdf index 17baa0ae..ab53dfa2 100644 Binary files a/_downloads/46ba4351fee97ccd2e3d0aba89e7413d/linop-14.pdf and b/_downloads/46ba4351fee97ccd2e3d0aba89e7413d/linop-14.pdf differ diff --git a/_downloads/4769d18f8e2c0bf193e34be59a343ebb/opt-3.py b/_downloads/4769d18f8e2c0bf193e34be59a343ebb/opt-3.py deleted file mode 100644 index 2b58eeeb..00000000 --- a/_downloads/4769d18f8e2c0bf193e34be59a343ebb/opt-3.py +++ /dev/null @@ -1,58 +0,0 @@ -import matplotlib.pyplot as plt -import numpy as np -import pyxu.abc as pxa -import pyxu.operator as pxo -import scipy as sp -from pyxu.opt.solver import ADMM - -N = 100 # Dimension of the problem - -# Generate piecewise-linear ground truth -x_gt = np.array([10, 25, 60, 90]) # Knot locations -a_gt = np.array([2, -4, 3, -2]) # Amplitudes of the knots -gt = np.zeros(N) # Ground-truth signal -for n in range(len(x_gt)): - gt[x_gt[n] :] += a_gt[n] * np.arange(N - x_gt[n]) / N - -# Generate data (noisy samples at random locations) -M = 20 # Number of data points -rng = np.random.default_rng(seed=0) -x_samp = rng.choice(np.arange(N // M), size=M) + np.arange(N, step=N // M) # sampling locations -sigma = 2 * 1e-2 # noise variance -y = gt[x_samp] + sigma * rng.standard_normal(size=M) # noisy data points - -# Data-fidelity term -subsamp_mat = sp.sparse.lil_matrix((M, N)) -for i in range(M): - subsamp_mat[i, x_samp[i]] = 1 -G = pxa.LinOp.from_array(subsamp_mat.tocsr()) -F = 1 / 2 * pxo.SquaredL2Norm(dim=y.size).argshift(-y) * G -F.diff_lipschitz = F.estimate_diff_lipschitz(method="svd") - -# Regularization term (promotes sparse second derivatives) -deriv_mat = sp.sparse.diags(diagonals=[1, -2, 1], offsets=[0, 1, 2], shape=(N - 2, N)) -D = pxa.LinOp.from_array(deriv_mat) -_lambda = 1e-1 # regularization parameter -H = _lambda * pxo.L1Norm(dim=D.codim) - -# Solver for ADMM -tau = 1 / _lambda # internal ADMM parameter -# Inverse operator to solve the linear system -A_inv = sp.linalg.inv(G.gram().asarray() + (1 / tau) * D.gram().asarray()) - -def solver_ADMM(arr, tau): - b = (1 / tau) * D.adjoint(arr) + G.adjoint(y) - return A_inv @ b.squeeze() - - -# Solve optimization problem -admm = ADMM(f=F, h=H, K=D, solver=solver_ADMM,show_progress=False) # with solver -admm.fit(x0=np.zeros(N), tau=tau) -x_opt = admm.solution() # reconstructed signal - -# Plots -plt.figure() -plt.plot(np.arange(N), gt, label="Ground truth") -plt.plot(x_samp, y, "kx", label="Noisy data points") -plt.plot(np.arange(N), x_opt, label="Reconstructed signal") -plt.legend() \ No newline at end of file diff --git a/_downloads/4835132393171dc4fee6fa57fd1d6c6a/experimental-1_01_00.hires.png b/_downloads/4835132393171dc4fee6fa57fd1d6c6a/experimental-1_01_00.hires.png deleted file mode 100644 index aa5b1c63..00000000 Binary files a/_downloads/4835132393171dc4fee6fa57fd1d6c6a/experimental-1_01_00.hires.png and /dev/null differ diff --git a/_downloads/4b255f3f357b804c1d553a554aa9a10e/operator-9.hires.png b/_downloads/4b255f3f357b804c1d553a554aa9a10e/operator-9.hires.png deleted file mode 100644 index c455c5d4..00000000 Binary files a/_downloads/4b255f3f357b804c1d553a554aa9a10e/operator-9.hires.png and /dev/null differ diff --git a/_downloads/4ba5c9eaac728e0995605bd6a8c46c0b/operator-21_02.hires.png b/_downloads/4ba5c9eaac728e0995605bd6a8c46c0b/operator-21_02.hires.png deleted file mode 100644 index f93b073e..00000000 Binary files a/_downloads/4ba5c9eaac728e0995605bd6a8c46c0b/operator-21_02.hires.png and /dev/null differ diff --git a/_downloads/4cc16af0bb9cf504a115b5d05f3dbec2/linop-4_02.png b/_downloads/4cc16af0bb9cf504a115b5d05f3dbec2/linop-4_02.png deleted file mode 100644 index e557225d..00000000 Binary files a/_downloads/4cc16af0bb9cf504a115b5d05f3dbec2/linop-4_02.png and /dev/null differ diff --git a/_downloads/501c0d344ad2b1378a6ffc9e3b3f1ab0/operator-19.pdf b/_downloads/501c0d344ad2b1378a6ffc9e3b3f1ab0/operator-19.pdf deleted file mode 100644 index aa89b022..00000000 Binary files a/_downloads/501c0d344ad2b1378a6ffc9e3b3f1ab0/operator-19.pdf and /dev/null differ diff --git a/_downloads/507c4e7f83f78bf820d3fcff11186a24/operator-11_00.png b/_downloads/507c4e7f83f78bf820d3fcff11186a24/operator-11_00.png deleted file mode 100644 index 29997314..00000000 Binary files a/_downloads/507c4e7f83f78bf820d3fcff11186a24/operator-11_00.png and /dev/null differ diff --git a/_downloads/51314ba6ee1ae39115d8e0d37bb6ae91/operator-6.png b/_downloads/51314ba6ee1ae39115d8e0d37bb6ae91/operator-6.png deleted file mode 100644 index 60d90a67..00000000 Binary files a/_downloads/51314ba6ee1ae39115d8e0d37bb6ae91/operator-6.png and /dev/null differ diff --git a/_downloads/524c1e2c0e80a155bd2bc9ca41e01180/operator-9.pdf b/_downloads/524c1e2c0e80a155bd2bc9ca41e01180/operator-9.pdf deleted file mode 100644 index 63adde5a..00000000 Binary files a/_downloads/524c1e2c0e80a155bd2bc9ca41e01180/operator-9.pdf and /dev/null differ diff --git a/_downloads/53d0049ee495e879d6713207dec87fb4/opt-solver-3.png b/_downloads/53d0049ee495e879d6713207dec87fb4/opt-solver-3.png index b769785d..d652c5bf 100644 Binary files a/_downloads/53d0049ee495e879d6713207dec87fb4/opt-solver-3.png and b/_downloads/53d0049ee495e879d6713207dec87fb4/opt-solver-3.png differ diff --git a/_downloads/5420c90dcdf9b097dbed8ebf47bc7a03/util-2.pdf b/_downloads/5420c90dcdf9b097dbed8ebf47bc7a03/util-2.pdf index 0c6a330b..a4a41f07 100644 Binary files a/_downloads/5420c90dcdf9b097dbed8ebf47bc7a03/util-2.pdf and b/_downloads/5420c90dcdf9b097dbed8ebf47bc7a03/util-2.pdf differ diff --git a/_downloads/557f177f4b474935fc904081afacebf3/operator-3.py b/_downloads/557f177f4b474935fc904081afacebf3/operator-3.py deleted file mode 100644 index 725e0ddf..00000000 --- a/_downloads/557f177f4b474935fc904081afacebf3/operator-3.py +++ /dev/null @@ -1,40 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from pyxu.operator import PartialDerivative -from pyxu.util.misc import peaks - -x = np.linspace(-2.5, 2.5, 25) -xx, yy = np.meshgrid(x, x) -image = peaks(xx, yy) -arg_shape = image.shape # Shape of our image -# Specify derivative order at each direction -df_dx = (1, 0) # Compute derivative of order 1 in first dimension -d2f_dy2 = (0, 2) # Compute derivative of order 2 in second dimension -d3f_dxdy2 = (1, 2) # Compute derivative of order 1 in first dimension and der. of order 2 in second dimension -# Instantiate derivative operators -sigma = 2.0 -diff1 = PartialDerivative.gaussian_derivative(order=df_dx, arg_shape=arg_shape, sigma=sigma / np.sqrt(2)) -diff2 = PartialDerivative.gaussian_derivative(order=d2f_dy2, arg_shape=arg_shape, sigma=sigma / np.sqrt(2)) -diff = PartialDerivative.gaussian_derivative(order=d3f_dxdy2, arg_shape=arg_shape, sigma=sigma) -# Compute derivatives -out1 = (diff1 * diff2)(image.ravel()).reshape(arg_shape) -out2 = diff(image.ravel()).reshape(arg_shape) -# Plot derivatives -fig, axs = plt.subplots(1, 3, figsize=(15, 4)) -im = axs[0].imshow(image) -axs[0].axis("off") -axs[0].set_title("f(x,y)") -plt.colorbar(im, ax=axs[0]) -axs[1].imshow(out1) -axs[1].axis("off") -axs[1].set_title(r"$\frac{\partial^{3} f(x,y)}{\partial x\partial y^{2}}$") -plt.colorbar(im, ax=axs[1]) - -axs[2].imshow(out2) -axs[2].axis("off") -axs[2].set_title(r"$\frac{\partial^{3} f(x,y)}{\partial x\partial y^{2}}$") -plt.colorbar(im, ax=axs[2]) - -# Test approximation error -plt.figure() -plt.imshow(abs(out1 - out2) / abs(out2)), plt.colorbar() \ No newline at end of file diff --git a/_downloads/55854ad41c5a3d5cbee9b24ef1577582/operator-15.hires.png b/_downloads/55854ad41c5a3d5cbee9b24ef1577582/operator-15.hires.png deleted file mode 100644 index 5e23f460..00000000 Binary files a/_downloads/55854ad41c5a3d5cbee9b24ef1577582/operator-15.hires.png and /dev/null differ diff --git a/_downloads/55d371222ffd54cabbfd4963a3d08463/linop-13_03.png b/_downloads/55d371222ffd54cabbfd4963a3d08463/linop-13_03.png deleted file mode 100644 index 77f49770..00000000 Binary files a/_downloads/55d371222ffd54cabbfd4963a3d08463/linop-13_03.png and /dev/null differ diff --git a/_downloads/57fe8e40f534fdcff0e15bffe502c8fe/operator-14.pdf b/_downloads/57fe8e40f534fdcff0e15bffe502c8fe/operator-14.pdf deleted file mode 100644 index 59edca89..00000000 Binary files a/_downloads/57fe8e40f534fdcff0e15bffe502c8fe/operator-14.pdf and /dev/null differ diff --git a/_downloads/5822ec21ae4dcb79a8910f34bb426b2a/operator-15.py b/_downloads/5822ec21ae4dcb79a8910f34bb426b2a/operator-15.py deleted file mode 100644 index 6af655cf..00000000 --- a/_downloads/5822ec21ae4dcb79a8910f34bb426b2a/operator-15.py +++ /dev/null @@ -1,16 +0,0 @@ -import matplotlib.pyplot as plt -from pyxu.operator import Gaussian - -arg_shape = (11, 11) -image = np.zeros(arg_shape) -image[5, 5] = 1. - -gaussian = Gaussian(arg_shape, sigma=3) -out = gaussian(image.ravel()) -plt.figure(figsize=(10, 5)) -plt.subplot(121) -plt.imshow(image) -plt.colorbar() -plt.subplot(122) -plt.imshow(out.reshape(*arg_shape)) -plt.colorbar() \ No newline at end of file diff --git a/_downloads/59794358488e15e2bf1ca40d5f99cb9e/operator-12_01.pdf b/_downloads/59794358488e15e2bf1ca40d5f99cb9e/operator-12_01.pdf deleted file mode 100644 index ed4f05f3..00000000 Binary files a/_downloads/59794358488e15e2bf1ca40d5f99cb9e/operator-12_01.pdf and /dev/null differ diff --git a/_downloads/59deb88b8c72373ae195592f25d7ee24/operator-7.pdf b/_downloads/59deb88b8c72373ae195592f25d7ee24/operator-7.pdf deleted file mode 100644 index 120c0519..00000000 Binary files a/_downloads/59deb88b8c72373ae195592f25d7ee24/operator-7.pdf and /dev/null differ diff --git a/_downloads/5a9ba501121acc4e444b2d68b182a34f/linop-11_02.pdf b/_downloads/5a9ba501121acc4e444b2d68b182a34f/linop-11_02.pdf deleted file mode 100644 index de235727..00000000 Binary files a/_downloads/5a9ba501121acc4e444b2d68b182a34f/linop-11_02.pdf and /dev/null differ diff --git a/_downloads/5acb9b748c14cdfa52f2de300f4722e9/operator-11_02.hires.png b/_downloads/5acb9b748c14cdfa52f2de300f4722e9/operator-11_02.hires.png deleted file mode 100644 index c6b1db43..00000000 Binary files a/_downloads/5acb9b748c14cdfa52f2de300f4722e9/operator-11_02.hires.png and /dev/null differ diff --git a/_downloads/5aff9c364459ff6030f38559ad70a41d/operator-20.pdf b/_downloads/5aff9c364459ff6030f38559ad70a41d/operator-20.pdf deleted file mode 100644 index c3711b80..00000000 Binary files a/_downloads/5aff9c364459ff6030f38559ad70a41d/operator-20.pdf and /dev/null differ diff --git a/_downloads/5bc77603e37ab6857e35a64c763b0285/operator-13.py b/_downloads/5bc77603e37ab6857e35a64c763b0285/operator-13.py deleted file mode 100644 index ddc93cd0..00000000 --- a/_downloads/5bc77603e37ab6857e35a64c763b0285/operator-13.py +++ /dev/null @@ -1,35 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from pyxu.operator import DirectionalHessian -from pyxu.util.misc import peaks - -x = np.linspace(-2.5, 2.5, 25) -xx, yy = np.meshgrid(x, x) -z = peaks(xx, yy) -directions1 = np.zeros(shape=(2, z.size)) -directions1[0, :z.size // 2] = 1 -directions1[1, z.size // 2:] = 1 -directions2 = np.zeros(shape=(2, z.size)) -directions2[1, :z.size // 2] = -1 -directions2[0, z.size // 2:] = -1 -arg_shape = z.shape -d_hess = DirectionalHessian(arg_shape=arg_shape, directions=[directions1, directions2]) -out = d_hess.unravel(d_hess(z.ravel())) -plt.figure() -h = plt.pcolormesh(xx, yy, z, shading='auto') -plt.quiver(x, x, directions1[1].reshape(arg_shape), directions1[0].reshape(xx.shape)) -plt.quiver(x, x, directions2[1].reshape(arg_shape), directions2[0].reshape(xx.shape), color='red') -plt.colorbar(h) -plt.title(r'Signal $\mathbf{f}$ and directions of derivatives') -plt.figure() -h = plt.pcolormesh(xx, yy, out[0], shading='auto') -plt.colorbar(h) -plt.title(r'$\nabla^2_{\mathbf{v}_0} \mathbf{f}$') -plt.figure() -h = plt.pcolormesh(xx, yy, out[1], shading='auto') -plt.colorbar(h) -plt.title(r'$\nabla_{\mathbf{v}_0} \nabla_{\mathbf{v}_{1}} \mathbf{f}$') -plt.figure() -h = plt.pcolormesh(xx, yy, out[2], shading='auto') -plt.colorbar(h) -plt.title(r'$\nabla^2_{\mathbf{v}_1} \mathbf{f}$') \ No newline at end of file diff --git a/_downloads/5be70851f96b004b61b84e14faba6d02/util-1.pdf b/_downloads/5be70851f96b004b61b84e14faba6d02/util-1.pdf index 94a15e57..8e452f2d 100644 Binary files a/_downloads/5be70851f96b004b61b84e14faba6d02/util-1.pdf and b/_downloads/5be70851f96b004b61b84e14faba6d02/util-1.pdf differ diff --git a/_downloads/5c238fb268b33a8da224f181740013f5/operator-3_00.hires.png b/_downloads/5c238fb268b33a8da224f181740013f5/operator-3_00.hires.png deleted file mode 100644 index 2cd6cbd3..00000000 Binary files a/_downloads/5c238fb268b33a8da224f181740013f5/operator-3_00.hires.png and /dev/null differ diff --git a/_downloads/5d831190e971237b56d4c6f5001a1497/linop-1.pdf b/_downloads/5d831190e971237b56d4c6f5001a1497/linop-1.pdf index 49c74c60..a846ba25 100644 Binary files a/_downloads/5d831190e971237b56d4c6f5001a1497/linop-1.pdf and b/_downloads/5d831190e971237b56d4c6f5001a1497/linop-1.pdf differ diff --git a/_downloads/5dae74c59590de9941fc8e69d39c3f0c/linop-21.hires.png b/_downloads/5dae74c59590de9941fc8e69d39c3f0c/linop-21.hires.png deleted file mode 100644 index a16df524..00000000 Binary files a/_downloads/5dae74c59590de9941fc8e69d39c3f0c/linop-21.hires.png and /dev/null differ diff --git a/_downloads/5e5b9b1c67e25e4482d76496b68f3b68/experimental-1.py b/_downloads/5e5b9b1c67e25e4482d76496b68f3b68/experimental-1.py deleted file mode 100644 index d5ab99f6..00000000 --- a/_downloads/5e5b9b1c67e25e4482d76496b68f3b68/experimental-1.py +++ /dev/null @@ -1,70 +0,0 @@ -import matplotlib.pyplot as plt -import numpy as np -import pyxu.experimental.sampler as pxe_sampler -import pyxu.operator as pxo -import scipy as sp - -f = pxo.SquaredL2Norm(dim=1) / 2 # To sample 1D normal distribution (mean 0, variance 1) -ula = pxe_sampler.ULA(f=f) # Sampler with maximum step size -ula_lb = pxe_sampler.ULA(f=f, gamma=1e-1) # Sampler with small step size - -gen_ula = ula.samples(x0=np.zeros(1)) -gen_ula_lb = ula_lb.samples(x0=np.zeros(1)) -n_burn_in = int(1e3) # Number of burn-in iterations -for i in range(n_burn_in): - next(gen_ula) - next(gen_ula_lb) - -# Online statistics objects -mean_ula = pxe_sampler.OnlineMoment(order=1) -mean_ula_lb = pxe_sampler.OnlineMoment(order=1) -var_ula = pxe_sampler.OnlineVariance() -var_ula_lb = pxe_sampler.OnlineVariance() - -n = int(1e4) # Number of samples -samples_ula = np.zeros(n) -samples_ula_lb = np.zeros(n) -for i in range(n): - sample = next(gen_ula) - sample_lb = next(gen_ula_lb) - samples_ula[i] = sample - samples_ula_lb[i] = sample_lb - mean = float(mean_ula.update(sample)) - var = float(var_ula.update(sample)) - mean_lb = float(mean_ula_lb.update(sample_lb)) - var_lb = float(var_ula_lb.update(sample_lb)) - -# Theoretical variances of biased stationary distributions of ULA -biased_var = 1 / (1 - ula._gamma / 2) -biased_var_lb = 1 / (1 - ula_lb._gamma / 2) - -# Quantify goodness of fit of empirical distribution with theoretical distribution (Cramér-von Mises test) -cvm = sp.stats.cramervonmises(samples_ula, "norm", args=(0, np.sqrt(biased_var))) -cvm_lb = sp.stats.cramervonmises(samples_ula_lb, "norm", args=(0, np.sqrt(biased_var_lb))) - -# Plots -grid = np.linspace(-4, 4, 1000) - -plt.figure() -plt.title( - f"ULA samples (large step size) \n Empirical mean: {mean:.3f} (theoretical: 0) \n " - f"Empirical variance: {var:.3f} (theoretical: {biased_var:.3f}) \n" - f"Cramér-von Mises goodness of fit: {cvm.statistic:.3f}" -) -plt.hist(samples_ula, range=(min(grid), max(grid)), bins=100, density=True) -plt.plot(grid, sp.stats.norm.pdf(grid), label=r"$p(x)$") -plt.plot(grid, sp.stats.norm.pdf(grid, scale=np.sqrt(biased_var)), label=r"$p_{\gamma_1}(x)$") -plt.legend() -plt.show() - -plt.figure() -plt.title( - f"ULA samples (small step size) \n Empirical mean: {mean_lb:.3f} (theoretical: 0) \n " - f"Empirical variance: {var_lb:.3f} (theoretical: {biased_var_lb:.3f}) \n" - f"Cramér-von Mises goodness of fit: {cvm_lb.statistic:.3f}" -) -plt.hist(samples_ula_lb, range=(min(grid), max(grid)), bins=100, density=True) -plt.plot(grid, sp.stats.norm.pdf(grid), label=r"$p(x)$") -plt.plot(grid, sp.stats.norm.pdf(grid, scale=np.sqrt(biased_var_lb)), label=r"$p_{\gamma_2}(x)$") -plt.legend() -plt.show() \ No newline at end of file diff --git a/_downloads/5ebda40b456c165df2ad890040597b6f/linop-15.pdf b/_downloads/5ebda40b456c165df2ad890040597b6f/linop-15.pdf index 935f6243..97673b8e 100644 Binary files a/_downloads/5ebda40b456c165df2ad890040597b6f/linop-15.pdf and b/_downloads/5ebda40b456c165df2ad890040597b6f/linop-15.pdf differ diff --git a/_downloads/5f62c6bb5301ff3e2502fc8625ddc3e8/linop-19.pdf b/_downloads/5f62c6bb5301ff3e2502fc8625ddc3e8/linop-19.pdf deleted file mode 100644 index 8c3b181b..00000000 Binary files a/_downloads/5f62c6bb5301ff3e2502fc8625ddc3e8/linop-19.pdf and /dev/null differ diff --git a/_downloads/5f6fc21c910212a2ec51fbd06ff28311/opt-2.png b/_downloads/5f6fc21c910212a2ec51fbd06ff28311/opt-2.png deleted file mode 100644 index 4a24cdae..00000000 Binary files a/_downloads/5f6fc21c910212a2ec51fbd06ff28311/opt-2.png and /dev/null differ diff --git a/_downloads/609e087aab0132654c29d1c90c1481a0/operator-20.hires.png b/_downloads/609e087aab0132654c29d1c90c1481a0/operator-20.hires.png deleted file mode 100644 index a16df524..00000000 Binary files a/_downloads/609e087aab0132654c29d1c90c1481a0/operator-20.hires.png and /dev/null differ diff --git a/_downloads/64198f23c5f65d9a6e63da1e1c3364d8/operator-3_01.png b/_downloads/64198f23c5f65d9a6e63da1e1c3364d8/operator-3_01.png deleted file mode 100644 index 23895dd6..00000000 Binary files a/_downloads/64198f23c5f65d9a6e63da1e1c3364d8/operator-3_01.png and /dev/null differ diff --git a/_downloads/6456824f0a6ba3b0c63ce20c17d96e7d/operator-2.hires.png b/_downloads/6456824f0a6ba3b0c63ce20c17d96e7d/operator-2.hires.png deleted file mode 100644 index 8c88a1d8..00000000 Binary files a/_downloads/6456824f0a6ba3b0c63ce20c17d96e7d/operator-2.hires.png and /dev/null differ diff --git a/_downloads/651d2605be213b23cdea0892fe1385fd/linop-10_03.pdf b/_downloads/651d2605be213b23cdea0892fe1385fd/linop-10_03.pdf index b784160f..cab15943 100644 Binary files a/_downloads/651d2605be213b23cdea0892fe1385fd/linop-10_03.pdf and b/_downloads/651d2605be213b23cdea0892fe1385fd/linop-10_03.pdf differ diff --git a/_downloads/65a0f0ae34645fbd8fc9c45aa8707cb6/linop-4_01.png b/_downloads/65a0f0ae34645fbd8fc9c45aa8707cb6/linop-4_01.png deleted file mode 100644 index ea2aefc5..00000000 Binary files a/_downloads/65a0f0ae34645fbd8fc9c45aa8707cb6/linop-4_01.png and /dev/null differ diff --git a/_downloads/67094c89382ad81380a52906901bb725/operator-17.py b/_downloads/67094c89382ad81380a52906901bb725/operator-17.py deleted file mode 100644 index 74ffad5c..00000000 --- a/_downloads/67094c89382ad81380a52906901bb725/operator-17.py +++ /dev/null @@ -1,16 +0,0 @@ -import matplotlib.pyplot as plt -from pyxu.operator import Laplace - -arg_shape = (11, 11) -image = np.zeros(arg_shape) -image[5, 5] = 1. - -laplace = Laplace(arg_shape) -out = laplace(image.ravel()) -plt.figure(figsize=(10, 5)) -plt.subplot(121) -plt.imshow(image) -plt.colorbar() -plt.subplot(122) -plt.imshow(out.reshape(*arg_shape)) -plt.colorbar() \ No newline at end of file diff --git a/_downloads/673d72fb29625abae78650b04ff992cf/operator-21_00.pdf b/_downloads/673d72fb29625abae78650b04ff992cf/operator-21_00.pdf deleted file mode 100644 index f60243ed..00000000 Binary files a/_downloads/673d72fb29625abae78650b04ff992cf/operator-21_00.pdf and /dev/null differ diff --git a/_downloads/6902f0f4b2fd599de9c794c345b38a48/linop-12_01.pdf b/_downloads/6902f0f4b2fd599de9c794c345b38a48/linop-12_01.pdf index 26b0b901..267a546f 100644 Binary files a/_downloads/6902f0f4b2fd599de9c794c345b38a48/linop-12_01.pdf and b/_downloads/6902f0f4b2fd599de9c794c345b38a48/linop-12_01.pdf differ diff --git a/_downloads/6d6eb2e18628afcd80afb9b1f46a86c9/operator-1_00.pdf b/_downloads/6d6eb2e18628afcd80afb9b1f46a86c9/operator-1_00.pdf index 14e8fad8..3cf18f98 100644 Binary files a/_downloads/6d6eb2e18628afcd80afb9b1f46a86c9/operator-1_00.pdf and b/_downloads/6d6eb2e18628afcd80afb9b1f46a86c9/operator-1_00.pdf differ diff --git a/_downloads/6e540c944bfd9490bda771e3a4d2d051/linop-13_02.hires.png b/_downloads/6e540c944bfd9490bda771e3a4d2d051/linop-13_02.hires.png deleted file mode 100644 index 17cbf1bf..00000000 Binary files a/_downloads/6e540c944bfd9490bda771e3a4d2d051/linop-13_02.hires.png and /dev/null differ diff --git a/_downloads/727cebf6c294705854011009653ef8e1/opt-solver-3.pdf b/_downloads/727cebf6c294705854011009653ef8e1/opt-solver-3.pdf index 7f6968b9..46984fa4 100644 Binary files a/_downloads/727cebf6c294705854011009653ef8e1/opt-solver-3.pdf and b/_downloads/727cebf6c294705854011009653ef8e1/opt-solver-3.pdf differ diff --git a/_downloads/73bedc7b7248ca036824dc8463b36828/operator-17.pdf b/_downloads/73bedc7b7248ca036824dc8463b36828/operator-17.pdf deleted file mode 100644 index b63f9b3c..00000000 Binary files a/_downloads/73bedc7b7248ca036824dc8463b36828/operator-17.pdf and /dev/null differ diff --git a/_downloads/745f48dcf87b63655f3a16dcef7b2961/operator-4_02.png b/_downloads/745f48dcf87b63655f3a16dcef7b2961/operator-4_02.png deleted file mode 100644 index e557225d..00000000 Binary files a/_downloads/745f48dcf87b63655f3a16dcef7b2961/operator-4_02.png and /dev/null differ diff --git a/_downloads/74d1d3b6135054cbe9fd1fe59d6f8bad/operator-13_02.hires.png b/_downloads/74d1d3b6135054cbe9fd1fe59d6f8bad/operator-13_02.hires.png deleted file mode 100644 index 17cbf1bf..00000000 Binary files a/_downloads/74d1d3b6135054cbe9fd1fe59d6f8bad/operator-13_02.hires.png and /dev/null differ diff --git a/_downloads/758c43883775bf96c999d8249824235e/operator-5.pdf b/_downloads/758c43883775bf96c999d8249824235e/operator-5.pdf deleted file mode 100644 index c2ec0b65..00000000 Binary files a/_downloads/758c43883775bf96c999d8249824235e/operator-5.pdf and /dev/null differ diff --git a/_downloads/7a311f51d351b440032a25d77b6b0f15/operator-21.py b/_downloads/7a311f51d351b440032a25d77b6b0f15/operator-21.py deleted file mode 100644 index 9ef935ea..00000000 --- a/_downloads/7a311f51d351b440032a25d77b6b0f15/operator-21.py +++ /dev/null @@ -1,45 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from pyxu.operator import StructureTensor -from pyxu.util.misc import peaks - -# Define input image -n = 1000 -x = np.linspace(-3, 3, n) -xx, yy = np.meshgrid(x, x) -image = peaks(xx, yy) -nsamples = 2 -arg_shape = image.shape # (1000, 1000) -images = np.tile(image, (nsamples, 1, 1)).reshape(nsamples, -1) -print(images.shape) # (2, 1000000) -# Instantiate structure tensor operator -structure_tensor = StructureTensor(arg_shape=arg_shape) - -outputs = structure_tensor(images) -print(outputs.shape) # (2, 3000000) -# Plot -outputs = structure_tensor.unravel(outputs) -print(outputs.shape) # (2, 3, 1000, 1000) -plt.figure() -plt.imshow(images[0].reshape(arg_shape)) -plt.colorbar() -plt.title("Image") -plt.axis("off") - -plt.figure() -plt.imshow(outputs[0][0].reshape(arg_shape)) -plt.colorbar() -plt.title(r"$\hat{S}_{xx}$") -plt.axis("off") - -plt.figure() -plt.imshow(outputs[0][1].reshape(arg_shape)) -plt.colorbar() -plt.title(r"$\hat{S}_{xy}$") -plt.axis("off") - -plt.figure() -plt.imshow(outputs[0][2].reshape(arg_shape)) -plt.colorbar() -plt.title(r"$\hat{S}_{yy}$") -plt.axis("off") \ No newline at end of file diff --git a/_downloads/7a45a92466c43f54218138bd4c5bfb33/opt-1.pdf b/_downloads/7a45a92466c43f54218138bd4c5bfb33/opt-1.pdf deleted file mode 100644 index 8c3fe559..00000000 Binary files a/_downloads/7a45a92466c43f54218138bd4c5bfb33/opt-1.pdf and /dev/null differ diff --git a/_downloads/7acbb4c520fb3c12fd8bb79d870c930d/opt-2.hires.png b/_downloads/7acbb4c520fb3c12fd8bb79d870c930d/opt-2.hires.png deleted file mode 100644 index 05fc0b01..00000000 Binary files a/_downloads/7acbb4c520fb3c12fd8bb79d870c930d/opt-2.hires.png and /dev/null differ diff --git a/_downloads/7b093b841c4187795b2b3e7fe37a35fb/linop-21_03.pdf b/_downloads/7b093b841c4187795b2b3e7fe37a35fb/linop-21_03.pdf index 41bb5ead..52382b7d 100644 Binary files a/_downloads/7b093b841c4187795b2b3e7fe37a35fb/linop-21_03.pdf and b/_downloads/7b093b841c4187795b2b3e7fe37a35fb/linop-21_03.pdf differ diff --git a/_downloads/7bf4f564a15100201d0a1e7baafafa52/opt-solver-2.pdf b/_downloads/7bf4f564a15100201d0a1e7baafafa52/opt-solver-2.pdf index 87e6c096..ab401ccb 100644 Binary files a/_downloads/7bf4f564a15100201d0a1e7baafafa52/opt-solver-2.pdf and b/_downloads/7bf4f564a15100201d0a1e7baafafa52/opt-solver-2.pdf differ diff --git a/_downloads/7c525dffe55156065be00ab7ed0fdbc9/linop-4_00.hires.png b/_downloads/7c525dffe55156065be00ab7ed0fdbc9/linop-4_00.hires.png deleted file mode 100644 index e0f5bc76..00000000 Binary files a/_downloads/7c525dffe55156065be00ab7ed0fdbc9/linop-4_00.hires.png and /dev/null differ diff --git a/_downloads/7e7493ef5be8fe7afc5d4591de150cb7/operator-8.pdf b/_downloads/7e7493ef5be8fe7afc5d4591de150cb7/operator-8.pdf deleted file mode 100644 index 840ccddd..00000000 Binary files a/_downloads/7e7493ef5be8fe7afc5d4591de150cb7/operator-8.pdf and /dev/null differ diff --git a/_downloads/7f7cb23a315a631d79c8a7353eb5e5ea/linop-3_01.hires.png b/_downloads/7f7cb23a315a631d79c8a7353eb5e5ea/linop-3_01.hires.png deleted file mode 100644 index fb6eebf1..00000000 Binary files a/_downloads/7f7cb23a315a631d79c8a7353eb5e5ea/linop-3_01.hires.png and /dev/null differ diff --git a/_downloads/7fade2ac152b694790a10dace2a8fb9d/operator-21_01.hires.png b/_downloads/7fade2ac152b694790a10dace2a8fb9d/operator-21_01.hires.png deleted file mode 100644 index ec6b317a..00000000 Binary files a/_downloads/7fade2ac152b694790a10dace2a8fb9d/operator-21_01.hires.png and /dev/null differ diff --git a/_downloads/80a3b5b858569587ccf5e93587163d10/operator-20.png b/_downloads/80a3b5b858569587ccf5e93587163d10/operator-20.png deleted file mode 100644 index 707cde96..00000000 Binary files a/_downloads/80a3b5b858569587ccf5e93587163d10/operator-20.png and /dev/null differ diff --git a/_downloads/80addee3e5ddf78f60a7c11d664bee28/linop-3_00.hires.png b/_downloads/80addee3e5ddf78f60a7c11d664bee28/linop-3_00.hires.png deleted file mode 100644 index 2cd6cbd3..00000000 Binary files a/_downloads/80addee3e5ddf78f60a7c11d664bee28/linop-3_00.hires.png and /dev/null differ diff --git a/_downloads/80e8d2262c83f8aa3286c318c355a06b/operator-11_00.pdf b/_downloads/80e8d2262c83f8aa3286c318c355a06b/operator-11_00.pdf deleted file mode 100644 index 4a5514a4..00000000 Binary files a/_downloads/80e8d2262c83f8aa3286c318c355a06b/operator-11_00.pdf and /dev/null differ diff --git a/_downloads/821591bde9f2c4bb83a1dbdf85716dce/operator-19.py b/_downloads/821591bde9f2c4bb83a1dbdf85716dce/operator-19.py deleted file mode 100644 index 4e36ae88..00000000 --- a/_downloads/821591bde9f2c4bb83a1dbdf85716dce/operator-19.py +++ /dev/null @@ -1,16 +0,0 @@ -import matplotlib.pyplot as plt -from pyxu.operator import Prewitt - -arg_shape = (11, 11) -image = np.zeros(arg_shape) -image[5, 5] = 1. - -prewitt = Prewitt(arg_shape) -out = prewitt(image.ravel()) -plt.figure(figsize=(10, 5)) -plt.subplot(121) -plt.imshow(image) -plt.colorbar() -plt.subplot(122) -plt.imshow(out.reshape(*arg_shape)) -plt.colorbar() \ No newline at end of file diff --git a/_downloads/830c6cf1ca9ddce08ef358693dbce351/operator-15.pdf b/_downloads/830c6cf1ca9ddce08ef358693dbce351/operator-15.pdf deleted file mode 100644 index c525fab3..00000000 Binary files a/_downloads/830c6cf1ca9ddce08ef358693dbce351/operator-15.pdf and /dev/null differ diff --git a/_downloads/84355f586daab57f0013b1d59aea0d7c/operator-7.png b/_downloads/84355f586daab57f0013b1d59aea0d7c/operator-7.png deleted file mode 100644 index 39e58e55..00000000 Binary files a/_downloads/84355f586daab57f0013b1d59aea0d7c/operator-7.png and /dev/null differ diff --git a/_downloads/84c84a6dd5058dc024f4c28e976c67be/operator-4_00.png b/_downloads/84c84a6dd5058dc024f4c28e976c67be/operator-4_00.png deleted file mode 100644 index fccd452c..00000000 Binary files a/_downloads/84c84a6dd5058dc024f4c28e976c67be/operator-4_00.png and /dev/null differ diff --git a/_downloads/852396df1c2a68b4ab13ea440094a13b/linop-2.pdf b/_downloads/852396df1c2a68b4ab13ea440094a13b/linop-2.pdf index 5c3063f8..5cb391a1 100644 Binary files a/_downloads/852396df1c2a68b4ab13ea440094a13b/linop-2.pdf and b/_downloads/852396df1c2a68b4ab13ea440094a13b/linop-2.pdf differ diff --git a/_downloads/86e69c2455bde978da9d846de7a188a9/operator-10.hires.png b/_downloads/86e69c2455bde978da9d846de7a188a9/operator-10.hires.png deleted file mode 100644 index fae722c2..00000000 Binary files a/_downloads/86e69c2455bde978da9d846de7a188a9/operator-10.hires.png and /dev/null differ diff --git a/_downloads/8860ae0fe6ee3c63137f67234c7ff9a8/experimental-1_01_00.pdf b/_downloads/8860ae0fe6ee3c63137f67234c7ff9a8/experimental-1_01_00.pdf deleted file mode 100644 index 0a4f5b1d..00000000 Binary files a/_downloads/8860ae0fe6ee3c63137f67234c7ff9a8/experimental-1_01_00.pdf and /dev/null differ diff --git a/_downloads/89cf7e77837a5c3249511293b70d7aa2/linop-13_00.pdf b/_downloads/89cf7e77837a5c3249511293b70d7aa2/linop-13_00.pdf deleted file mode 100644 index 7a50f81e..00000000 Binary files a/_downloads/89cf7e77837a5c3249511293b70d7aa2/linop-13_00.pdf and /dev/null differ diff --git a/_downloads/8aaa0ff216ce48a45f853f1ad1ff4869/operator-19.hires.png b/_downloads/8aaa0ff216ce48a45f853f1ad1ff4869/operator-19.hires.png deleted file mode 100644 index fe395c67..00000000 Binary files a/_downloads/8aaa0ff216ce48a45f853f1ad1ff4869/operator-19.hires.png and /dev/null differ diff --git a/_downloads/8b1f3ad99310d672760460d94ff5ae53/linop-3_01.png b/_downloads/8b1f3ad99310d672760460d94ff5ae53/linop-3_01.png deleted file mode 100644 index 23895dd6..00000000 Binary files a/_downloads/8b1f3ad99310d672760460d94ff5ae53/linop-3_01.png and /dev/null differ diff --git a/_downloads/8b695d494c85f1c4793c328b97cbc021/operator-1.png b/_downloads/8b695d494c85f1c4793c328b97cbc021/operator-1.png deleted file mode 100644 index 65459407..00000000 Binary files a/_downloads/8b695d494c85f1c4793c328b97cbc021/operator-1.png and /dev/null differ diff --git a/_downloads/8b725cf748f1669bc44a24d333409c47/linop-12_02.pdf b/_downloads/8b725cf748f1669bc44a24d333409c47/linop-12_02.pdf index 094c3258..afba84cf 100644 Binary files a/_downloads/8b725cf748f1669bc44a24d333409c47/linop-12_02.pdf and b/_downloads/8b725cf748f1669bc44a24d333409c47/linop-12_02.pdf differ diff --git a/_downloads/8b75e17542eb060a859009378ccf739e/operator-6.py b/_downloads/8b75e17542eb060a859009378ccf739e/operator-6.py deleted file mode 100644 index 088a74fe..00000000 --- a/_downloads/8b75e17542eb060a859009378ccf739e/operator-6.py +++ /dev/null @@ -1,16 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from pyxu.operator import Jacobian -from pyxu.util.misc import peaks - -x = np.linspace(-2.5, 2.5, 25) -xx, yy = np.meshgrid(x, x) -image = np.tile(peaks(xx, yy), (3, 1, 1)) -jac = Jacobian(arg_shape=image.shape[1:], n_channels=image.shape[0]) -out = jac.unravel(jac(image.ravel())) -fig, axes = plt.subplots(3, 2, figsize=(10, 15)) -for i in range(3): - for j in range(2): - axes[i, j].imshow(out[i, j].T, cmap=["Reds", "Greens", "Blues"][j]) - axes[i, j].set_title(f"$\partial I_{{{['R', 'G', 'B'][j]}}}/\partial{{{['x', 'y'][j]}}}$") -plt.suptitle("Jacobian") \ No newline at end of file diff --git a/_downloads/8f59a997c178a3e2bb89f1f4ce7dc2b0/operator-4_01.png b/_downloads/8f59a997c178a3e2bb89f1f4ce7dc2b0/operator-4_01.png deleted file mode 100644 index ea2aefc5..00000000 Binary files a/_downloads/8f59a997c178a3e2bb89f1f4ce7dc2b0/operator-4_01.png and /dev/null differ diff --git a/_downloads/9029f349dcba6220309b295a9140982b/operator-2.py b/_downloads/9029f349dcba6220309b295a9140982b/operator-2.py deleted file mode 100644 index fb8d4844..00000000 --- a/_downloads/9029f349dcba6220309b295a9140982b/operator-2.py +++ /dev/null @@ -1,43 +0,0 @@ -import numpy as np -import pyxu.operator as pxo - -rng = np.random.default_rng(2) -D, M, N = 2, 500, 200 -rnd_points = lambda _: rng.normal(scale=rng.uniform(0.25, 0.5, size=(D,)), size=(_, D)) -rnd_offset = lambda: rng.uniform(-1, 1, size=(D,)) -scale = 20 -x = np.concatenate( - [ - rnd_points(M) + rnd_offset() * scale, - rnd_points(M) + rnd_offset() * scale, - rnd_points(M) + rnd_offset() * scale, - rnd_points(M) + rnd_offset() * scale, - rnd_points(M) + rnd_offset() * scale, - ], - axis=0, -) -z = np.concatenate( - [ - rnd_points(N) + rnd_offset() * scale, - rnd_points(N) + rnd_offset() * scale, - rnd_points(N) + rnd_offset() * scale, - rnd_points(N) + rnd_offset() * scale, - rnd_points(N) + rnd_offset() * scale, - ], - axis=0, -) - -kwargs = dict( - x=x, - z=z, - isign=-1, - eps=1e-3, -) -A = pxo.NUFFT.type3(**kwargs, chunked=True) -x_chunks, z_chunks = A.auto_chunk( - max_mem=.1, - max_anisotropy=1, -) -A.allocate(x_chunks, z_chunks) -fig = A.diagnostic_plot('x') -fig.show() \ No newline at end of file diff --git a/_downloads/90b6ede7cd0b624bf04b02a069518152/operator-13_00.pdf b/_downloads/90b6ede7cd0b624bf04b02a069518152/operator-13_00.pdf deleted file mode 100644 index 4f9d0109..00000000 Binary files a/_downloads/90b6ede7cd0b624bf04b02a069518152/operator-13_00.pdf and /dev/null differ diff --git a/_downloads/91bc70ed73eba97c728b782748cb547d/experimental-sampler-1_01_00.pdf b/_downloads/91bc70ed73eba97c728b782748cb547d/experimental-sampler-1_01_00.pdf index fb1a5c0c..e27083a8 100644 Binary files a/_downloads/91bc70ed73eba97c728b782748cb547d/experimental-sampler-1_01_00.pdf and b/_downloads/91bc70ed73eba97c728b782748cb547d/experimental-sampler-1_01_00.pdf differ diff --git a/_downloads/92c55fbba0661a785247389e08ad5597/operator-16.hires.png b/_downloads/92c55fbba0661a785247389e08ad5597/operator-16.hires.png deleted file mode 100644 index a8185a39..00000000 Binary files a/_downloads/92c55fbba0661a785247389e08ad5597/operator-16.hires.png and /dev/null differ diff --git a/_downloads/939913c4d6f629c9f874b65940808e69/linop-13_03.hires.png b/_downloads/939913c4d6f629c9f874b65940808e69/linop-13_03.hires.png deleted file mode 100644 index 79c9d498..00000000 Binary files a/_downloads/939913c4d6f629c9f874b65940808e69/linop-13_03.hires.png and /dev/null differ diff --git a/_downloads/93fb12da52772af95edddbe745a3718e/experimental-sampler-1_00_00.hires.png b/_downloads/93fb12da52772af95edddbe745a3718e/experimental-sampler-1_00_00.hires.png index 9b6309b8..d144350f 100644 Binary files a/_downloads/93fb12da52772af95edddbe745a3718e/experimental-sampler-1_00_00.hires.png and b/_downloads/93fb12da52772af95edddbe745a3718e/experimental-sampler-1_00_00.hires.png differ diff --git a/_downloads/980507e47f5840458f13ac6f6b9c23a7/operator-4_02.hires.png b/_downloads/980507e47f5840458f13ac6f6b9c23a7/operator-4_02.hires.png deleted file mode 100644 index afc1e2cf..00000000 Binary files a/_downloads/980507e47f5840458f13ac6f6b9c23a7/operator-4_02.hires.png and /dev/null differ diff --git a/_downloads/9c8347663ec88378aaae5057c1ae3264/operator-1.py b/_downloads/9c8347663ec88378aaae5057c1ae3264/operator-1.py deleted file mode 100644 index 2fb312ed..00000000 --- a/_downloads/9c8347663ec88378aaae5057c1ae3264/operator-1.py +++ /dev/null @@ -1,14 +0,0 @@ -import numpy as np -import pyxu.operator as pxo -import matplotlib.pyplot as plt - -rng = np.random.default_rng(0) -D, M, N = 1, 2, 3 # D denotes the dimension of the data -x = np.fmod(rng.normal(size=(M, D)), 2 * np.pi) -A = pxo.NUFFT.type1( - x, N, - isign=-1, - eps=1e-9 -) -A.plot_kernel() -plt.show() \ No newline at end of file diff --git a/_downloads/9db61dbdbb51645a825c3d21408069d0/opt-1.hires.png b/_downloads/9db61dbdbb51645a825c3d21408069d0/opt-1.hires.png deleted file mode 100644 index 5c9726a6..00000000 Binary files a/_downloads/9db61dbdbb51645a825c3d21408069d0/opt-1.hires.png and /dev/null differ diff --git a/_downloads/9e57502a9a3a00032c71b730aca92025/linop-7.pdf b/_downloads/9e57502a9a3a00032c71b730aca92025/linop-7.pdf index 62ff0549..4f989b73 100644 Binary files a/_downloads/9e57502a9a3a00032c71b730aca92025/linop-7.pdf and b/_downloads/9e57502a9a3a00032c71b730aca92025/linop-7.pdf differ diff --git a/_downloads/9ef5b55562f46c73423fa8bff428227e/linop-13_01.hires.png b/_downloads/9ef5b55562f46c73423fa8bff428227e/linop-13_01.hires.png deleted file mode 100644 index 9ccc6d00..00000000 Binary files a/_downloads/9ef5b55562f46c73423fa8bff428227e/linop-13_01.hires.png and /dev/null differ diff --git a/_downloads/9fb2ea53b64737bdcfba96217fef5782/operator-21_00.hires.png b/_downloads/9fb2ea53b64737bdcfba96217fef5782/operator-21_00.hires.png deleted file mode 100644 index 9fa3fcde..00000000 Binary files a/_downloads/9fb2ea53b64737bdcfba96217fef5782/operator-21_00.hires.png and /dev/null differ diff --git a/_downloads/a21657746c05addd5a96533facc10684/experimental-sampler-1_01_00.png b/_downloads/a21657746c05addd5a96533facc10684/experimental-sampler-1_01_00.png index c8779884..8abb07d6 100644 Binary files a/_downloads/a21657746c05addd5a96533facc10684/experimental-sampler-1_01_00.png and b/_downloads/a21657746c05addd5a96533facc10684/experimental-sampler-1_01_00.png differ diff --git a/_downloads/a262dbc83116c51f87f485930377e9fa/abc-1_00.pdf b/_downloads/a262dbc83116c51f87f485930377e9fa/abc-1_00.pdf index 68a92a3f..5511e171 100644 Binary files a/_downloads/a262dbc83116c51f87f485930377e9fa/abc-1_00.pdf and b/_downloads/a262dbc83116c51f87f485930377e9fa/abc-1_00.pdf differ diff --git a/_downloads/a2750b0cb155e149ee1e828df83ae363/linop-21_00.pdf b/_downloads/a2750b0cb155e149ee1e828df83ae363/linop-21_00.pdf index a004cacf..fda9661e 100644 Binary files a/_downloads/a2750b0cb155e149ee1e828df83ae363/linop-21_00.pdf and b/_downloads/a2750b0cb155e149ee1e828df83ae363/linop-21_00.pdf differ diff --git a/_downloads/a30e3ded8c1066a4592a760dd92364c9/operator-7.py b/_downloads/a30e3ded8c1066a4592a760dd92364c9/operator-7.py deleted file mode 100644 index df749166..00000000 --- a/_downloads/a30e3ded8c1066a4592a760dd92364c9/operator-7.py +++ /dev/null @@ -1,25 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from pyxu.operator import Gradient, Divergence, Laplacian -from pyxu.util.misc import peaks - -n = 100 -x = np.linspace(-3, 3, n) -xx, yy = np.meshgrid(x, x) -image = peaks(xx, yy) -arg_shape = image.shape # (1000, 1000) -grad = Gradient(arg_shape=arg_shape) -div = Divergence(arg_shape=arg_shape) -# Construct Laplacian via composition -laplacian1 = div * grad -# Compare to default Laplacian -laplacian2 = Laplacian(arg_shape=arg_shape) -output1 = laplacian1(image.ravel()) -output2 = laplacian2(image.ravel()) -fig, axes = plt.subplots(1, 2, figsize=(10, 5)) -im = axes[0].imshow(np.log(abs(output1)).reshape(*arg_shape)) -axes[0].set_title("Laplacian via composition") -plt.colorbar(im, ax=axes[0]) -im = axes[1].imshow(np.log(abs(output1)).reshape(*arg_shape)) -axes[1].set_title("Default Laplacian") -plt.colorbar(im, ax=axes[1]) \ No newline at end of file diff --git a/_downloads/a38dda46342bca2d4b49ded8ed4e9096/operator-7.hires.png b/_downloads/a38dda46342bca2d4b49ded8ed4e9096/operator-7.hires.png deleted file mode 100644 index ae2eedda..00000000 Binary files a/_downloads/a38dda46342bca2d4b49ded8ed4e9096/operator-7.hires.png and /dev/null differ diff --git a/_downloads/a55a7abe3d36074d183a6c2f04c216f0/operator-11_00.hires.png b/_downloads/a55a7abe3d36074d183a6c2f04c216f0/operator-11_00.hires.png deleted file mode 100644 index 4d5d2c76..00000000 Binary files a/_downloads/a55a7abe3d36074d183a6c2f04c216f0/operator-11_00.hires.png and /dev/null differ diff --git a/_downloads/a65f90bcbe154b20bfa66b70ccf8657f/linop-3_00.png b/_downloads/a65f90bcbe154b20bfa66b70ccf8657f/linop-3_00.png deleted file mode 100644 index fe4dbf22..00000000 Binary files a/_downloads/a65f90bcbe154b20bfa66b70ccf8657f/linop-3_00.png and /dev/null differ diff --git a/_downloads/a787a4de8a26371e9e6db60996ebc82f/linop-20.png b/_downloads/a787a4de8a26371e9e6db60996ebc82f/linop-20.png deleted file mode 100644 index cf0cf366..00000000 Binary files a/_downloads/a787a4de8a26371e9e6db60996ebc82f/linop-20.png and /dev/null differ diff --git a/_downloads/a7fbcf236aa04c1f2f0fe84dd0beb567/linop-17.pdf b/_downloads/a7fbcf236aa04c1f2f0fe84dd0beb567/linop-17.pdf index 2d02bb88..feac0625 100644 Binary files a/_downloads/a7fbcf236aa04c1f2f0fe84dd0beb567/linop-17.pdf and b/_downloads/a7fbcf236aa04c1f2f0fe84dd0beb567/linop-17.pdf differ diff --git a/_downloads/a8991112e97556caf0e2fd5883613b0a/operator-21_02.png b/_downloads/a8991112e97556caf0e2fd5883613b0a/operator-21_02.png deleted file mode 100644 index 202a34b9..00000000 Binary files a/_downloads/a8991112e97556caf0e2fd5883613b0a/operator-21_02.png and /dev/null differ diff --git a/_downloads/a91dd135849d728226e425b0ff0e1bd6/operator-12_01.png b/_downloads/a91dd135849d728226e425b0ff0e1bd6/operator-12_01.png deleted file mode 100644 index 07432f15..00000000 Binary files a/_downloads/a91dd135849d728226e425b0ff0e1bd6/operator-12_01.png and /dev/null differ diff --git a/_downloads/a9f1d15500139a62d3908b04a52bc416/linop-10_00.pdf b/_downloads/a9f1d15500139a62d3908b04a52bc416/linop-10_00.pdf index a839ce52..665448b8 100644 Binary files a/_downloads/a9f1d15500139a62d3908b04a52bc416/linop-10_00.pdf and b/_downloads/a9f1d15500139a62d3908b04a52bc416/linop-10_00.pdf differ diff --git a/_downloads/aa08cf4e2cef61b518aa64b10c1817a9/abc-1_01.pdf b/_downloads/aa08cf4e2cef61b518aa64b10c1817a9/abc-1_01.pdf index 46a33053..4f600ce0 100644 Binary files a/_downloads/aa08cf4e2cef61b518aa64b10c1817a9/abc-1_01.pdf and b/_downloads/aa08cf4e2cef61b518aa64b10c1817a9/abc-1_01.pdf differ diff --git a/_downloads/ac2d8e4fa5ab3cfce5066292ea2e5ee4/operator-13_00.png b/_downloads/ac2d8e4fa5ab3cfce5066292ea2e5ee4/operator-13_00.png deleted file mode 100644 index 29997314..00000000 Binary files a/_downloads/ac2d8e4fa5ab3cfce5066292ea2e5ee4/operator-13_00.png and /dev/null differ diff --git a/_downloads/ad2f7e24bddbd17a6cfa96e6423ca673/experimental-1_00_00.pdf b/_downloads/ad2f7e24bddbd17a6cfa96e6423ca673/experimental-1_00_00.pdf deleted file mode 100644 index 834d2478..00000000 Binary files a/_downloads/ad2f7e24bddbd17a6cfa96e6423ca673/experimental-1_00_00.pdf and /dev/null differ diff --git a/_downloads/aef880f23607764f0dad2e327f5d24fd/opt-3.hires.png b/_downloads/aef880f23607764f0dad2e327f5d24fd/opt-3.hires.png deleted file mode 100644 index 8040355b..00000000 Binary files a/_downloads/aef880f23607764f0dad2e327f5d24fd/opt-3.hires.png and /dev/null differ diff --git a/_downloads/b0e4014986a0f5921e51c57c3f1d2893/operator-4_02.pdf b/_downloads/b0e4014986a0f5921e51c57c3f1d2893/operator-4_02.pdf deleted file mode 100644 index f59b3f2a..00000000 Binary files a/_downloads/b0e4014986a0f5921e51c57c3f1d2893/operator-4_02.pdf and /dev/null differ diff --git a/_downloads/b1cab852cc8994069d3eb7349822e126/linop-13_02.pdf b/_downloads/b1cab852cc8994069d3eb7349822e126/linop-13_02.pdf deleted file mode 100644 index 6f4f5460..00000000 Binary files a/_downloads/b1cab852cc8994069d3eb7349822e126/linop-13_02.pdf and /dev/null differ diff --git a/_downloads/b2643be9761ce6a5244d11d98408529f/linop-13.pdf b/_downloads/b2643be9761ce6a5244d11d98408529f/linop-13.pdf index 0ce8ee28..a6ff73fc 100644 Binary files a/_downloads/b2643be9761ce6a5244d11d98408529f/linop-13.pdf and b/_downloads/b2643be9761ce6a5244d11d98408529f/linop-13.pdf differ diff --git a/_downloads/b36aa4a64f4a3c14b29c9ba6aa0773dd/experimental-1_01_00.png b/_downloads/b36aa4a64f4a3c14b29c9ba6aa0773dd/experimental-1_01_00.png deleted file mode 100644 index 5c33d91e..00000000 Binary files a/_downloads/b36aa4a64f4a3c14b29c9ba6aa0773dd/experimental-1_01_00.png and /dev/null differ diff --git a/_downloads/b5b8151ee0b479d40092a5e2c7ba8055/operator-11_02.pdf b/_downloads/b5b8151ee0b479d40092a5e2c7ba8055/operator-11_02.pdf deleted file mode 100644 index 9207566e..00000000 Binary files a/_downloads/b5b8151ee0b479d40092a5e2c7ba8055/operator-11_02.pdf and /dev/null differ diff --git a/_downloads/b720f3f70e5d870af630b0311b862bdc/operator-16.py b/_downloads/b720f3f70e5d870af630b0311b862bdc/operator-16.py deleted file mode 100644 index 7650f6fb..00000000 --- a/_downloads/b720f3f70e5d870af630b0311b862bdc/operator-16.py +++ /dev/null @@ -1,16 +0,0 @@ -import matplotlib.pyplot as plt -from pyxu.operator import DoG - -arg_shape = (11, 11) -image = np.zeros(arg_shape) -image[5, 5] = 1. - -dog = DoG(arg_shape, low_sigma=3) -out = dog(image.ravel()) -plt.figure(figsize=(10, 5)) -plt.subplot(121) -plt.imshow(image) -plt.colorbar() -plt.subplot(122) -plt.imshow(out.reshape(*arg_shape)) -plt.colorbar() \ No newline at end of file diff --git a/_downloads/b793257364ec7e73fe09d6ac0cf897bb/linop-3.pdf b/_downloads/b793257364ec7e73fe09d6ac0cf897bb/linop-3.pdf index 8062c6e6..f0fb7c0d 100644 Binary files a/_downloads/b793257364ec7e73fe09d6ac0cf897bb/linop-3.pdf and b/_downloads/b793257364ec7e73fe09d6ac0cf897bb/linop-3.pdf differ diff --git a/_downloads/b9ab671fb0a7f18372db2008f8f175b3/operator-2.png b/_downloads/b9ab671fb0a7f18372db2008f8f175b3/operator-2.png deleted file mode 100644 index c4e9be08..00000000 Binary files a/_downloads/b9ab671fb0a7f18372db2008f8f175b3/operator-2.png and /dev/null differ diff --git a/_downloads/bb645b33928b6e51d2976522ee8f3806/experimental-sampler-1_01_00.hires.png b/_downloads/bb645b33928b6e51d2976522ee8f3806/experimental-sampler-1_01_00.hires.png index 0d12f76f..c0aa3e34 100644 Binary files a/_downloads/bb645b33928b6e51d2976522ee8f3806/experimental-sampler-1_01_00.hires.png and b/_downloads/bb645b33928b6e51d2976522ee8f3806/experimental-sampler-1_01_00.hires.png differ diff --git a/_downloads/beadf23da07c5206cde021558c7f49fa/linop-3_01.pdf b/_downloads/beadf23da07c5206cde021558c7f49fa/linop-3_01.pdf deleted file mode 100644 index 10cb5062..00000000 Binary files a/_downloads/beadf23da07c5206cde021558c7f49fa/linop-3_01.pdf and /dev/null differ diff --git a/_downloads/bf001791fa8cc4ac5b9c6369e6c26d9b/linop-4_00.pdf b/_downloads/bf001791fa8cc4ac5b9c6369e6c26d9b/linop-4_00.pdf deleted file mode 100644 index 763a4552..00000000 Binary files a/_downloads/bf001791fa8cc4ac5b9c6369e6c26d9b/linop-4_00.pdf and /dev/null differ diff --git a/_downloads/c0190b5d57d3d151adb5651d8b8a1ee5/linop-10.pdf b/_downloads/c0190b5d57d3d151adb5651d8b8a1ee5/linop-10.pdf deleted file mode 100644 index 3f17e6f3..00000000 Binary files a/_downloads/c0190b5d57d3d151adb5651d8b8a1ee5/linop-10.pdf and /dev/null differ diff --git a/_downloads/c287d657992e4ff9fb0cd17bed7a0b5b/operator-4_01.pdf b/_downloads/c287d657992e4ff9fb0cd17bed7a0b5b/operator-4_01.pdf deleted file mode 100644 index 1aeb73ca..00000000 Binary files a/_downloads/c287d657992e4ff9fb0cd17bed7a0b5b/operator-4_01.pdf and /dev/null differ diff --git a/_downloads/c391db68b8dc3c5e9af1e480d97b4c31/operator-14.png b/_downloads/c391db68b8dc3c5e9af1e480d97b4c31/operator-14.png deleted file mode 100644 index c28982cb..00000000 Binary files a/_downloads/c391db68b8dc3c5e9af1e480d97b4c31/operator-14.png and /dev/null differ diff --git a/_downloads/c4dc0f0fa9d2ce5348b916d5ee685aba/operator-21_03.hires.png b/_downloads/c4dc0f0fa9d2ce5348b916d5ee685aba/operator-21_03.hires.png deleted file mode 100644 index 1ad6d173..00000000 Binary files a/_downloads/c4dc0f0fa9d2ce5348b916d5ee685aba/operator-21_03.hires.png and /dev/null differ diff --git a/_downloads/c5a9926c064600f986df1e9b30229987/operator-13_00.hires.png b/_downloads/c5a9926c064600f986df1e9b30229987/operator-13_00.hires.png deleted file mode 100644 index 4d5d2c76..00000000 Binary files a/_downloads/c5a9926c064600f986df1e9b30229987/operator-13_00.hires.png and /dev/null differ diff --git a/_downloads/c6700c20988494320e4fca76fe07c2f7/linop-16.pdf b/_downloads/c6700c20988494320e4fca76fe07c2f7/linop-16.pdf index 1c5b816a..e1d0d7f1 100644 Binary files a/_downloads/c6700c20988494320e4fca76fe07c2f7/linop-16.pdf and b/_downloads/c6700c20988494320e4fca76fe07c2f7/linop-16.pdf differ diff --git a/_downloads/c69c5719c815b1c976384c957f6e9777/operator-11_02.png b/_downloads/c69c5719c815b1c976384c957f6e9777/operator-11_02.png deleted file mode 100644 index 785b9e79..00000000 Binary files a/_downloads/c69c5719c815b1c976384c957f6e9777/operator-11_02.png and /dev/null differ diff --git a/_downloads/c6b0f3c315acd2b5a9a28ec22e1ea553/linop-13_00.png b/_downloads/c6b0f3c315acd2b5a9a28ec22e1ea553/linop-13_00.png deleted file mode 100644 index 29997314..00000000 Binary files a/_downloads/c6b0f3c315acd2b5a9a28ec22e1ea553/linop-13_00.png and /dev/null differ diff --git a/_downloads/c6b377da5d37f9a1a7bd869cb238734f/operator-4.py b/_downloads/c6b377da5d37f9a1a7bd869cb238734f/operator-4.py deleted file mode 100644 index bfe7ebc3..00000000 --- a/_downloads/c6b377da5d37f9a1a7bd869cb238734f/operator-4.py +++ /dev/null @@ -1,33 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from pyxu.operator import PartialDerivative -from pyxu.util.misc import peaks - -x = np.linspace(-2.5, 2.5, 25) -xx, yy = np.meshgrid(x, x) -image = peaks(xx, yy) -arg_shape = image.shape # Shape of our image -# Specify derivative order at each direction -df_dx = (1, 0) # Compute derivative of order 1 in first dimension -d2f_dy2 = (0, 2) # Compute derivative of order 2 in second dimension -d3f_dxdy2 = (1, 2) # Compute derivative of order 1 in first dimension and der. of order 2 in second dimension -# Instantiate derivative operators -diff1 = PartialDerivative.gaussian_derivative(order=df_dx, arg_shape=arg_shape, sigma=2.0) -diff2 = PartialDerivative.gaussian_derivative(order=d2f_dy2, arg_shape=arg_shape, sigma=2.0) -diff = PartialDerivative.gaussian_derivative(order=d3f_dxdy2, arg_shape=arg_shape, sigma=2.0) -# Compute derivatives -out1 = (diff1 * diff2)(image.ravel()).reshape(arg_shape) -out2 = diff(image.ravel()).reshape(arg_shape) -plt.figure() -plt.imshow(image), -plt.axis('off') -plt.colorbar() -plt.title('f(x,y)') -plt.figure() -plt.imshow(out1.T) -plt.axis('off') -plt.title(r'$\frac{\partial^{3} f(x,y)}{\partial x\partial y^{2}}$') -plt.figure() -plt.imshow(out2.T) -plt.axis('off') -plt.title(r'$\frac{\partial^{3} f(x,y)}{\partial x\partial y^{2}}$') \ No newline at end of file diff --git a/_downloads/c6cc146e09111e224dd32387b5f48af9/operator-11_01.hires.png b/_downloads/c6cc146e09111e224dd32387b5f48af9/operator-11_01.hires.png deleted file mode 100644 index 9dfd8018..00000000 Binary files a/_downloads/c6cc146e09111e224dd32387b5f48af9/operator-11_01.hires.png and /dev/null differ diff --git a/_downloads/c722cabc6093f717e47975d57ffbc907/operator-5.py b/_downloads/c722cabc6093f717e47975d57ffbc907/operator-5.py deleted file mode 100644 index caacd6b1..00000000 --- a/_downloads/c722cabc6093f717e47975d57ffbc907/operator-5.py +++ /dev/null @@ -1,34 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from pyxu.operator import Gradient -from pyxu.util.misc import peaks - -# Define input image -n = 100 -x = np.linspace(-3, 3, n) -xx, yy = np.meshgrid(x, x) -image = peaks(xx, yy) -arg_shape = image.shape # (1000, 1000) -# Instantiate gradient operator -grad = Gradient(arg_shape=arg_shape) - -# Compute gradients -output = grad(image.ravel()) # shape = (2000000, ) -df_dx, df_dy = grad.unravel(output) # shape = (2, 1000, 1000) - -# Plot image -fig, axs = plt.subplots(1, 3, figsize=(15, 4)) -im = axs[0].imshow(image) -axs[0].set_title("Image") -axs[0].axis("off") -plt.colorbar(im, ax=axs[0]) - -# Plot gradient -im = axs[1].imshow(df_dx) -axs[1].set_title(r"$\partial f/ \partial x$") -axs[1].axis("off") -plt.colorbar(im, ax=axs[1]) -im = axs[2].imshow(df_dy) -axs[2].set_title(r"$\partial f/ \partial y$") -axs[2].axis("off") -plt.colorbar(im, ax=axs[2]) \ No newline at end of file diff --git a/_downloads/c8a864597bcad6d39da2ef420e9ea684/linop-19_00.pdf b/_downloads/c8a864597bcad6d39da2ef420e9ea684/linop-19_00.pdf index 35c0d02f..5160218f 100644 Binary files a/_downloads/c8a864597bcad6d39da2ef420e9ea684/linop-19_00.pdf and b/_downloads/c8a864597bcad6d39da2ef420e9ea684/linop-19_00.pdf differ diff --git a/_downloads/c935bd338de06e762ff0060037d2bdbf/linop-4_00.png b/_downloads/c935bd338de06e762ff0060037d2bdbf/linop-4_00.png deleted file mode 100644 index fccd452c..00000000 Binary files a/_downloads/c935bd338de06e762ff0060037d2bdbf/linop-4_00.png and /dev/null differ diff --git a/_downloads/ca2090d31fc0a86e6382087c1b5955b0/operator-1.hires.png b/_downloads/ca2090d31fc0a86e6382087c1b5955b0/operator-1.hires.png deleted file mode 100644 index 1eda77c6..00000000 Binary files a/_downloads/ca2090d31fc0a86e6382087c1b5955b0/operator-1.hires.png and /dev/null differ diff --git a/_downloads/cac3dcf5082691d7fec7aafb5a70b646/operator-8.py b/_downloads/cac3dcf5082691d7fec7aafb5a70b646/operator-8.py deleted file mode 100644 index a64c708c..00000000 --- a/_downloads/cac3dcf5082691d7fec7aafb5a70b646/operator-8.py +++ /dev/null @@ -1,38 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from pyxu.operator import Hessian, PartialDerivative -from pyxu.util.misc import peaks - -n = 100 -x = np.linspace(-3, 3, n) -xx, yy = np.meshgrid(x, x) -image = peaks(xx, yy) -arg_shape = image.shape # (1000, 1000) - -# Instantiate Hessian operator -hessian = Hessian(arg_shape=arg_shape, directions="all") -# Compute Hessian -output = hessian(image.ravel()) # shape = (300000,) -d2f_dx2, d2f_dxdy, d2f_dy2 = hessian.unravel(output) - -# Plot -fig, axs = plt.subplots(1, 4, figsize=(20, 4)) -im = axs[0].imshow(image) -plt.colorbar(im, ax=axs[0]) -axs[0].set_title("Image") -axs[0].axis("off") - -im = axs[1].imshow(d2f_dx2) -plt.colorbar(im, ax=axs[1]) -axs[1].set_title(r"$\partial^{2} f/ \partial x^{2}$") -axs[1].axis("off") - -im = axs[2].imshow(d2f_dxdy) -plt.colorbar(im, ax=axs[2]) -axs[2].set_title(r"$\partial^{2} f/ \partial x\partial y$") -axs[2].axis("off") - -im = axs[3].imshow(d2f_dy2) -plt.colorbar(im, ax=axs[3]) -axs[3].set_title(r"$\partial^{2} f/ \partial y^{2}$") -axs[3].axis("off") \ No newline at end of file diff --git a/_downloads/cb592e426f343abde6179a6c6c588c24/operator-8.png b/_downloads/cb592e426f343abde6179a6c6c588c24/operator-8.png deleted file mode 100644 index d6d0749e..00000000 Binary files a/_downloads/cb592e426f343abde6179a6c6c588c24/operator-8.png and /dev/null differ diff --git a/_downloads/cde91f0a039a2f1ff6788278b2648951/operator-18.png b/_downloads/cde91f0a039a2f1ff6788278b2648951/operator-18.png deleted file mode 100644 index 7abd9e38..00000000 Binary files a/_downloads/cde91f0a039a2f1ff6788278b2648951/operator-18.png and /dev/null differ diff --git a/_downloads/ce73cbbc77dfb793bac0675acf730767/linop-19_02.pdf b/_downloads/ce73cbbc77dfb793bac0675acf730767/linop-19_02.pdf index 3fd24a4c..e5ff4774 100644 Binary files a/_downloads/ce73cbbc77dfb793bac0675acf730767/linop-19_02.pdf and b/_downloads/ce73cbbc77dfb793bac0675acf730767/linop-19_02.pdf differ diff --git a/_downloads/d0179760969d96a450497e7728d72b0c/operator-13_02.pdf b/_downloads/d0179760969d96a450497e7728d72b0c/operator-13_02.pdf deleted file mode 100644 index c6c48cef..00000000 Binary files a/_downloads/d0179760969d96a450497e7728d72b0c/operator-13_02.pdf and /dev/null differ diff --git a/_downloads/d033201855f1ac9d7e8eb509601ad103/operator-20.py b/_downloads/d033201855f1ac9d7e8eb509601ad103/operator-20.py deleted file mode 100644 index e2a1b717..00000000 --- a/_downloads/d033201855f1ac9d7e8eb509601ad103/operator-20.py +++ /dev/null @@ -1,16 +0,0 @@ -import matplotlib.pyplot as plt -from pyxu.operator import Scharr - -arg_shape = (11, 11) -image = np.zeros(arg_shape) -image[5, 5] = 1. - -scharr = Scharr(arg_shape) -out = scharr(image.ravel()) -plt.figure(figsize=(10, 5)) -plt.subplot(121) -plt.imshow(image) -plt.colorbar() -plt.subplot(122) -plt.imshow(out.reshape(*arg_shape)) -plt.colorbar() \ No newline at end of file diff --git a/_downloads/d1d43d473b0f4368b7c6e91e21b490e0/operator-5.hires.png b/_downloads/d1d43d473b0f4368b7c6e91e21b490e0/operator-5.hires.png deleted file mode 100644 index c1509f28..00000000 Binary files a/_downloads/d1d43d473b0f4368b7c6e91e21b490e0/operator-5.hires.png and /dev/null differ diff --git a/_downloads/d334da298262f6838cd851168625d306/operator-11_01.png b/_downloads/d334da298262f6838cd851168625d306/operator-11_01.png deleted file mode 100644 index 26f76494..00000000 Binary files a/_downloads/d334da298262f6838cd851168625d306/operator-11_01.png and /dev/null differ diff --git a/_downloads/d94d98623f466a362f24485e332111fc/linop-13_02.png b/_downloads/d94d98623f466a362f24485e332111fc/linop-13_02.png deleted file mode 100644 index d66751f8..00000000 Binary files a/_downloads/d94d98623f466a362f24485e332111fc/linop-13_02.png and /dev/null differ diff --git a/_downloads/d95682f2902576513757e8747a4f94d8/operator-9.py b/_downloads/d95682f2902576513757e8747a4f94d8/operator-9.py deleted file mode 100644 index ccb1eef9..00000000 --- a/_downloads/d95682f2902576513757e8747a4f94d8/operator-9.py +++ /dev/null @@ -1,29 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from pyxu.operator import Laplacian -from pyxu.util.misc import peaks - -# Define input image -n = 100 -x = np.linspace(-3, 3, n) -xx, yy = np.meshgrid(x, x) -image = peaks(xx, yy) - -arg_shape = image.shape # (1000, 1000) -# Compute Laplacian -laplacian = Laplacian(arg_shape=arg_shape) -output = laplacian(image.ravel()) -output = laplacian.unravel(output) # shape = (1, 1000, 1000) -# Plot -fig, axs = plt.subplots(1, 2, figsize=(10, 4)) -im = axs[0].imshow(image) -plt.colorbar(im, ax=axs[0]) -axs[0].set_title("Image") -axs[0].axis("off") - -im = axs[1].imshow(output.squeeze()) -plt.colorbar(im, ax=axs[1]) -axs[1].set_title(r"$\partial^{2} f/ \partial x^{2}+\partial^{2} f/ \partial y^{2}$") -axs[1].axis("off") - -fig.show() \ No newline at end of file diff --git a/_downloads/db9ac5fbbfe21a45f644cc919f758da2/opt-solver-1.pdf b/_downloads/db9ac5fbbfe21a45f644cc919f758da2/opt-solver-1.pdf index e1684d5b..bcf0b987 100644 Binary files a/_downloads/db9ac5fbbfe21a45f644cc919f758da2/opt-solver-1.pdf and b/_downloads/db9ac5fbbfe21a45f644cc919f758da2/opt-solver-1.pdf differ diff --git a/_downloads/dbc53e64d0cae8e637f47735d895aafa/linop-20_00.pdf b/_downloads/dbc53e64d0cae8e637f47735d895aafa/linop-20_00.pdf index 647f707e..c4832cfc 100644 Binary files a/_downloads/dbc53e64d0cae8e637f47735d895aafa/linop-20_00.pdf and b/_downloads/dbc53e64d0cae8e637f47735d895aafa/linop-20_00.pdf differ diff --git a/_downloads/dbc64e26ca6edbd26084bb910e4ff9f7/linop-4_02.hires.png b/_downloads/dbc64e26ca6edbd26084bb910e4ff9f7/linop-4_02.hires.png deleted file mode 100644 index afc1e2cf..00000000 Binary files a/_downloads/dbc64e26ca6edbd26084bb910e4ff9f7/linop-4_02.hires.png and /dev/null differ diff --git a/_downloads/dbd13b2660ccf8ff01353b1a063aaa1c/operator-21_01.png b/_downloads/dbd13b2660ccf8ff01353b1a063aaa1c/operator-21_01.png deleted file mode 100644 index 987409c8..00000000 Binary files a/_downloads/dbd13b2660ccf8ff01353b1a063aaa1c/operator-21_01.png and /dev/null differ diff --git a/_downloads/dc98e14e812e6f847c4fbabc802e630d/linop-4_02.pdf b/_downloads/dc98e14e812e6f847c4fbabc802e630d/linop-4_02.pdf deleted file mode 100644 index 2e7585c5..00000000 Binary files a/_downloads/dc98e14e812e6f847c4fbabc802e630d/linop-4_02.pdf and /dev/null differ diff --git a/_downloads/ddb65118b9c2654fdc8b8c39e75cc610/operator-12_00.pdf b/_downloads/ddb65118b9c2654fdc8b8c39e75cc610/operator-12_00.pdf deleted file mode 100644 index 22296cd6..00000000 Binary files a/_downloads/ddb65118b9c2654fdc8b8c39e75cc610/operator-12_00.pdf and /dev/null differ diff --git a/_downloads/de67bbc9a9bee54b9f36845451ed1c4e/linop-10_01.pdf b/_downloads/de67bbc9a9bee54b9f36845451ed1c4e/linop-10_01.pdf index 09f435ab..534c0c96 100644 Binary files a/_downloads/de67bbc9a9bee54b9f36845451ed1c4e/linop-10_01.pdf and b/_downloads/de67bbc9a9bee54b9f36845451ed1c4e/linop-10_01.pdf differ diff --git a/_downloads/e0edab28ffa8a7b21d2c5383d9cb8c12/operator-3_00.png b/_downloads/e0edab28ffa8a7b21d2c5383d9cb8c12/operator-3_00.png deleted file mode 100644 index fe4dbf22..00000000 Binary files a/_downloads/e0edab28ffa8a7b21d2c5383d9cb8c12/operator-3_00.png and /dev/null differ diff --git a/_downloads/e0eefa74af9eff0db39630aafbdd32db/linop-11_01.pdf b/_downloads/e0eefa74af9eff0db39630aafbdd32db/linop-11_01.pdf index 67830bce..1d1092f9 100644 Binary files a/_downloads/e0eefa74af9eff0db39630aafbdd32db/linop-11_01.pdf and b/_downloads/e0eefa74af9eff0db39630aafbdd32db/linop-11_01.pdf differ diff --git a/_downloads/e1a75dcc78d38d076dc2ecbd8c33f9ad/linop-11.py b/_downloads/e1a75dcc78d38d076dc2ecbd8c33f9ad/linop-11.py index 725e0ddf..9b92fec1 100644 --- a/_downloads/e1a75dcc78d38d076dc2ecbd8c33f9ad/linop-11.py +++ b/_downloads/e1a75dcc78d38d076dc2ecbd8c33f9ad/linop-11.py @@ -35,6 +35,6 @@ axs[2].set_title(r"$\frac{\partial^{3} f(x,y)}{\partial x\partial y^{2}}$") plt.colorbar(im, ax=axs[2]) -# Test approximation error +# Check approximation error plt.figure() -plt.imshow(abs(out1 - out2) / abs(out2)), plt.colorbar() \ No newline at end of file +plt.imshow(abs(out1 - out2)), plt.colorbar() \ No newline at end of file diff --git a/_downloads/e1c2f45952876293feb161611e3c2d06/linop-19.png b/_downloads/e1c2f45952876293feb161611e3c2d06/linop-19.png deleted file mode 100644 index 7abd9e38..00000000 Binary files a/_downloads/e1c2f45952876293feb161611e3c2d06/linop-19.png and /dev/null differ diff --git a/_downloads/e52263af1a66ae9a23ee58f7c56f3a6f/linop-13_03.pdf b/_downloads/e52263af1a66ae9a23ee58f7c56f3a6f/linop-13_03.pdf deleted file mode 100644 index 00bf9f22..00000000 Binary files a/_downloads/e52263af1a66ae9a23ee58f7c56f3a6f/linop-13_03.pdf and /dev/null differ diff --git a/_downloads/e6d7379beda9ef38f71609f23015c745/opt-2.pdf b/_downloads/e6d7379beda9ef38f71609f23015c745/opt-2.pdf deleted file mode 100644 index 6e9c13ad..00000000 Binary files a/_downloads/e6d7379beda9ef38f71609f23015c745/opt-2.pdf and /dev/null differ diff --git a/_downloads/e739c7c86eb1e91d889c2ba6a4a6af52/operator-21_03.png b/_downloads/e739c7c86eb1e91d889c2ba6a4a6af52/operator-21_03.png deleted file mode 100644 index 825b173b..00000000 Binary files a/_downloads/e739c7c86eb1e91d889c2ba6a4a6af52/operator-21_03.png and /dev/null differ diff --git a/_downloads/e86ae7ff57577dab32fe27b228573552/misc-1.pdf b/_downloads/e86ae7ff57577dab32fe27b228573552/misc-1.pdf index 4acc0453..a046374d 100644 Binary files a/_downloads/e86ae7ff57577dab32fe27b228573552/misc-1.pdf and b/_downloads/e86ae7ff57577dab32fe27b228573552/misc-1.pdf differ diff --git a/_downloads/e8cf3ce50f34b6ff0831d06aeebabca8/linop-6.pdf b/_downloads/e8cf3ce50f34b6ff0831d06aeebabca8/linop-6.pdf index cbf1aceb..8f37ba7f 100644 Binary files a/_downloads/e8cf3ce50f34b6ff0831d06aeebabca8/linop-6.pdf and b/_downloads/e8cf3ce50f34b6ff0831d06aeebabca8/linop-6.pdf differ diff --git a/_downloads/e8d0761a439aeaea00dcf73a4a90445e/experimental-1_00_00.png b/_downloads/e8d0761a439aeaea00dcf73a4a90445e/experimental-1_00_00.png deleted file mode 100644 index ce654ae3..00000000 Binary files a/_downloads/e8d0761a439aeaea00dcf73a4a90445e/experimental-1_00_00.png and /dev/null differ diff --git a/_downloads/e8ddacc83821817f83af535a3fdc0c3d/operator-10.pdf b/_downloads/e8ddacc83821817f83af535a3fdc0c3d/operator-10.pdf deleted file mode 100644 index 3226d41a..00000000 Binary files a/_downloads/e8ddacc83821817f83af535a3fdc0c3d/operator-10.pdf and /dev/null differ diff --git a/_downloads/e92a40fb9538516e44ee3d2080a0bba4/opt-3.png b/_downloads/e92a40fb9538516e44ee3d2080a0bba4/opt-3.png deleted file mode 100644 index b769785d..00000000 Binary files a/_downloads/e92a40fb9538516e44ee3d2080a0bba4/opt-3.png and /dev/null differ diff --git a/_downloads/e9c0199593213119a01b24588af34368/linop-20.pdf b/_downloads/e9c0199593213119a01b24588af34368/linop-20.pdf deleted file mode 100644 index c74274cd..00000000 Binary files a/_downloads/e9c0199593213119a01b24588af34368/linop-20.pdf and /dev/null differ diff --git a/_downloads/ea065ef29eb66de1c45bbe0702cc77be/operator-17.png b/_downloads/ea065ef29eb66de1c45bbe0702cc77be/operator-17.png deleted file mode 100644 index 46f5ec1b..00000000 Binary files a/_downloads/ea065ef29eb66de1c45bbe0702cc77be/operator-17.png and /dev/null differ diff --git a/_downloads/ebb87a8c84008c9385f6e91393987384/linop-11_02.png b/_downloads/ebb87a8c84008c9385f6e91393987384/linop-11_02.png deleted file mode 100644 index 785b9e79..00000000 Binary files a/_downloads/ebb87a8c84008c9385f6e91393987384/linop-11_02.png and /dev/null differ diff --git a/_downloads/ebca942ca6e14d7ba2eabcfc752dc3ce/linop-20_01.pdf b/_downloads/ebca942ca6e14d7ba2eabcfc752dc3ce/linop-20_01.pdf index fb57006c..3c955e12 100644 Binary files a/_downloads/ebca942ca6e14d7ba2eabcfc752dc3ce/linop-20_01.pdf and b/_downloads/ebca942ca6e14d7ba2eabcfc752dc3ce/linop-20_01.pdf differ diff --git a/_downloads/ebd30b8cac6ffa23638f86e7e0cbfcf8/operator-4_01.hires.png b/_downloads/ebd30b8cac6ffa23638f86e7e0cbfcf8/operator-4_01.hires.png deleted file mode 100644 index b50b6dfb..00000000 Binary files a/_downloads/ebd30b8cac6ffa23638f86e7e0cbfcf8/operator-4_01.hires.png and /dev/null differ diff --git a/_downloads/ebda9c8427d0061add5c36d23ac72518/operator-21_03.pdf b/_downloads/ebda9c8427d0061add5c36d23ac72518/operator-21_03.pdf deleted file mode 100644 index eab1a645..00000000 Binary files a/_downloads/ebda9c8427d0061add5c36d23ac72518/operator-21_03.pdf and /dev/null differ diff --git a/_downloads/ec62b0e358ee5c0b4fe48a7f14c93a09/operator-3_00.pdf b/_downloads/ec62b0e358ee5c0b4fe48a7f14c93a09/operator-3_00.pdf deleted file mode 100644 index 54c761a2..00000000 Binary files a/_downloads/ec62b0e358ee5c0b4fe48a7f14c93a09/operator-3_00.pdf and /dev/null differ diff --git a/_downloads/ecac7b967e6cb984424af14d8b946bce/operator-13_01.hires.png b/_downloads/ecac7b967e6cb984424af14d8b946bce/operator-13_01.hires.png deleted file mode 100644 index 9ccc6d00..00000000 Binary files a/_downloads/ecac7b967e6cb984424af14d8b946bce/operator-13_01.hires.png and /dev/null differ diff --git a/_downloads/ecb8cc6e01fafd628c1f3f5476756590/operator-21_00.png b/_downloads/ecb8cc6e01fafd628c1f3f5476756590/operator-21_00.png deleted file mode 100644 index 5fa0c071..00000000 Binary files a/_downloads/ecb8cc6e01fafd628c1f3f5476756590/operator-21_00.png and /dev/null differ diff --git a/_downloads/edea08851573d4f271df708dfee884d4/linop-21.pdf b/_downloads/edea08851573d4f271df708dfee884d4/linop-21.pdf deleted file mode 100644 index 57f1ad19..00000000 Binary files a/_downloads/edea08851573d4f271df708dfee884d4/linop-21.pdf and /dev/null differ diff --git a/_downloads/ee22dc0a66baaeda24d579f4dd50f185/operator-13_01.pdf b/_downloads/ee22dc0a66baaeda24d579f4dd50f185/operator-13_01.pdf deleted file mode 100644 index 8fc34204..00000000 Binary files a/_downloads/ee22dc0a66baaeda24d579f4dd50f185/operator-13_01.pdf and /dev/null differ diff --git a/_downloads/ee39cd6f03890e23e667a22fcfb0878d/operator-13_01.png b/_downloads/ee39cd6f03890e23e667a22fcfb0878d/operator-13_01.png deleted file mode 100644 index df404bc2..00000000 Binary files a/_downloads/ee39cd6f03890e23e667a22fcfb0878d/operator-13_01.png and /dev/null differ diff --git a/_downloads/ee7aa894b3da122692fdf69beafcbe37/operator-1.pdf b/_downloads/ee7aa894b3da122692fdf69beafcbe37/operator-1.pdf deleted file mode 100644 index 1acc3bfe..00000000 Binary files a/_downloads/ee7aa894b3da122692fdf69beafcbe37/operator-1.pdf and /dev/null differ diff --git a/_downloads/ef2ed6b8376eb7464b1d4b22cdf87266/linop-10_02.pdf b/_downloads/ef2ed6b8376eb7464b1d4b22cdf87266/linop-10_02.pdf index 7249c5fd..10a3b6dc 100644 Binary files a/_downloads/ef2ed6b8376eb7464b1d4b22cdf87266/linop-10_02.pdf and b/_downloads/ef2ed6b8376eb7464b1d4b22cdf87266/linop-10_02.pdf differ diff --git a/_downloads/ef375de8a555744bde8d66d2be4d2ecd/linop-4.pdf b/_downloads/ef375de8a555744bde8d66d2be4d2ecd/linop-4.pdf index 02b28ac9..deb42a0f 100644 Binary files a/_downloads/ef375de8a555744bde8d66d2be4d2ecd/linop-4.pdf and b/_downloads/ef375de8a555744bde8d66d2be4d2ecd/linop-4.pdf differ diff --git a/_downloads/eff18b5fef44d9c0d77331121a291e8f/operator-11.py b/_downloads/eff18b5fef44d9c0d77331121a291e8f/operator-11.py deleted file mode 100644 index 06c3a954..00000000 --- a/_downloads/eff18b5fef44d9c0d77331121a291e8f/operator-11.py +++ /dev/null @@ -1,31 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from pyxu.operator import DirectionalGradient -from pyxu.util.misc import peaks - -x = np.linspace(-2.5, 2.5, 25) -xx, yy = np.meshgrid(x, x) -z = peaks(xx, yy) -directions1 = np.zeros(shape=(2, z.size)) -directions1[0, :z.size // 2] = 1 -directions1[1, z.size // 2:] = 1 -directions2 = np.zeros(shape=(2, z.size)) -directions2[1, :z.size // 2] = -1 -directions2[0, z.size // 2:] = -1 -arg_shape = z.shape -dop = DirectionalGradient(arg_shape=arg_shape, directions=[directions1, directions2]) -out = dop.unravel(dop(z.ravel())) -plt.figure() -h = plt.pcolormesh(xx, yy, z, shading='auto') -plt.quiver(x, x, directions1[1].reshape(arg_shape), directions1[0].reshape(xx.shape)) -plt.quiver(x, x, directions2[1].reshape(arg_shape), directions2[0].reshape(xx.shape), color='red') -plt.colorbar(h) -plt.title(r'Signal $\mathbf{f}$ and directions of derivatives') -plt.figure() -h = plt.pcolormesh(xx, yy, out[0], shading='auto') -plt.colorbar(h) -plt.title(r'$\nabla_{\mathbf{v}_0} \mathbf{f}$') -plt.figure() -h = plt.pcolormesh(xx, yy, out[1], shading='auto') -plt.colorbar(h) -plt.title(r'$\nabla_{\mathbf{v}_1} \mathbf{f}$') \ No newline at end of file diff --git a/_downloads/f2dd49c204e444011bf0c8ee51349779/opt-1.py b/_downloads/f2dd49c204e444011bf0c8ee51349779/opt-1.py deleted file mode 100644 index 982b2492..00000000 --- a/_downloads/f2dd49c204e444011bf0c8ee51349779/opt-1.py +++ /dev/null @@ -1,31 +0,0 @@ -import matplotlib.pyplot as plt -import numpy as np -import pyxu.operator as pxo -from pyxu.experimental._dev import DownSampling, FirstDerivative -from pyxu.opt.solver import CV - -x = np.repeat(np.asarray([0, 2, 1, 3, 0, 2, 0]), 10) -N = x.size - -D = FirstDerivative(size=N, kind="forward") -D.lipschitz = D.estimate_lipschitz() - -downsample = DownSampling(size=N, downsampling_factor=3) -y = downsample(x) -loss = (1 / 2) * pxo.SquaredL2Norm(y.size).argshift(-y) -F = loss * downsample -F.diff_lipschitz = F.estimate_diff_lipschitz() - -cv = CV(f=F, g=0.01 * pxo.L1Norm(N), h=0.1 * pxo.L1Norm(N), K=D) -x0, z0 = np.zeros((2, N)) -cv.fit(x0=x0, z0=z0) -x_recons = cv.solution()[0] - -plt.figure() -plt.stem(x, linefmt="C0-", markerfmt="C0o") -mask_ids = np.where(downsample.downsampling_mask)[0] -markerline, stemlines, baseline = plt.stem(mask_ids, y, linefmt="C3-", markerfmt="C3o") -markerline.set_markerfacecolor("none") -plt.stem(x_recons, linefmt="C1--", markerfmt="C1s") -plt.legend(["Ground truth", "Observation", "CV Estimate"]) -plt.show() \ No newline at end of file diff --git a/_downloads/f32070409f4c8c535a15508855b9e463/linop-21_02.pdf b/_downloads/f32070409f4c8c535a15508855b9e463/linop-21_02.pdf index 9a068ceb..b65f4c88 100644 Binary files a/_downloads/f32070409f4c8c535a15508855b9e463/linop-21_02.pdf and b/_downloads/f32070409f4c8c535a15508855b9e463/linop-21_02.pdf differ diff --git a/_downloads/f363b074be57f30d62e32feccedb67e8/experimental-sampler-1_00_00.png b/_downloads/f363b074be57f30d62e32feccedb67e8/experimental-sampler-1_00_00.png index c147aa54..684c09e3 100644 Binary files a/_downloads/f363b074be57f30d62e32feccedb67e8/experimental-sampler-1_00_00.png and b/_downloads/f363b074be57f30d62e32feccedb67e8/experimental-sampler-1_00_00.png differ diff --git a/_downloads/f54ac688c85e54a5c4e01ac51d047db1/operator-10.py b/_downloads/f54ac688c85e54a5c4e01ac51d047db1/operator-10.py deleted file mode 100644 index 1f191681..00000000 --- a/_downloads/f54ac688c85e54a5c4e01ac51d047db1/operator-10.py +++ /dev/null @@ -1,29 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -from pyxu.operator import DirectionalDerivative -from pyxu.util.misc import peaks - -x = np.linspace(-2.5, 2.5, 25) -xx, yy = np.meshgrid(x, x) -z = peaks(xx, yy) -directions = np.zeros(shape=(2, z.size)) -directions[0, : z.size // 2] = 1 -directions[1, z.size // 2:] = 1 -dop = DirectionalDerivative(arg_shape=z.shape, order=1, directions=directions) -out = dop.unravel(dop(z.ravel())) -dop2 = DirectionalDerivative(arg_shape=z.shape, order=2, directions=directions) -out2 = dop2.unravel(dop2(z.ravel())) -fig, axs = plt.subplots(1, 3, figsize=(15, 5)) -axs = np.ravel(axs) -h = axs[0].pcolormesh(xx, yy, z, shading="auto") -axs[0].quiver(x, x, directions[1].reshape(xx.shape), directions[0].reshape(xx.shape)) -plt.colorbar(h, ax=axs[0]) -axs[0].set_title("Signal and directions of first derivatives") - -h = axs[1].pcolormesh(xx, yy, out.squeeze(), shading="auto") -plt.colorbar(h, ax=axs[1]) -axs[1].set_title("First-order directional derivatives") - -h = axs[2].pcolormesh(xx, yy, out2.squeeze(), shading="auto") -plt.colorbar(h, ax=axs[2]) -axs[2].set_title("Second-order directional derivative") \ No newline at end of file diff --git a/_downloads/f6fdcb1dac293e403daf6b44a63a0a98/linop-19_01.pdf b/_downloads/f6fdcb1dac293e403daf6b44a63a0a98/linop-19_01.pdf index 7ed446be..fa468629 100644 Binary files a/_downloads/f6fdcb1dac293e403daf6b44a63a0a98/linop-19_01.pdf and b/_downloads/f6fdcb1dac293e403daf6b44a63a0a98/linop-19_01.pdf differ diff --git a/_downloads/f9ba4343980bdb8f37da0283f3a6d97e/linop-10.hires.png b/_downloads/f9ba4343980bdb8f37da0283f3a6d97e/linop-10.hires.png deleted file mode 100644 index fae722c2..00000000 Binary files a/_downloads/f9ba4343980bdb8f37da0283f3a6d97e/linop-10.hires.png and /dev/null differ diff --git a/_downloads/fa1e9c492a3642cd6b2e4edb05885d27/operator-11_01.pdf b/_downloads/fa1e9c492a3642cd6b2e4edb05885d27/operator-11_01.pdf deleted file mode 100644 index 1017a0fd..00000000 Binary files a/_downloads/fa1e9c492a3642cd6b2e4edb05885d27/operator-11_01.pdf and /dev/null differ diff --git a/_downloads/fb2a08c73290a1f099ce4f662f384ba8/operator-3_01.pdf b/_downloads/fb2a08c73290a1f099ce4f662f384ba8/operator-3_01.pdf deleted file mode 100644 index eb3df032..00000000 Binary files a/_downloads/fb2a08c73290a1f099ce4f662f384ba8/operator-3_01.pdf and /dev/null differ diff --git a/_downloads/fd4ec1dae59f3f8ce46dd8ad9d29ad84/linop-12_00.pdf b/_downloads/fd4ec1dae59f3f8ce46dd8ad9d29ad84/linop-12_00.pdf index de0a3e38..02838a25 100644 Binary files a/_downloads/fd4ec1dae59f3f8ce46dd8ad9d29ad84/linop-12_00.pdf and b/_downloads/fd4ec1dae59f3f8ce46dd8ad9d29ad84/linop-12_00.pdf differ diff --git a/_downloads/fe6968ec011cf22e38035319bd778af2/operator-9.png b/_downloads/fe6968ec011cf22e38035319bd778af2/operator-9.png deleted file mode 100644 index 458adf0d..00000000 Binary files a/_downloads/fe6968ec011cf22e38035319bd778af2/operator-9.png and /dev/null differ diff --git a/_downloads/feb0d965c7c0bb35ac098ec3ef67df61/operator-14.py b/_downloads/feb0d965c7c0bb35ac098ec3ef67df61/operator-14.py deleted file mode 100644 index d7c5085f..00000000 --- a/_downloads/feb0d965c7c0bb35ac098ec3ef67df61/operator-14.py +++ /dev/null @@ -1,16 +0,0 @@ -import matplotlib.pyplot as plt -from pyxu.operator import MovingAverage - -arg_shape = (11, 11) -image = np.zeros(arg_shape) -image[5, 5] = 1. - -ma = MovingAverage(arg_shape, size=5) -out = ma(image.ravel()) -plt.figure(figsize=(10, 5)) -plt.subplot(121) -plt.imshow(image) -plt.colorbar() -plt.subplot(122) -plt.imshow(out.reshape(*arg_shape)) -plt.colorbar() \ No newline at end of file diff --git a/_images/examples_Stencils_29_0.png b/_images/examples_Stencils_29_0.png deleted file mode 100644 index 881b65da..00000000 Binary files a/_images/examples_Stencils_29_0.png and /dev/null differ diff --git a/_images/examples_Stencils_26_0.png b/_images/examples_stencils_26_0.png similarity index 100% rename from _images/examples_Stencils_26_0.png rename to _images/examples_stencils_26_0.png diff --git a/_images/examples_Stencils_28_0.png b/_images/examples_stencils_28_0.png similarity index 100% rename from _images/examples_Stencils_28_0.png rename to _images/examples_stencils_28_0.png diff --git a/_images/examples_Stencils_9_0.png b/_images/examples_stencils_9_0.png similarity index 100% rename from _images/examples_Stencils_9_0.png rename to _images/examples_stencils_9_0.png diff --git a/_images/experimental-1_00_00.png b/_images/experimental-1_00_00.png deleted file mode 100644 index ce654ae3..00000000 Binary files a/_images/experimental-1_00_00.png and /dev/null differ diff --git a/_images/experimental-1_01_00.png b/_images/experimental-1_01_00.png deleted file mode 100644 index 5c33d91e..00000000 Binary files a/_images/experimental-1_01_00.png and /dev/null differ diff --git a/_images/experimental-sampler-1_00_00.png b/_images/experimental-sampler-1_00_00.png index c147aa54..684c09e3 100644 Binary files a/_images/experimental-sampler-1_00_00.png and b/_images/experimental-sampler-1_00_00.png differ diff --git a/_images/experimental-sampler-1_01_00.png b/_images/experimental-sampler-1_01_00.png index c8779884..8abb07d6 100644 Binary files a/_images/experimental-sampler-1_01_00.png and b/_images/experimental-sampler-1_01_00.png differ diff --git a/_images/examples_DifferentialOperators_20_0.png b/_images/guide_diff_ops_10_0.png similarity index 100% rename from _images/examples_DifferentialOperators_20_0.png rename to _images/guide_diff_ops_10_0.png diff --git a/_images/examples_DifferentialOperators_31_0.png b/_images/guide_diff_ops_21_0.png similarity index 100% rename from _images/examples_DifferentialOperators_31_0.png rename to _images/guide_diff_ops_21_0.png diff --git a/_images/examples_DifferentialOperators_34_0.png b/_images/guide_diff_ops_24_0.png similarity index 100% rename from _images/examples_DifferentialOperators_34_0.png rename to _images/guide_diff_ops_24_0.png diff --git a/_images/examples_DifferentialOperators_13_1.png b/_images/guide_diff_ops_3_1.png similarity index 100% rename from _images/examples_DifferentialOperators_13_1.png rename to _images/guide_diff_ops_3_1.png diff --git a/_images/examples_DifferentialOperators_19_0.png b/_images/guide_diff_ops_9_0.png similarity index 100% rename from _images/examples_DifferentialOperators_19_0.png rename to _images/guide_diff_ops_9_0.png diff --git a/_images/guide_hpc_10_0.png b/_images/guide_hpc_10_0.png deleted file mode 100644 index b4d72807..00000000 Binary files a/_images/guide_hpc_10_0.png and /dev/null differ diff --git a/_images/linop-10.png b/_images/linop-10.png deleted file mode 100644 index 9df02f1e..00000000 Binary files a/_images/linop-10.png and /dev/null differ diff --git a/_images/linop-11_01.png b/_images/linop-11_01.png index 23895dd6..1e266f6f 100644 Binary files a/_images/linop-11_01.png and b/_images/linop-11_01.png differ diff --git a/_images/linop-11_02.png b/_images/linop-11_02.png deleted file mode 100644 index 785b9e79..00000000 Binary files a/_images/linop-11_02.png and /dev/null differ diff --git a/_images/linop-13_00.png b/_images/linop-13_00.png deleted file mode 100644 index 29997314..00000000 Binary files a/_images/linop-13_00.png and /dev/null differ diff --git a/_images/linop-13_01.png b/_images/linop-13_01.png deleted file mode 100644 index df404bc2..00000000 Binary files a/_images/linop-13_01.png and /dev/null differ diff --git a/_images/linop-13_02.png b/_images/linop-13_02.png deleted file mode 100644 index d66751f8..00000000 Binary files a/_images/linop-13_02.png and /dev/null differ diff --git a/_images/linop-13_03.png b/_images/linop-13_03.png deleted file mode 100644 index 77f49770..00000000 Binary files a/_images/linop-13_03.png and /dev/null differ diff --git a/_images/linop-19.png b/_images/linop-19.png deleted file mode 100644 index 7abd9e38..00000000 Binary files a/_images/linop-19.png and /dev/null differ diff --git a/_images/linop-20.png b/_images/linop-20.png deleted file mode 100644 index cf0cf366..00000000 Binary files a/_images/linop-20.png and /dev/null differ diff --git a/_images/linop-21.png b/_images/linop-21.png deleted file mode 100644 index 707cde96..00000000 Binary files a/_images/linop-21.png and /dev/null differ diff --git a/_images/linop-3_00.png b/_images/linop-3_00.png deleted file mode 100644 index fe4dbf22..00000000 Binary files a/_images/linop-3_00.png and /dev/null differ diff --git a/_images/linop-3_01.png b/_images/linop-3_01.png deleted file mode 100644 index 23895dd6..00000000 Binary files a/_images/linop-3_01.png and /dev/null differ diff --git a/_images/linop-4_00.png b/_images/linop-4_00.png deleted file mode 100644 index fccd452c..00000000 Binary files a/_images/linop-4_00.png and /dev/null differ diff --git a/_images/linop-4_01.png b/_images/linop-4_01.png deleted file mode 100644 index ea2aefc5..00000000 Binary files a/_images/linop-4_01.png and /dev/null differ diff --git a/_images/linop-4_02.png b/_images/linop-4_02.png deleted file mode 100644 index e557225d..00000000 Binary files a/_images/linop-4_02.png and /dev/null differ diff --git a/_images/operator-1.png b/_images/operator-1.png deleted file mode 100644 index 65459407..00000000 Binary files a/_images/operator-1.png and /dev/null differ diff --git a/_images/operator-10.png b/_images/operator-10.png deleted file mode 100644 index 9df02f1e..00000000 Binary files a/_images/operator-10.png and /dev/null differ diff --git a/_images/operator-11_00.png b/_images/operator-11_00.png deleted file mode 100644 index 29997314..00000000 Binary files a/_images/operator-11_00.png and /dev/null differ diff --git a/_images/operator-11_01.png b/_images/operator-11_01.png deleted file mode 100644 index 26f76494..00000000 Binary files a/_images/operator-11_01.png and /dev/null differ diff --git a/_images/operator-11_02.png b/_images/operator-11_02.png deleted file mode 100644 index 785b9e79..00000000 Binary files a/_images/operator-11_02.png and /dev/null differ diff --git a/_images/operator-12_00.png b/_images/operator-12_00.png deleted file mode 100644 index c28866bc..00000000 Binary files a/_images/operator-12_00.png and /dev/null differ diff --git a/_images/operator-12_01.png b/_images/operator-12_01.png deleted file mode 100644 index 07432f15..00000000 Binary files a/_images/operator-12_01.png and /dev/null differ diff --git a/_images/operator-13_00.png b/_images/operator-13_00.png deleted file mode 100644 index 29997314..00000000 Binary files a/_images/operator-13_00.png and /dev/null differ diff --git a/_images/operator-13_01.png b/_images/operator-13_01.png deleted file mode 100644 index df404bc2..00000000 Binary files a/_images/operator-13_01.png and /dev/null differ diff --git a/_images/operator-13_02.png b/_images/operator-13_02.png deleted file mode 100644 index d66751f8..00000000 Binary files a/_images/operator-13_02.png and /dev/null differ diff --git a/_images/operator-13_03.png b/_images/operator-13_03.png deleted file mode 100644 index 77f49770..00000000 Binary files a/_images/operator-13_03.png and /dev/null differ diff --git a/_images/operator-14.png b/_images/operator-14.png deleted file mode 100644 index c28982cb..00000000 Binary files a/_images/operator-14.png and /dev/null differ diff --git a/_images/operator-15.png b/_images/operator-15.png deleted file mode 100644 index 26a935f1..00000000 Binary files a/_images/operator-15.png and /dev/null differ diff --git a/_images/operator-16.png b/_images/operator-16.png deleted file mode 100644 index 0a0e3de5..00000000 Binary files a/_images/operator-16.png and /dev/null differ diff --git a/_images/operator-17.png b/_images/operator-17.png deleted file mode 100644 index 46f5ec1b..00000000 Binary files a/_images/operator-17.png and /dev/null differ diff --git a/_images/operator-18.png b/_images/operator-18.png deleted file mode 100644 index 7abd9e38..00000000 Binary files a/_images/operator-18.png and /dev/null differ diff --git a/_images/operator-19.png b/_images/operator-19.png deleted file mode 100644 index cf0cf366..00000000 Binary files a/_images/operator-19.png and /dev/null differ diff --git a/_images/operator-2.png b/_images/operator-2.png deleted file mode 100644 index c4e9be08..00000000 Binary files a/_images/operator-2.png and /dev/null differ diff --git a/_images/operator-20.png b/_images/operator-20.png deleted file mode 100644 index 707cde96..00000000 Binary files a/_images/operator-20.png and /dev/null differ diff --git a/_images/operator-21_00.png b/_images/operator-21_00.png deleted file mode 100644 index 5fa0c071..00000000 Binary files a/_images/operator-21_00.png and /dev/null differ diff --git a/_images/operator-21_01.png b/_images/operator-21_01.png deleted file mode 100644 index 987409c8..00000000 Binary files a/_images/operator-21_01.png and /dev/null differ diff --git a/_images/operator-21_02.png b/_images/operator-21_02.png deleted file mode 100644 index 202a34b9..00000000 Binary files a/_images/operator-21_02.png and /dev/null differ diff --git a/_images/operator-21_03.png b/_images/operator-21_03.png deleted file mode 100644 index 825b173b..00000000 Binary files a/_images/operator-21_03.png and /dev/null differ diff --git a/_images/operator-3_00.png b/_images/operator-3_00.png deleted file mode 100644 index fe4dbf22..00000000 Binary files a/_images/operator-3_00.png and /dev/null differ diff --git a/_images/operator-3_01.png b/_images/operator-3_01.png deleted file mode 100644 index 23895dd6..00000000 Binary files a/_images/operator-3_01.png and /dev/null differ diff --git a/_images/operator-4_00.png b/_images/operator-4_00.png deleted file mode 100644 index fccd452c..00000000 Binary files a/_images/operator-4_00.png and /dev/null differ diff --git a/_images/operator-4_01.png b/_images/operator-4_01.png deleted file mode 100644 index ea2aefc5..00000000 Binary files a/_images/operator-4_01.png and /dev/null differ diff --git a/_images/operator-4_02.png b/_images/operator-4_02.png deleted file mode 100644 index e557225d..00000000 Binary files a/_images/operator-4_02.png and /dev/null differ diff --git a/_images/operator-5.png b/_images/operator-5.png deleted file mode 100644 index 3caac993..00000000 Binary files a/_images/operator-5.png and /dev/null differ diff --git a/_images/operator-6.png b/_images/operator-6.png deleted file mode 100644 index 60d90a67..00000000 Binary files a/_images/operator-6.png and /dev/null differ diff --git a/_images/operator-7.png b/_images/operator-7.png deleted file mode 100644 index 39e58e55..00000000 Binary files a/_images/operator-7.png and /dev/null differ diff --git a/_images/operator-8.png b/_images/operator-8.png deleted file mode 100644 index d6d0749e..00000000 Binary files a/_images/operator-8.png and /dev/null differ diff --git a/_images/operator-9.png b/_images/operator-9.png deleted file mode 100644 index 458adf0d..00000000 Binary files a/_images/operator-9.png and /dev/null differ diff --git a/_images/opt-1.png b/_images/opt-1.png deleted file mode 100644 index 5b1ae4f0..00000000 Binary files a/_images/opt-1.png and /dev/null differ diff --git a/_images/opt-2.png b/_images/opt-2.png deleted file mode 100644 index 4a24cdae..00000000 Binary files a/_images/opt-2.png and /dev/null differ diff --git a/_images/opt-3.png b/_images/opt-3.png deleted file mode 100644 index b769785d..00000000 Binary files a/_images/opt-3.png and /dev/null differ diff --git a/_images/opt-solver-3.png b/_images/opt-solver-3.png index b769785d..d652c5bf 100644 Binary files a/_images/opt-solver-3.png and b/_images/opt-solver-3.png differ diff --git a/_modules/.DS_Store b/_modules/.DS_Store deleted file mode 100644 index 772eae70..00000000 Binary files a/_modules/.DS_Store and /dev/null differ diff --git a/_modules/collections/abc.html b/_modules/collections/abc.html index 4eb3fab4..793a945f 100644 --- a/_modules/collections/abc.html +++ b/_modules/collections/abc.html @@ -27,8 +27,8 @@ - - + + @@ -37,13 +37,13 @@ - + - + @@ -199,7 +199,7 @@ - + +
__sub__(other)[source]#
@@ -503,6 +736,7 @@

pyxu.abc.operator
__neg__()[source]#
@@ -516,6 +750,7 @@

pyxu.abc.operator
__mul__(other)[source]#
@@ -543,6 +778,7 @@

pyxu.abc.operatorScaleRule, ChainRule

+
__pow__(k)[source]#
@@ -565,6 +801,7 @@

pyxu.abc.operatorPowerRule

+
argscale(scalar)[source]#
@@ -585,6 +822,7 @@

pyxu.abc.operatorArgScaleRule

+
argshift(shift)[source]#
@@ -605,6 +843,7 @@

pyxu.abc.operatorArgShiftRule

+
squeeze()[source]#
@@ -615,6 +854,7 @@

pyxu.abc.operator
expr(level=0, strip=True)[source]#
@@ -653,7 +893,9 @@

pyxu.abc.operator
class Map(shape)[source]#
@@ -677,6 +919,7 @@

pyxu.abc.operator
apply(arr)[source]#
@@ -693,6 +936,7 @@

pyxu.abc.operator
__call__(arr)[source]#
@@ -706,6 +950,7 @@

pyxu.abc.operator
property lipschitz: Real#
@@ -743,6 +988,7 @@

pyxu.abc.operator
estimate_lipschitz(**kwargs)[source]#
@@ -772,7 +1018,9 @@

pyxu.abc.operator
class Func(shape)[source]#
@@ -805,7 +1053,9 @@

pyxu.abc.operator
class DiffMap(shape)[source]#
@@ -857,6 +1107,7 @@

pyxu.abc.operator
property diff_lipschitz: Real#
@@ -894,6 +1145,7 @@

pyxu.abc.operator
estimate_diff_lipschitz(**kwargs)[source]#
@@ -923,7 +1175,9 @@

pyxu.abc.operator
class DiffFunc(shape)[source]#
@@ -965,7 +1219,9 @@

pyxu.abc.operator
class ProxFunc(shape)[source]#
@@ -1010,6 +1266,7 @@

pyxu.abc.operator
fenchel_prox(arr, sigma)[source]#
@@ -1041,6 +1298,7 @@

pyxu.abc.operator
moreau_envelope(mu)[source]#
@@ -1083,56 +1341,58 @@

pyxu.abc.operator\(f^{\mu}\) is strongly-convex.

Example

Construct and plot the Moreau envelope of the \(\ell_{1}\)-norm:

-
import numpy as np
-import matplotlib.pyplot as plt
-from pyxu.abc import ProxFunc
+
import numpy as np
+import matplotlib.pyplot as plt
+from pyxu.abc import ProxFunc
 
-class L1Norm(ProxFunc):
-    def __init__(self, dim: int):
-        super().__init__(shape=(1, dim))
+class L1Norm(ProxFunc):
+    def __init__(self, dim: int):
+        super().__init__(shape=(1, dim))
     def apply(self, arr):
-        return np.linalg.norm(arr, axis=-1, keepdims=True, ord=1)
+        return np.linalg.norm(arr, axis=-1, keepdims=True, ord=1)
     def prox(self, arr, tau):
-        return np.clip(np.abs(arr)-tau, a_min=0, a_max=None) * np.sign(arr)
+        return np.clip(np.abs(arr)-tau, a_min=0, a_max=None) * np.sign(arr)
 
 N = 512
 l1_norm = L1Norm(dim=N)
 mus = [0.1, 0.5, 1]
 smooth_l1_norms = [l1_norm.moreau_envelope(mu) for mu in mus]
 
-x = np.linspace(-1, 1, N)[:, None]
-labels=['mu=0']
-labels.extend([f'mu={mu}' for mu in mus])
-plt.figure()
-plt.plot(x, l1_norm(x))
+x = np.linspace(-1, 1, N)[:, None]
+labels=['mu=0']
+labels.extend([f'mu={mu}' for mu in mus])
+plt.figure()
+plt.plot(x, l1_norm(x))
 for f in smooth_l1_norms:
-    plt.plot(x, f(x))
-plt.legend(labels)
-plt.title('Moreau Envelope')
+    plt.plot(x, f(x))
+plt.legend(labels)
+plt.title('Moreau Envelope')
 
-labels=[f'mu={mu}' for mu in mus]
-plt.figure()
+labels=[f'mu={mu}' for mu in mus]
+plt.figure()
 for f in smooth_l1_norms:
-    plt.plot(x, f.grad(x))
-plt.legend(labels)
-plt.title('Derivative of Moreau Envelope')
+    plt.plot(x, f.grad(x))
+plt.legend(labels)
+plt.title('Derivative of Moreau Envelope')
 

(Source code)

-../../_images/operator-1_00.png +../../_images/operator-1_00.png

(png, hires.png, pdf)#

-../../_images/operator-1_01.png +../../_images/operator-1_01.png

(png, hires.png, pdf)#

+ +
class ProxDiffFunc(shape)[source]#
@@ -1149,6 +1409,7 @@

pyxu.abc.operator
class QuadraticFunc(shape, Q=None, c=None, t=0)[source]#
@@ -1206,13 +1467,16 @@

pyxu.abc.operator
_quad_spec()[source]#

Canonical quadratic parameterization.

Useful for some internal methods, and overloaded during operator arithmetic.

+ +
class LinOp(shape)[source]#
@@ -1251,11 +1515,13 @@

pyxu.abc.operator
property T: OpT#

Return the (M, N) adjoint of \(\mathbf{A}\).

+
to_sciop(dtype=None, gpu=False)[source]#
@@ -1276,6 +1542,7 @@

pyxu.abc.operator
estimate_lipschitz(**kwargs)[source]#
@@ -1283,7 +1550,7 @@

pyxu.abc.operator
Parameters:

+
gram()[source]#
@@ -1384,6 +1654,7 @@

pyxu.abc.operator
cogram()[source]#
@@ -1403,6 +1674,7 @@

pyxu.abc.operator
pinv(arr, damp, kwargs_init=None, kwargs_fit=None)[source]#
@@ -1450,6 +1722,7 @@

pyxu.abc.operator\(\tau > 0\) corresponds to the damp parameter.

+
dagger(damp, kwargs_init=None, kwargs_fit=None)[source]#
@@ -1470,6 +1743,7 @@

pyxu.abc.operator
classmethod from_array(A, enable_warnings=True)[source]#
@@ -1489,7 +1763,9 @@

pyxu.abc.operator
class SquareOp(shape)[source]#
@@ -1508,7 +1784,7 @@

pyxu.abc.operator
Parameters: