├── Alg_1.asv ├── Alg_1.m ├── Alg_1_cal_ESR.m ├── Alg_1_con.m ├── Alg_1_noRS.m ├── Algorithm1.asv ├── Algorithm1.m ├── Contents.m ├── Fig_4.m ├── Fig_7.asv ├── Fig_7.m ├── GMI_RS.m ├── GMI_SDMA.m ├── GPL.txt ├── LICENSE.txt ├── MANIFEST ├── README.md ├── README.txt ├── SDMA_ZF.m ├── Untitled2.asv ├── Untitled2.m ├── ZF_noRS.m ├── [0] └── matlab.mat ├── builtins ├── @cvx │ ├── abs.m │ ├── blkdiag.m │ ├── builtins.m │ ├── cat.m │ ├── conj.m │ ├── conv.m │ ├── ctranspose.m │ ├── cumprod.m │ ├── cumsum.m │ ├── diag.m │ ├── disp.m │ ├── end.m │ ├── eq.m │ ├── exp.m │ ├── find.m │ ├── full.m │ ├── ge.m │ ├── gt.m │ ├── hankel.m │ ├── horzcat.m │ ├── imag.m │ ├── ipermute.m │ ├── isreal.m │ ├── kron.m │ ├── ldivide.m │ ├── le.m │ ├── log.m │ ├── lt.m │ ├── max.m │ ├── min.m │ ├── minus.m │ ├── mldivide.m │ ├── mpower.m │ ├── mrdivide.m │ ├── mtimes.m │ ├── ne.m │ ├── nnz.m │ ├── norm.m │ ├── permute.m │ ├── plus.m │ ├── polyval.m │ ├── power.m │ ├── prod.m │ ├── rdivide.m │ ├── real.m │ ├── reshape.m │ ├── size.m │ ├── sparse.m │ ├── spy.m │ ├── sqrt.m │ ├── std.m │ ├── subsasgn.m │ ├── subsref.m │ ├── sum.m │ ├── times.m │ ├── toeplitz.m │ ├── transpose.m │ ├── tril.m │ ├── triu.m │ ├── uminus.m │ ├── uplus.m │ ├── var.m │ └── vertcat.m ├── @cvxcnst │ ├── eq.m │ ├── ge.m │ ├── gt.m │ ├── le.m │ ├── lt.m │ └── ne.m └── Contents.m ├── cal_ABCD.m ├── cal_GMI.m ├── cal_X.m ├── cal_X_no_common.m ├── cal_ach_rate.m ├── commands ├── @cvx │ └── commands.m ├── Contents.m ├── cvx_begin.m ├── cvx_clear.m ├── cvx_end.m ├── cvx_expert.m ├── cvx_pause.m ├── cvx_power_warning.m ├── cvx_precision.m ├── cvx_profile.m ├── cvx_quiet.m ├── cvx_save_prefs.m ├── cvx_solver.m ├── cvx_solver_settings.m ├── cvx_tic.m ├── cvx_toc.m └── cvx_where.m ├── cvx_error.m ├── cvx_grbgetkey.m ├── cvx_license.p ├── cvx_setup.m ├── cvx_startup.m ├── cvx_version.m ├── doc ├── CVX.pdf ├── _images │ ├── envelope.pdf │ └── tradeoff.pdf ├── _sources │ ├── advanced.txt │ ├── basics.txt │ ├── citing.txt │ ├── credits.txt │ ├── dcp.txt │ ├── funcref.txt │ ├── gp.txt │ ├── gurobi.txt │ ├── index.txt │ ├── install.txt │ ├── intro.txt │ ├── license.txt │ ├── mosek.txt │ ├── quickstart.txt │ ├── sdp.txt │ ├── solver.txt │ └── support.txt ├── _static │ ├── ajax-loader.gif │ ├── basic.css │ ├── cloud.css │ ├── cloud.js │ ├── comment-bright.png │ ├── comment-close.png │ ├── comment.png │ ├── cvxrlogo.png │ ├── doctools.js │ ├── down-pressed.png │ ├── down.png │ ├── file.png │ ├── icon-deprecated.png │ ├── icon-note.png │ ├── icon-seealso.png │ ├── icon-todo.png │ ├── icon-warning.png │ ├── jquery.cookie.js │ ├── jquery.js │ ├── minus.png │ ├── plus.png │ ├── pygments.css │ ├── searchtools.js │ ├── underscore.js │ ├── up-pressed.png │ ├── up.png │ └── websupport.js ├── advanced.html ├── basics.html ├── citing.html ├── credits.html ├── dcp.html ├── funcref.html ├── genindex.html ├── gp.html ├── gurobi.html ├── index.html ├── install.html ├── intro.html ├── license.html ├── mosek.html ├── objects.inv ├── quickstart.html ├── sdp.html ├── search.html ├── searchindex.js ├── solver.html └── support.html ├── examples ├── Contents.m ├── antenna_array_design │ ├── Contents.m │ ├── ant_array_min_beamwidth.m │ ├── ant_array_min_sidelobe.m │ ├── ant_array_min_therm_noise.m │ ├── broadband_array_min_sidelobe.m │ ├── html │ │ ├── ant_array_min_beamwidth.html │ │ ├── ant_array_min_beamwidth__01.png │ │ ├── ant_array_min_beamwidth__02.png │ │ ├── ant_array_min_beamwidth__03.png │ │ ├── ant_array_min_sidelobe.html │ │ ├── ant_array_min_sidelobe__01.png │ │ ├── ant_array_min_sidelobe__02.png │ │ ├── ant_array_min_sidelobe__03.png │ │ ├── ant_array_min_therm_noise.html │ │ ├── ant_array_min_therm_noise__01.png │ │ ├── ant_array_min_therm_noise__02.png │ │ ├── ant_array_min_therm_noise__03.png │ │ ├── broadband_array_min_sidelobe.html │ │ ├── broadband_array_min_sidelobe__01.png │ │ ├── broadband_array_min_sidelobe__02.png │ │ ├── broadband_array_min_sidelobe__03.png │ │ ├── line_array_spec_fact.html │ │ ├── line_array_spec_fact__01.png │ │ ├── line_array_spec_fact__02.png │ │ ├── polar_plot_ant.html │ │ └── spectral_fact.html │ ├── line_array_spec_fact.m │ ├── polar_plot_ant.m │ └── spectral_fact.m ├── bullet.gif ├── circuit_design │ ├── Contents.m │ ├── LC_osc_design.m │ ├── clock_mesh.m │ ├── dig_ckt_sizing.m │ ├── elmore_straight_wire.m │ ├── html │ │ ├── LC_osc_design.html │ │ ├── LC_osc_design__01.png │ │ ├── clock_mesh.html │ │ ├── clock_mesh__01.png │ │ ├── clock_mesh__02.png │ │ ├── clock_mesh__03.png │ │ ├── dig_ckt_sizing.html │ │ ├── dig_ckt_sizing__01.png │ │ ├── elmore_straight_wire.html │ │ ├── elmore_straight_wire__01.png │ │ ├── elmore_straight_wire__02.png │ │ ├── inverter_chain_sizing.html │ │ ├── inverter_chain_sizing__01.png │ │ ├── plot_four_tapers.html │ │ ├── simple_NAND2_gate_design.html │ │ ├── simple_NAND2_gate_design__01.png │ │ ├── simple_step.html │ │ ├── tristate_bus_sizing.html │ │ ├── tristate_bus_sizing__01.png │ │ ├── tristate_bus_sizing__02.png │ │ ├── tristate_bus_sizing__03.png │ │ ├── tristate_bus_sizing__04.png │ │ ├── tristate_bus_sizing__05.png │ │ ├── tristate_bus_sizing__06.png │ │ ├── tristate_bus_sizing__07.png │ │ ├── tristate_bus_sizing__08.png │ │ ├── tristate_bus_sizing__09.png │ │ ├── tristate_bus_sizing__10.png │ │ ├── tristate_bus_sizing__11.png │ │ ├── tristate_bus_sizing__12.png │ │ ├── tristate_bus_sizing__13.png │ │ ├── wire_driver_sizing.html │ │ ├── wire_driver_sizing__01.png │ │ ├── wire_driver_sizing__02.png │ │ ├── wire_driver_sizing__03.png │ │ ├── wire_sizing.html │ │ ├── wire_sizing__01.png │ │ ├── wire_sizing__02.png │ │ ├── wire_sizing__03.png │ │ ├── wire_sizing__04.png │ │ ├── wire_sizing__05.png │ │ ├── wire_sizing__06.png │ │ ├── wire_sizing_spacing.html │ │ ├── wire_sizing_spacing__01.png │ │ ├── wire_sizing_spacing__02.png │ │ ├── wire_sizing_spacing__03.png │ │ ├── wire_sizing_spacing__04.png │ │ ├── wire_sizing_spacing__05.png │ │ ├── wire_sizing_spacing__06.png │ │ ├── wire_sizing_spacing__07.png │ │ ├── wire_sizing_spacing__08.png │ │ ├── wire_sizing_spacing__09.png │ │ ├── wire_sizing_topology.html │ │ ├── wire_sizing_topology__01.png │ │ ├── wire_sizing_topology__02.png │ │ ├── wire_sizing_topology__03.png │ │ └── wire_sizing_topology__04.png │ ├── inverter_chain_sizing.m │ ├── plot_four_tapers.m │ ├── simple_NAND2_gate_design.m │ ├── simple_step.m │ ├── tristate_bus_sizing.m │ ├── wire_driver_sizing.m │ ├── wire_sizing.m │ ├── wire_sizing_spacing.m │ └── wire_sizing_topology.m ├── closest_toeplitz_psd.m ├── cvxbook │ ├── Ch04_cvx_opt_probs │ │ ├── Contents.m │ │ ├── cantilever_beam.m │ │ ├── cantilever_beam_plot.m │ │ ├── cantilever_beam_rec.m │ │ ├── channel_capacity.m │ │ ├── chebyshev_center.m │ │ ├── chebyshev_center_2D.m │ │ ├── ex_4_27.m │ │ ├── ex_4_3.m │ │ ├── ex_4_38.m │ │ ├── ex_4_5.m │ │ ├── fastest_mixing_MC.m │ │ ├── frob_norm_diag_scaling.m │ │ ├── html │ │ │ ├── cantilever_beam.html │ │ │ ├── cantilever_beam__01.png │ │ │ ├── cantilever_beam_plot.html │ │ │ ├── cantilever_beam_rec.html │ │ │ ├── cantilever_beam_rec__01.png │ │ │ ├── channel_capacity.html │ │ │ ├── chebyshev_center.html │ │ │ ├── chebyshev_center_2D.html │ │ │ ├── chebyshev_center_2D__01.png │ │ │ ├── ex_4_27.html │ │ │ ├── ex_4_3.html │ │ │ ├── ex_4_38.html │ │ │ ├── ex_4_5.html │ │ │ ├── fastest_mixing_MC.html │ │ │ ├── frob_norm_diag_scaling.html │ │ │ ├── logopt_investment.html │ │ │ ├── logopt_investment__01.png │ │ │ ├── max_det_psd_completion.html │ │ │ └── min_spec_rad_ppl_dynamics.html │ │ ├── logopt_investment.m │ │ ├── max_det_psd_completion.m │ │ └── min_spec_rad_ppl_dynamics.m │ ├── Ch05_duality │ │ ├── Contents.m │ │ ├── ex_5_1.m │ │ ├── ex_5_19.m │ │ ├── ex_5_33.m │ │ ├── ex_5_39.m │ │ ├── html │ │ │ ├── ex_5_1.html │ │ │ ├── ex_5_19.html │ │ │ ├── ex_5_1__01.png │ │ │ ├── ex_5_33.html │ │ │ ├── ex_5_33__01.png │ │ │ ├── ex_5_39.html │ │ │ ├── matrix_games.html │ │ │ ├── matrix_games_LP.html │ │ │ ├── norm_approx.html │ │ │ └── qcqp.html │ │ ├── matrix_games.m │ │ ├── matrix_games_LP.m │ │ ├── norm_approx.m │ │ └── qcqp.m │ ├── Ch06_approx_fitting │ │ ├── Contents.m │ │ ├── basispursuit.m │ │ ├── convex_interpolation.m │ │ ├── deadzone.m │ │ ├── fig6_15.m │ │ ├── fig6_19.m │ │ ├── fig6_20.m │ │ ├── fig6_5.m │ │ ├── fig6_6.m │ │ ├── fig6_9.m │ │ ├── html │ │ │ ├── basispursuit.html │ │ │ ├── basispursuit__01.png │ │ │ ├── basispursuit__02.png │ │ │ ├── basispursuit__03.png │ │ │ ├── convex_interpolation.html │ │ │ ├── convex_interpolation__01.png │ │ │ ├── deadzone.html │ │ │ ├── fig6_15.html │ │ │ ├── fig6_15__01.png │ │ │ ├── fig6_19.html │ │ │ ├── fig6_19__01.png │ │ │ ├── fig6_20.html │ │ │ ├── fig6_20__01.png │ │ │ ├── fig6_5.html │ │ │ ├── fig6_5__01.png │ │ │ ├── fig6_6.html │ │ │ ├── fig6_6__01.png │ │ │ ├── fig6_6__02.png │ │ │ ├── fig6_6__03.png │ │ │ ├── fig6_6__04.png │ │ │ ├── fig6_6__05.png │ │ │ ├── fig6_6__06.png │ │ │ ├── fig6_9.html │ │ │ ├── fig6_9__01.png │ │ │ ├── penalty_comp_cvx.html │ │ │ ├── penalty_comp_cvx__01.png │ │ │ ├── preference_regions.html │ │ │ ├── preference_regions__01.png │ │ │ ├── preference_regions__02.png │ │ │ ├── regressor_cvx.html │ │ │ ├── regressor_cvx__01.png │ │ │ ├── smoothrec_cvx.html │ │ │ ├── smoothrec_cvx__01.png │ │ │ ├── smoothrec_cvx__02.png │ │ │ ├── smoothrec_cvx__03.png │ │ │ ├── tv_cvx.html │ │ │ ├── tv_cvx__01.png │ │ │ ├── tv_cvx__02.png │ │ │ ├── tv_cvx__03.png │ │ │ ├── tv_cvx__04.png │ │ │ ├── tv_cvx__05.png │ │ │ ├── wcrobls.html │ │ │ └── wcrobls__01.png │ │ ├── penalty_comp_cvx.m │ │ ├── preference_regions.m │ │ ├── regressor_cvx.m │ │ ├── smoothrec_cvx.m │ │ ├── tv_cvx.m │ │ └── wcrobls.m │ ├── Ch07_statistical_estim │ │ ├── Contents.m │ │ ├── ML_covariance_est.m │ │ ├── cheb.m │ │ ├── cher.m │ │ ├── counting_problem_poisson.m │ │ ├── detector2.m │ │ ├── expdesign.m │ │ ├── html │ │ │ ├── ML_covariance_est.html │ │ │ ├── cheb.html │ │ │ ├── cher.html │ │ │ ├── counting_problem_poisson.html │ │ │ ├── detector2.html │ │ │ ├── detector2__01.png │ │ │ ├── expdesign.html │ │ │ ├── expdesign__01.png │ │ │ ├── expdesign__02.png │ │ │ ├── expdesign__03.png │ │ │ ├── expdesign__04.png │ │ │ ├── logistics.html │ │ │ ├── logistics__01.png │ │ │ ├── logistics_gp.html │ │ │ ├── logistics_gp__01.png │ │ │ ├── maxent.html │ │ │ ├── maxent__01.png │ │ │ ├── maxent__02.png │ │ │ ├── montecarlo.html │ │ │ ├── probbounds.html │ │ │ ├── probbounds__01.png │ │ │ ├── probbounds__02.png │ │ │ └── probbounds__03.png │ │ ├── logistics.m │ │ ├── logistics_gp.m │ │ ├── maxent.m │ │ ├── montecarlo.m │ │ └── probbounds.m │ ├── Ch08_geometric_probs │ │ ├── Contents.m │ │ ├── analytic_center.m │ │ ├── data_floorplan_32.mat │ │ ├── data_floorplan_60.mat │ │ ├── eucl_dist_poly.m │ │ ├── eucl_dist_poly_2D.m │ │ ├── eucl_proj_cone1.m │ │ ├── eucl_proj_cone2.m │ │ ├── eucl_proj_hlf.m │ │ ├── eucl_proj_hyp.m │ │ ├── eucl_proj_rect.m │ │ ├── eucl_proj_rect.m~ │ │ ├── ex_8_3.m │ │ ├── ex_8_4.m │ │ ├── ex_8_5.m │ │ ├── floor_plan.m │ │ ├── floor_plan_graphs.m │ │ ├── floorplan.m │ │ ├── html │ │ │ ├── analytic_center.html │ │ │ ├── eucl_dist_poly.html │ │ │ ├── eucl_dist_poly_2D.html │ │ │ ├── eucl_dist_poly_2D__01.png │ │ │ ├── eucl_proj_cone1.html │ │ │ ├── eucl_proj_cone2.html │ │ │ ├── eucl_proj_hlf.html │ │ │ ├── eucl_proj_hyp.html │ │ │ ├── eucl_proj_rect.html │ │ │ ├── ex_8_3.html │ │ │ ├── ex_8_4.html │ │ │ ├── ex_8_5.html │ │ │ ├── floor_plan.html │ │ │ ├── floor_plan__01.png │ │ │ ├── floor_plan_graphs.html │ │ │ ├── floor_plan_graphs__01.png │ │ │ ├── floorplan.html │ │ │ ├── linear_discr.html │ │ │ ├── linear_discr__01.png │ │ │ ├── max_vol_ellip_in_polyhedra.html │ │ │ ├── max_vol_ellip_in_polyhedra__01.png │ │ │ ├── min_vol_elp_finite_set.html │ │ │ ├── min_vol_elp_finite_set__01.png │ │ │ ├── min_vol_union_ellip.html │ │ │ ├── min_vol_union_ellip__01.png │ │ │ ├── placement_lin.html │ │ │ ├── placement_lin__01.png │ │ │ ├── placement_lin__02.png │ │ │ ├── placement_quad.html │ │ │ ├── placement_quad__01.png │ │ │ ├── placement_quad__02.png │ │ │ ├── placement_quar.html │ │ │ ├── placement_quar__01.png │ │ │ ├── placement_quar__02.png │ │ │ ├── poly3_discr.html │ │ │ ├── poly3_discr__01.png │ │ │ ├── poly4_discr.html │ │ │ ├── poly4_discr__01.png │ │ │ ├── quad_discr.html │ │ │ ├── quad_discr__01.png │ │ │ ├── robust_lin_discr.html │ │ │ ├── robust_lin_discr__01.png │ │ │ ├── separate_ell_2D.html │ │ │ ├── separate_ell_2D__01.png │ │ │ ├── separate_poly_2D.html │ │ │ ├── separate_poly_2D__01.png │ │ │ ├── separate_pt_poly.html │ │ │ ├── svm_1.html │ │ │ ├── svm_1__01.png │ │ │ ├── svm_2.html │ │ │ ├── svm_2__01.png │ │ │ ├── test_floorplan.html │ │ │ └── test_floorplan__01.png │ │ ├── linear_discr.m │ │ ├── max_vol_ellip_in_polyhedra.m │ │ ├── min_vol_elp_finite_set.m │ │ ├── min_vol_union_ellip.m │ │ ├── placement_lin.m │ │ ├── placement_quad.m │ │ ├── placement_quar.m │ │ ├── poly3_discr.m │ │ ├── poly4_discr.m │ │ ├── quad_discr.m │ │ ├── robust_lin_discr.m │ │ ├── separate_ell_2D.m │ │ ├── separate_poly_2D.m │ │ ├── separate_pt_poly.m │ │ ├── svm_1.m │ │ ├── svm_2.m │ │ └── test_floorplan.m │ ├── Ch11_intpt_methods │ │ ├── Contents.m │ │ ├── html │ │ │ └── log_utility_flow.html │ │ └── log_utility_flow.m │ └── Contents.m ├── equality_constr_norm_min.m ├── examples.css ├── examples.js ├── filter_design │ ├── Contents.m │ ├── equalizer_design.m │ ├── fir_chebychev_design.m │ ├── fir_lin_phase_lowpass_max_atten.m │ ├── fir_lin_phase_lowpass_min_order.m │ ├── fir_lin_phase_lowpass_min_ripple.m │ ├── fir_lin_phase_lowpass_min_trans.m │ ├── fir_mag_design_lowpass_max_atten.m │ ├── fir_mag_design_lowpass_min_order.m │ ├── html │ │ ├── equalizer_design.html │ │ ├── equalizer_design__01.png │ │ ├── equalizer_design__02.png │ │ ├── equalizer_design__03.png │ │ ├── equalizer_design__04.png │ │ ├── equalizer_design__05.png │ │ ├── equalizer_design__06.png │ │ ├── equalizer_design__07.png │ │ ├── equalizer_design__08.png │ │ ├── fir_chebychev_design.html │ │ ├── fir_chebychev_design__01.png │ │ ├── fir_chebychev_design__02.png │ │ ├── fir_lin_phase_lowpass_max_atten.html │ │ ├── fir_lin_phase_lowpass_max_atten__01.png │ │ ├── fir_lin_phase_lowpass_max_atten__02.png │ │ ├── fir_lin_phase_lowpass_min_order.html │ │ ├── fir_lin_phase_lowpass_min_order__01.png │ │ ├── fir_lin_phase_lowpass_min_order__02.png │ │ ├── fir_lin_phase_lowpass_min_ripple.html │ │ ├── fir_lin_phase_lowpass_min_ripple__01.png │ │ ├── fir_lin_phase_lowpass_min_ripple__02.png │ │ ├── fir_lin_phase_lowpass_min_trans.html │ │ ├── fir_lin_phase_lowpass_min_trans__01.png │ │ ├── fir_lin_phase_lowpass_min_trans__02.png │ │ ├── fir_mag_design_lowpass_max_atten.html │ │ ├── fir_mag_design_lowpass_max_atten__01.png │ │ ├── fir_mag_design_lowpass_max_atten__02.png │ │ ├── fir_mag_design_lowpass_min_order.html │ │ ├── fir_mag_design_lowpass_min_order__01.png │ │ ├── fir_mag_design_lowpass_min_order__02.png │ │ ├── iir_mag_design_bandpass_max_atten.html │ │ ├── iir_mag_design_bandpass_max_atten__01.png │ │ ├── iir_mag_design_lowpass_max_atten.html │ │ ├── iir_mag_design_lowpass_max_atten__01.png │ │ ├── one_over_f_filter.html │ │ ├── one_over_f_filter__01.png │ │ └── spectral_fact.html │ ├── iir_mag_design_bandpass_max_atten.m │ ├── iir_mag_design_lowpass_max_atten.m │ ├── one_over_f_filter.m │ └── spectral_fact.m ├── gp_tutorial │ ├── Contents.m │ ├── basic_odp.m │ ├── beta_min_odp.m │ ├── elmore_interconnect.m │ ├── floor_planning.m │ ├── html │ │ ├── basic_odp.html │ │ ├── basic_odp__01.png │ │ ├── beta_min_odp.html │ │ ├── beta_min_odp__01.png │ │ ├── elmore_interconnect.html │ │ ├── elmore_interconnect__01.png │ │ ├── floor_planning.html │ │ ├── floor_planning__01.png │ │ ├── max_volume_box.html │ │ ├── max_volume_box__01.png │ │ ├── power_control.html │ │ ├── simple_dig_ckt_sizing.html │ │ ├── simple_dig_ckt_sizing__01.png │ │ ├── simple_dig_ckt_sizing_vect.html │ │ └── simple_dig_ckt_sizing_vect__01.png │ ├── max_volume_box.m │ ├── power_control.m │ ├── simple_dig_ckt_sizing.m │ └── simple_dig_ckt_sizing_vect.m ├── graph_laplacian │ ├── Contents.m │ ├── best_const.m │ ├── cut_grid_data.m │ ├── cut_grid_example.m │ ├── fdla.m │ ├── fmmc.m │ ├── html │ │ ├── best_const.html │ │ ├── cut_grid_data.html │ │ ├── cut_grid_example.html │ │ ├── cut_grid_example__01.png │ │ ├── cut_grid_example__02.png │ │ ├── cut_grid_example__03.png │ │ ├── cut_grid_example__04.png │ │ ├── cut_grid_example__05.png │ │ ├── fdla.html │ │ ├── fmmc.html │ │ ├── larger_example.html │ │ ├── larger_example__01.png │ │ ├── larger_example__02.png │ │ ├── larger_example__03.png │ │ ├── larger_example__04.png │ │ ├── larger_example__05.png │ │ ├── larger_example__06.png │ │ ├── max_deg.html │ │ ├── mh.html │ │ ├── plotgraph.html │ │ ├── small_example.html │ │ ├── small_example__01.png │ │ ├── small_example__02.png │ │ ├── small_example__03.png │ │ ├── small_example__04.png │ │ └── small_example__05.png │ ├── larger_example.m │ ├── max_deg.m │ ├── mh.m │ ├── plotgraph.m │ └── small_example.m ├── html │ ├── closest_toeplitz_psd.html │ ├── equality_constr_norm_min.html │ ├── min_phase_spectral_fact.html │ ├── nonneg_matrix_fact.html │ ├── nonneg_matrix_fact__01.png │ ├── quickstart.html │ ├── quickstart__01.png │ ├── regularized_norm_tradeoff.html │ ├── regularized_norm_tradeoff__01.png │ ├── regularized_norm_tradeoff__02.png │ ├── simple_LP.html │ ├── simple_LP2.html │ └── simple_LS.html ├── index.html ├── log_exp │ ├── Contents.m │ ├── html │ │ ├── max_entropy.html │ │ ├── sparse_covariance_est.html │ │ ├── sparse_covariance_est__01.png │ │ ├── sparse_covariance_est_tradeoff.html │ │ ├── sparse_covariance_est_tradeoff__01.png │ │ └── weighted_analytic_center.html │ ├── max_entropy.m │ ├── sparse_covariance_est.m │ ├── sparse_covariance_est_tradeoff.m │ └── weighted_analytic_center.m ├── make.m ├── min_phase_spectral_fact.m ├── minus.gif ├── nonneg_matrix_fact.m ├── plus.gif ├── quickstart.m ├── regularized_norm_tradeoff.m ├── simple_LP.m ├── simple_LP2.m ├── simple_LS.m ├── sparse_heuristics │ ├── Contents.m │ ├── html │ │ ├── sparse_infeas.html │ │ ├── sparse_infeas_dual.html │ │ ├── sparse_solution.html │ │ └── sparse_solution__01.png │ ├── sparse_infeas.m │ ├── sparse_infeas_dual.m │ └── sparse_solution.m └── time_series_analysis │ ├── Contents.m │ ├── html │ ├── l1_trend_filter_snp500.html │ └── l1_trend_filter_snp500__01.png │ ├── l1_trend_filter_snp500.m │ └── snp500.txt ├── find_p.m ├── functions ├── @cvx │ ├── avg_abs_dev.m │ ├── avg_abs_dev_med.m │ ├── berhu.m │ ├── cvx_recip.m │ ├── det_inv.m │ ├── det_rootn.m │ ├── functions.m │ ├── geo_mean.m │ ├── huber_pos.m │ ├── inv_pos.m │ ├── lambda_max.m │ ├── lambda_sum_largest.m │ ├── log_normcdf.m │ ├── log_sum_exp.m │ ├── matrix_frac.m │ ├── norm_nuc.m │ ├── norms.m │ ├── pow_abs.m │ ├── pow_cvx.m │ ├── pow_p.m │ ├── pow_pos.m │ ├── prod_inv.m │ ├── quad_form.m │ ├── quad_over_lin.m │ ├── quad_pos_over_lin.m │ ├── rel_entr.m │ ├── sigma_max.m │ ├── square.m │ ├── square_abs.m │ ├── square_pos.m │ ├── sum_largest.m │ ├── sum_log.m │ ├── sum_square.m │ ├── sum_square_abs.m │ ├── sum_square_pos.m │ ├── trace_inv.m │ ├── trace_sqrtm.m │ └── vec.m ├── Contents.m ├── avg_abs_dev.m ├── avg_abs_dev_med.m ├── berhu.m ├── det_inv.m ├── det_root2n.m ├── det_rootn.m ├── entr.m ├── geo_mean.m ├── geomean.m ├── huber.m ├── huber_circ.m ├── huber_pos.m ├── inv_pos.m ├── kl_div.m ├── lambda_max.m ├── lambda_min.m ├── lambda_sum_largest.m ├── lambda_sum_smallest.m ├── log_det.m ├── log_normcdf.m ├── log_prod.m ├── log_sum_exp.m ├── logsumexp.m ├── logsumexp_sdp.m ├── matrix_frac.m ├── norm_largest.m ├── norm_nuc.m ├── norms.m ├── norms_largest.m ├── poly_env.m ├── polyenv.m ├── polyval_trig.m ├── pos.m ├── pow_abs.m ├── pow_p.m ├── pow_pos.m ├── prod_inv.m ├── quad_form.m ├── quad_over_lin.m ├── quad_pos_over_lin.m ├── rel_entr.m ├── sigma_max.m ├── square_ │ └── square.m ├── square_abs.m ├── square_pos.m ├── sum_largest.m ├── sum_log.m ├── sum_smallest.m ├── sum_square.m ├── sum_square_abs.m ├── sum_square_pos.m ├── sym.m ├── trace_inv.m ├── trace_sqrtm.m └── vec_ │ └── vec.m ├── gurobi ├── EULA.pdf └── w64 │ ├── grbgetkey.exe │ ├── gurobi.mexw64 │ └── gurobi75.dll ├── keywords ├── Contents.m ├── In.m ├── binary.m ├── dual.m ├── epigraph.m ├── expression.m ├── expressions.m ├── hypograph.m ├── integer.m ├── maximise.m ├── maximize.m ├── minimise.m ├── minimize.m ├── subject.m ├── variable.m └── variables.m ├── lib ├── @cell │ ├── cvx_id.m │ ├── cvx_setdual.m │ └── cvx_value.m ├── @cvx │ ├── bcompress.m │ ├── buncompress.m │ ├── cvx.m │ ├── cvx_basis.m │ ├── cvx_classify.m │ ├── cvx_constant.m │ ├── cvx_getdual.m │ ├── cvx_isaffine.m │ ├── cvx_isconcave.m │ ├── cvx_isconstant.m │ ├── cvx_isconvex.m │ ├── cvx_isnonzero.m │ ├── cvx_readlevel.m │ ├── cvx_setdual.m │ ├── cvx_value.m │ ├── cvx_vexity.m │ ├── in.m │ ├── keywords.m │ ├── matlab6.m │ ├── sets.m │ ├── sparsify.m │ ├── svec.m │ ├── type.m │ └── value.m ├── @cvxcnst │ ├── cvxcnst.m │ ├── disp.m │ ├── display.m │ ├── double.m │ ├── logical.m │ └── rhs.m ├── @cvxdual │ ├── colon.m │ ├── cvx_basis.m │ ├── cvx_value.m │ ├── cvxaff.m │ ├── cvxdual.m │ ├── disp.m │ ├── display.m │ ├── dof.m │ ├── inuse.m │ ├── isreal.m │ ├── name.m │ ├── problem.m │ ├── size.m │ ├── subsref.m │ ├── type.m │ └── value.m ├── @cvxin │ ├── cvxin.m │ ├── cvxtuple.m │ ├── gt.m │ └── lt.m ├── @cvxobj │ ├── cvx_id.m │ ├── cvxobj.m │ ├── disp.m │ ├── display.m │ ├── isempty.m │ ├── isequal.m │ ├── length.m │ ├── ndims.m │ ├── numel.m │ ├── subsasgn.m │ └── subsref.m ├── @cvxprob │ ├── cvx_value.m │ ├── cvxprob.m │ ├── disp.m │ ├── eliminate.m │ ├── eq.m │ ├── extract.m │ ├── index.m │ ├── ne.m │ ├── newcnstr.m │ ├── newdual.m │ ├── newnonl.m │ ├── newobj.m │ ├── newtemp.m │ ├── newvar.m │ ├── pop.m │ ├── solve.m │ ├── spy.m │ ├── subsasgn.m │ ├── subsref.m │ └── touch.m ├── @cvxtuple │ ├── apply.m │ ├── cvx_collapse.m │ ├── cvx_constant.m │ ├── cvx_getdual.m │ ├── cvx_id.m │ ├── cvx_isaffine.m │ ├── cvx_isconcave.m │ ├── cvx_isconstant.m │ ├── cvx_isconvex.m │ ├── cvx_setdual.m │ ├── cvx_value.m │ ├── cvxtuple.m │ ├── disp.m │ ├── eq.m │ ├── ge.m │ ├── gt.m │ ├── in.m │ ├── le.m │ ├── lt.m │ ├── ne.m │ ├── numel.m │ ├── subsasgn.m │ ├── subsref.m │ └── testall.m ├── Contents.m ├── cvx_accept_concave.m ├── cvx_accept_convex.m ├── cvx_basis.m ├── cvx_bcompress.m ├── cvx_bcompress_mex.c ├── cvx_bcompress_mex.mexw64 ├── cvx_blkdiag.m ├── cvx_c2r.m ├── cvx_check_dimension.m ├── cvx_check_dimlist.m ├── cvx_class.m ├── cvx_classify.m ├── cvx_clearpath.m ├── cvx_clearspath.m ├── cvx_collapse.m ├── cvx_constant.m ├── cvx_default_dimension.m ├── cvx_eliminate_mex.c ├── cvx_eliminate_mex.mexw64 ├── cvx_expand_dim.m ├── cvx_expert_check.m ├── cvx_getdual.m ├── cvx_global.m ├── cvx_id.m ├── cvx_ids.m ├── cvx_isaffine.m ├── cvx_isconcave.m ├── cvx_isconstant.m ├── cvx_isconvex.m ├── cvx_isnonzero.m ├── cvx_r2c.m ├── cvx_readlevel.m ├── cvx_reduce_size.m ├── cvx_remap.m ├── cvx_reshape.m ├── cvx_run_solver.m ├── cvx_setdual.m ├── cvx_setpath.m ├── cvx_setspath.m ├── cvx_size_check.m ├── cvx_subs2str.m ├── cvx_subsasgn.m ├── cvx_subsref.m ├── cvx_subsref_check.m ├── cvx_use_sparse.m ├── cvx_value.m ├── cvx_values.m ├── cvx_vexity.m ├── cvx_zeros.m └── narginchk_ │ └── narginchk.m ├── mosek ├── license.pdf └── w64 │ ├── cilkrts20.dll │ ├── libiomp5md.dll │ ├── mosek64_8_0.dll │ └── mosekopt.mexw64 ├── sdpt3 ├── Copyright ├── Examples │ ├── Asum.m │ ├── Doptdesign.m │ ├── ToeplitzApprox.m │ ├── ToeplitzApproxSQQ.m │ ├── cheby0.m │ ├── chebyinf.m │ ├── chebymat.m │ ├── control.m │ ├── corrmat.m │ ├── dwd.m │ ├── etp.m │ ├── geometric_mean.m │ ├── gpp.m │ ├── gppschur.m │ ├── graph.m │ ├── igmres.m │ ├── lmiexamp1.m │ ├── lmiexamp2.m │ ├── lmiexamp3.m │ ├── lmifun.m │ ├── lmifun2.m │ ├── logcheby.m │ ├── logchebyRcone.m │ ├── max_kcut.m │ ├── maxcut.m │ ├── mcpschur.m │ ├── minEpts.m │ ├── norm_min.m │ ├── orthbasis.m │ ├── randinfsdp.m │ ├── randlowranksdp.m │ ├── randmaxdet.m │ ├── randsdp.m │ ├── sdphankel.m │ ├── thetaproblem.m │ └── viewgraph.m ├── GNU_General_Public_License_v2 ├── HSDSolver │ ├── HSDHKMcorr.m │ ├── HSDHKMdirfun.m │ ├── HSDHKMpred.m │ ├── HSDHKMrhsfun.m │ ├── HSDNTcorr.m │ ├── HSDNTdirfun.m │ ├── HSDNTpred.m │ ├── HSDNTrhsfun.m │ ├── HSDbicgstab.m │ ├── HSDlinsysolve.m │ ├── HSDsortA.m │ ├── HSDsqlp.m │ ├── HSDsqlpCpert.m │ ├── HSDsqlpcheckconvg.m │ ├── HSDsqlpmain.m │ └── HSDsqlpmisc.m ├── README ├── README.md ├── Solver │ ├── AXfun.m │ ├── Arrow.m │ ├── Atyfun.m │ ├── HKMcorr.m │ ├── HKMdirfun.m │ ├── HKMpred.m │ ├── HKMrhsfun.m │ ├── Mexfun │ │ ├── mexMatvec.c │ │ ├── mexMatvec.mexw64 │ │ ├── mexProd2.c │ │ ├── mexProd2.mexw64 │ │ ├── mexProd2nz.c │ │ ├── mexProd2nz.mexw64 │ │ ├── mexexpand.c │ │ ├── mexexpand.mexw64 │ │ ├── mexinprod.c │ │ ├── mexinprod.mexw64 │ │ ├── mexmat.c │ │ ├── mexmat.mexw64 │ │ ├── mexnnz.c │ │ ├── mexnnz.mexw64 │ │ ├── mexqops.c │ │ ├── mexqops.mexw64 │ │ ├── mexschur.c │ │ ├── mexschur.mexw64 │ │ ├── mexschurfun.c │ │ ├── mexschurfun.mexw64 │ │ ├── mexskron.c │ │ ├── mexskron.mexw64 │ │ ├── mexsmat.c │ │ ├── mexsmat.mexw64 │ │ ├── mexsvec.c │ │ ├── mexsvec.mexw64 │ │ ├── mextriang.c │ │ ├── mextriang.mexw64 │ │ ├── mextriangsp.c │ │ └── mextriangsp.mexw64 │ ├── NTcorr.m │ ├── NTdirfun.m │ ├── NTpred.m │ ├── NTrhsfun.m │ ├── NTscaling.m │ ├── Prod2.m │ ├── Prod3.m │ ├── SDPT3data_SEDUMIdata.m │ ├── SDPT3soln_SEDUMIsoln.m │ ├── SDPvalBounds.m │ ├── blkbarrier.m │ ├── blkcholfun.m │ ├── blkeig.m │ ├── blktrace.m │ ├── checkdense.m │ ├── checkdepconstr.m │ ├── combine_blk.m │ ├── convertRcone.m │ ├── convertcmpsdp.m │ ├── degeneracy.m │ ├── detect_lblk.m │ ├── detect_ublk.m │ ├── gdcomp.m │ ├── gpcomp.m │ ├── infeaspt.m │ ├── linsysolve.m │ ├── linsysolvefun.m │ ├── mybicgstab.m │ ├── mytime.m │ ├── nzlist.m │ ├── ops.m │ ├── qops.m │ ├── qprod.m │ ├── randmat.m │ ├── read_sdpa.m │ ├── read_sedumi.m │ ├── scaling.m │ ├── schurmat_lblk.m │ ├── schurmat_qblk.m │ ├── schurmat_sblk.m │ ├── skron.m │ ├── smat.m │ ├── sortA.m │ ├── sqlp.m │ ├── sqlparameters.m │ ├── sqlpcheckconvg.m │ ├── sqlpdemo.m │ ├── sqlpmain.m │ ├── sqlpmisc.m │ ├── sqlpsummary.m │ ├── sqlptermcode.m │ ├── sqlpu2lblk.m │ ├── steplength.m │ ├── svec.m │ ├── symqmr.m │ ├── validate.m │ └── validate_startpoint.m ├── dimacs │ ├── copo14.mat │ ├── filter48_socp.mat │ ├── hamming_7_5_6.mat │ ├── minphase.mat │ ├── nql30.mat │ └── sched_50_50_scaled.mat ├── install_sdpt3.m ├── sdplib │ ├── arch8.dat-s │ ├── maxG11.dat-s │ ├── mcp250-1.dat-s │ ├── qap9.dat-s │ ├── qpG11.dat-s │ ├── ss30.dat-s │ ├── theta3.dat-s │ └── truss8.dat-s └── sdpt3.m ├── sedumi ├── Amul.m ├── COPYING ├── Changelog.txt ├── Contents.m ├── Install.txt ├── PopK.m ├── README.md ├── Readme.txt ├── Version.txt ├── ada_pcg.m ├── adendotd.c ├── adendotd.m ├── adendotd.mexw64 ├── adenscale.c ├── adenscale.mexw64 ├── asmDxq.m ├── auxfwdpr1.c ├── auxgivens.c ├── blkaux.c ├── blkchol.c ├── blkchol.m ├── blkchol.mexw64 ├── blkchol2.c ├── blkmul.c ├── blksdp.h ├── bwblkslv.c ├── bwblkslv.m ├── bwblkslv.mexw64 ├── bwblkslv2.c ├── bwdpr1.c ├── bwdpr1.m ├── bwdpr1.mexw64 ├── cellK.m ├── checkpars.m ├── cholsplit.c ├── cholsplit.mexw64 ├── choltmpsiz.c ├── choltmpsiz.mexw64 ├── conversion │ ├── Contents.m │ ├── blk2vec.m │ ├── feascpx.m │ ├── feasreal.m │ ├── frompack.m │ ├── fromsdpa.m │ ├── getproblem.m │ ├── prelp.m │ ├── sdpa2vec.m │ ├── sdpasplit.m │ └── writesdp.m ├── ddot.c ├── ddot.m ├── ddot.mexw64 ├── deninfac.m ├── dimacserrors.m ├── doc │ ├── SeDuMi_Guide_105R5.pdf │ ├── SeDuMi_Guide_105R5.ps │ ├── SeDuMi_Guide_11.pdf │ └── SeDuMi_Guide_11.ps ├── dpr1fact.c ├── dpr1fact.m ├── dpr1fact.mexw64 ├── eigK.m ├── examples │ ├── Examples.txt │ ├── OH_2Pi_STO-6GN9r12g1T2.mat │ ├── arch0.mat │ ├── control07.mat │ ├── nb.mat │ └── trto3.mat ├── extractA.c ├── extractA.m ├── extractA.mexw64 ├── eyeK.m ├── findblks.c ├── findblks.m ├── findblks.mexw64 ├── finsymbden.c ├── finsymbden.m ├── finsymbden.mexw64 ├── frameit.m ├── fwblkslv.c ├── fwblkslv.m ├── fwblkslv.mexw64 ├── fwdpr1.c ├── fwdpr1.m ├── fwdpr1.mexw64 ├── getDAt.m ├── getDAtm.m ├── getada.m ├── getada1.c ├── getada1.m ├── getada1.mexw64 ├── getada2.c ├── getada2.m ├── getada2.mexw64 ├── getada3.c ├── getada3.m ├── getada3.mexw64 ├── getdense.m ├── getsymbada.m ├── givens.h ├── givensrot.c ├── givensrot.m ├── givensrot.mexw64 ├── incorder.c ├── incorder.m ├── incorder.mexw64 ├── install_sedumi.m ├── invcholfac.c ├── invcholfac.m ├── invcholfac.mexw64 ├── iswnbr.c ├── iswnbr.m ├── iswnbr.mexw64 ├── loopPcg.m ├── mJdetd.c ├── mat.m ├── maxeigK.m ├── maxstep.m ├── minpsdeig.m ├── my_fprintf.m ├── optstep.m ├── ordmmd.c ├── ordmmdmex.c ├── ordmmdmex.m ├── ordmmdmex.mexw64 ├── partitA.c ├── partitA.m ├── partitA.mexw64 ├── posttransfo.m ├── pretransfo.m ├── psdeig.m ├── psdfactor.m ├── psdframeit.c ├── psdframeit.mexw64 ├── psdinvjmul.c ├── psdinvjmul.m ├── psdinvjmul.mexw64 ├── psdinvscale.m ├── psdjmul.m ├── psdscale.m ├── qblkmul.c ├── qblkmul.m ├── qblkmul.mexw64 ├── qframeit.m ├── qinvjmul.m ├── qjmul.m ├── qrK.c ├── qrK.mexw64 ├── quadadd.c ├── quadadd.m ├── quadadd.mexw64 ├── reflect.c ├── reflect.h ├── sddir.m ├── sdfactor.m ├── sdinit.m ├── sdmauxCmp.c ├── sdmauxCone.c ├── sdmauxFill.c ├── sdmauxRdot.c ├── sdmauxScalarmul.c ├── sdmauxTriu.c ├── sdmauxTriudot.c ├── sedumi.m ├── sedumi_binary_error.m ├── sortnnz.c ├── sortnnz.m ├── sortnnz.mexw64 ├── sparbwslv.m ├── sparfwslv.m ├── spars.m ├── spscale.c ├── sqrtinv.c ├── sqrtinv.m ├── sqrtinv.mexw64 ├── stepdif.m ├── symbchol.c ├── symbchol.m ├── symbcholden.m ├── symbfwblk.c ├── symbfwblk.mexw64 ├── symfct.c ├── symfctmex.c ├── symfctmex.m ├── symfctmex.mexw64 ├── tdet.m ├── triuaux.c ├── triuaux.h ├── triumtriu.m ├── trydif.m ├── updtransfo.m ├── urotorder.c ├── urotorder.m ├── urotorder.mexw64 ├── vec.m ├── vecsym.c ├── vecsym.m ├── vecsym.mexw64 ├── widelen.m ├── wrapPcg.m └── wregion.m ├── sets ├── Contents.m ├── complex_lorentz.m ├── convex_poly_coeffs.m ├── exponential.m ├── geo_mean_cone.m ├── hermitian_semidefinite.m ├── lorentz.m ├── nonneg_poly_coeffs.m ├── nonnegative.m ├── norm_ball.m ├── rotated_complex_lorentz.m ├── rotated_lorentz.m ├── semidefinite.m └── simplex.m ├── shims ├── cvx_glpk.m ├── cvx_gurobi.p ├── cvx_mosek.p ├── cvx_sdpt3.m └── cvx_sedumi.m └── structures ├── @cvx └── structures.m ├── Contents.m ├── cvx_create_structure.m ├── cvx_invert_structure.m ├── cvx_orthog_structure.m ├── cvx_replicate_structure.m ├── cvx_s_banded.m ├── cvx_s_hankel.m ├── cvx_s_hermitian.m ├── cvx_s_sparse.m ├── cvx_s_symmetric.m ├── cvx_s_symmetric_ut.m └── cvx_s_upper_hankel.m /GMI_RS.m: -------------------------------------------------------------------------------- 1 | function [pc,pk,GMI,SR]=GMI_RS(Nt,K,H_h,H_m,Pt,M,N0,sigma_e) 2 | 3 | 4 | [A,B,C,D]=cal_ABCD(Nt,K,Pt,N0,H_h,sigma_e); 5 | [X,result]=cal_X(Nt,K,Pt,A,B,C,D); 6 | %result_set(1:length(result))=result; 7 | [p_max]=find_p(K,Pt,A,B,C,D,X);%norm(p_max(:,i,j))^2; 8 | pc=p_max(Nt*K+1:Nt*(K+1)); 9 | pk=reshape(p_max(1:Nt*K),Nt,K); 10 | [GMI]=cal_GMI(K,A,B,C,D,p_max); 11 | for m=1:M 12 | [Rs_set]=cal_ach_rate(Nt,K,H_m(:,:,m),N0,p_max); 13 | ach_rate_set(m)=sum(Rs_set); 14 | end 15 | 16 | SR=mean(ach_rate_set); 17 | end -------------------------------------------------------------------------------- /GMI_SDMA.m: -------------------------------------------------------------------------------- 1 | function [pc,pk,GMI_nc,SR_SDMA]=GMI_SDMA(Nt,K,H_h,H_m,Pt,M,N0,sigma_e) 2 | 3 | 4 | [A,B,C,D]=cal_ABCD(Nt,K,Pt,N0,H_h,sigma_e); 5 | [X_nc,result_nc]=cal_X_no_common(Nt,K,Pt,A,B,C,D); 6 | %result_nc_set(1:length(result_nc))=result_nc; 7 | %[GMI_X_nc]=cal_GMI_withX(K,A,B,C,D,X_nc); 8 | [p_nc]=find_p(K,Pt,A,B,C,D,X_nc);norm(p_nc)^2; 9 | [GMI_nc]=cal_GMI(K,A,B,C,D,p_nc); 10 | 11 | pc=p_nc(Nt*K+1:Nt*(K+1)); 12 | pk=reshape(p_nc(1:Nt*K),Nt,K); 13 | for m=1:M 14 | [Rs_set]=cal_ach_rate(Nt,K,H_m(:,:,m),N0,p_nc); 15 | ach_rate_set(m)=sum(Rs_set); 16 | end 17 | 18 | SR_SDMA=mean(ach_rate_set); 19 | end -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | "# Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate" 2 | -------------------------------------------------------------------------------- /SDMA_ZF.m: -------------------------------------------------------------------------------- 1 | function [P]=SDMA_ZF(P,h1,h2,rho) 2 | 3 | 4 | Nt=length(h1); 5 | % mu=P/2+(1/(2*rho))*(1/norm(h2)^2+1/norm(h1)^2); 6 | % P1_p=mu-(1/rho)*(1/norm(h1)^2); 7 | % P2_p=mu-(1/rho)*(1/norm(h2)^2); 8 | a_max=100000; 9 | a_min=-100000; 10 | while (a_max-a_min)>0.0001 11 | a=(a_max+a_min)/2; 12 | P1_x=max(a-(1/rho)*(1/norm(h1)^2),0); 13 | P2_x=max(a-(1/rho)*(1/norm(h2)^2),0); 14 | 15 | if (P1_x+P2_x)>P 16 | a_max=a; 17 | else 18 | a_min=a; 19 | end 20 | 21 | end 22 | 23 | P=[P1_x;P2_x]; 24 | %Rs_x=log2(1+norm(h1)^2*rho*P1_x)+log2(1+norm(h2)^2*rho*P2_x); 25 | 26 | 27 | end -------------------------------------------------------------------------------- /ZF_noRS.m: -------------------------------------------------------------------------------- 1 | function [pc,pk,SR_ZF]=ZF_noRS(Nt,K,H_h,H_m,Pt,M,N0) 2 | %this function only work in two-user system 3 | 4 | rho=1-abs(H_h(:,1)'/norm(H_h(:,1))*H_h(:,2)/norm(H_h(:,2)))^2; 5 | [P_ZF]=SDMA_ZF(Pt,H_h(:,1),H_h(:,2),rho); 6 | pk_zf=H_h*inv(H_h'*H_h); 7 | for k=1:K 8 | mag(k)=norm(pk_zf(:,k)); 9 | end 10 | 11 | ZF_p=[reshape(pk_zf.*(sqrt(P_ZF)./mag')',[],1);zeros(Nt,1)]; 12 | %[GMI_ZF]=cal_GMI(K,A,B,C,D,ZF_p); 13 | pc=zeros(1,Nt); 14 | pk=pk_zf.*(sqrt(P_ZF)./mag')'; 15 | ZF_p; 16 | for m=1:M 17 | [Rs_set_ZF]=cal_ach_rate(Nt,K,H_m(:,:,m),N0,ZF_p); 18 | ach_rate_mrt_ZF(m)=sum(Rs_set_ZF); 19 | end 20 | SR_ZF=mean(ach_rate_mrt_ZF); 21 | end -------------------------------------------------------------------------------- /[0]/matlab.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/[0]/matlab.mat -------------------------------------------------------------------------------- /builtins/@cvx/conj.m: -------------------------------------------------------------------------------- 1 | function y = conj( x ) 2 | 3 | %Disciplined convex/geometric programming information for CONJ: 4 | % CONJ(X) imposes no convexity restrictions on its arguments. However, 5 | % since CONJ(X)=X when X is real, it is only useful for complex 6 | % affine expressions. 7 | 8 | y = cvx( x.size_, conj( x.basis_ ) ); 9 | 10 | % Copyright 2005-2016 CVX Research, Inc. 11 | % See the file LICENSE.txt for full copyright information. 12 | % The command 'cvx_where' will show where this file is located. 13 | -------------------------------------------------------------------------------- /builtins/@cvx/disp.m: -------------------------------------------------------------------------------- 1 | function disp( x, prefix ) 2 | if nargin < 2, 3 | prefix = ''; 4 | end 5 | disp( [ prefix, 'cvx ', cvx_class( x, true, true, true ), ' expression (', type( x ), ')' ] ); 6 | dual = cvx_getdual( x ); 7 | if ~isempty( dual ), 8 | disp( [ prefix, ' tied to dual variable: ', dual.subs ] ); 9 | end 10 | 11 | % Copyright 2005-2016 CVX Research, Inc. 12 | % See the file LICENSE.txt for full copyright information. 13 | % The command 'cvx_where' will show where this file is located. 14 | -------------------------------------------------------------------------------- /builtins/@cvx/end.m: -------------------------------------------------------------------------------- 1 | function y = end( x, k, n ) 2 | 3 | %Disciplined convex/geometric programming information for END: 4 | % The use of END as an array subscript (e.g., X(:,end)) is identical 5 | % with CVX variables as it is for numeric vectors and arrays. 6 | 7 | sz = size( x ); 8 | nz = length( sz ); 9 | if k > nz, 10 | y = 1; 11 | elseif k < n || nz <= n, 12 | y = sz( k ); 13 | else 14 | y = prod( sz( k : end ) ); 15 | end 16 | 17 | % Copyright 2005-2016 CVX Research, Inc. 18 | % See the file LICENSE.txt for full copyright information. 19 | % The command 'cvx_where' will show where this file is located. 20 | -------------------------------------------------------------------------------- /builtins/@cvx/full.m: -------------------------------------------------------------------------------- 1 | function z = full( x ) 2 | 3 | % Disciplined convex/geometric programming information for FULL (+): 4 | % This is effectively a "no-op", and can be used in DCPs and DGPs 5 | % without restrictions. 6 | 7 | z = x; 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /builtins/@cvx/horzcat.m: -------------------------------------------------------------------------------- 1 | function y = horzcat( varargin ) 2 | y = cat( 2, varargin{:} ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /builtins/@cvx/imag.m: -------------------------------------------------------------------------------- 1 | function y = imag( x ) 2 | 3 | %Disciplined convex/geometric programming information for IMAG: 4 | % IMAG(X) may be freely applied to any CVX expression. Of course, 5 | % IMAG(X)=0 for all real expressions (including convex, concave, 6 | % log-convex, and log-concave), so it is primarily useful in the 7 | % complex affine case. 8 | 9 | y = cvx( x.size_, imag( x.basis_ ) ); 10 | 11 | % Copyright 2005-2016 CVX Research, Inc. 12 | % See the file LICENSE.txt for full copyright information. 13 | % The command 'cvx_where' will show where this file is located. 14 | -------------------------------------------------------------------------------- /builtins/@cvx/isreal.m: -------------------------------------------------------------------------------- 1 | function y = isreal( x, full ) 2 | 3 | %Disciplined convex/geometric programming information for ISREAL: 4 | % ISREAL(X) may be freely applied to any CVX expression. It will 5 | % return TRUE for all real affine, convex, concave, log-convex, 6 | % and log-concave expressions, and FALSE for complex affine 7 | % expressions. 8 | 9 | y = x.basis_; 10 | if nargin > 1 && full, 11 | y = any( imag( y ), 1 ); 12 | else 13 | y = isreal( x.basis_ ) | nnz(imag(x.basis_)) == 0; 14 | end 15 | 16 | % Copyright 2005-2016 CVX Research, Inc. 17 | % See the file LICENSE.txt for full copyright information. 18 | % The command 'cvx_where' will show where this file is located. 19 | -------------------------------------------------------------------------------- /builtins/@cvx/mpower.m: -------------------------------------------------------------------------------- 1 | function z = mpower( x, y ) 2 | 3 | % Disciplined convex/geometric programming information for MPOWER (^): 4 | % The CVX version of the matrix power function Z=X.^Y supports only 5 | % the case where X and Y are scalars. In such instances, the rules 6 | % are identical to those outlined in the help for CVX/POWER. 7 | 8 | if length( x ) == 1 && length( y ) == 1, 9 | z = power( x, y ); 10 | else 11 | error( 'Disciplined convex programming error:\n Matrix powers not permitted.', 1 ); %#ok 12 | end 13 | 14 | % Copyright 2005-2016 CVX Research, Inc. 15 | % See the file LICENSE.txt for full copyright information. 16 | % The command 'cvx_where' will show where this file is located. 17 | -------------------------------------------------------------------------------- /builtins/@cvx/ne.m: -------------------------------------------------------------------------------- 1 | function a = ne( x, y ) 2 | 3 | % Disciplined convex/geometric programming information for NE (~=): 4 | % Not-equal constraints violate both the DCP and DGP rulesets. Thus 5 | % not-equal expressions may only appear in CVX models when both 6 | % sides are constant. 7 | 8 | b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '~=' ); 9 | if nargout, a = b; end 10 | 11 | % Copyright 2005-2016 CVX Research, Inc. 12 | % See the file LICENSE.txt for full copyright information. 13 | % The command 'cvx_where' will show where this file is located. 14 | -------------------------------------------------------------------------------- /builtins/@cvx/real.m: -------------------------------------------------------------------------------- 1 | function y = real( x ) 2 | 3 | % Disciplined convex/geometric programming information for REAL: 4 | % REAL(X) may be freely applied to any CVX expression. However, 5 | % since REAL(X)=X for all real expressions (including convex, 6 | % concave, log-convex, and log-concave), it is only useful in 7 | % the complex affine case. 8 | 9 | y = cvx( x.size_, real( x.basis_ ) ); 10 | 11 | % Copyright 2005-2016 CVX Research, Inc. 12 | % See the file LICENSE.txt for full copyright information. 13 | % The command 'cvx_where' will show where this file is located. 14 | -------------------------------------------------------------------------------- /builtins/@cvx/subsref.m: -------------------------------------------------------------------------------- 1 | function x = subsref( x, S ) 2 | 3 | % Disciplined convex/geometric programming information for SUBSREF: 4 | % The use of subscripts to extract elements or "slices" of any CVX 5 | % variable is identical to their use with numeric arrays. All 6 | % conventions are preserved, including the colon ':' and 'end'. 7 | 8 | narginchk(2,2); 9 | 10 | try 11 | ndxs = builtin( 'subsref', reshape( 1 : prod( x.size_ ), x.size_ ), S ); 12 | catch errmsg 13 | error( errmsg.identifier, errmsg.message ); 14 | end 15 | 16 | x = cvx( size( ndxs ), x.basis_( :, ndxs ) ); 17 | 18 | % Copyright 2005-2016 CVX Research, Inc. 19 | % See the file LICENSE.txt for full copyright information. 20 | % The command 'cvx_where' will show where this file is located. 21 | -------------------------------------------------------------------------------- /builtins/@cvx/uplus.m: -------------------------------------------------------------------------------- 1 | function z = uplus( x ) 2 | 3 | % Disciplined convex/geometric programming information for UPLUS (+): 4 | % Unary plus may be used in DCPs and DGPs without restrictions. 5 | 6 | z = x; 7 | 8 | % Copyright 2005-2016 CVX Research, Inc. 9 | % See the file LICENSE.txt for full copyright information. 10 | % The command 'cvx_where' will show where this file is located. 11 | -------------------------------------------------------------------------------- /builtins/@cvx/var.m: -------------------------------------------------------------------------------- 1 | function y = var( varargin ) 2 | 3 | %STD Internal cvx version. 4 | 5 | y = square_pos( std( varargin{:} ) ); 6 | 7 | % Copyright 2005-2016 CVX Research, Inc. 8 | % See the file LICENSE.txt for full copyright information. 9 | % The command 'cvx_where' will show where this file is located. 10 | -------------------------------------------------------------------------------- /builtins/@cvx/vertcat.m: -------------------------------------------------------------------------------- 1 | function y = vertcat( varargin ) 2 | 3 | % Disciplined convex/geometric programming information for VERTCAT: 4 | % VERTCAT imposes no convexity restrictions on its arguments. 5 | 6 | y = cat( 1, varargin{:} ); 7 | 8 | % Copyright 2005-2016 CVX Research, Inc. 9 | % See the file LICENSE.txt for full copyright information. 10 | % The command 'cvx_where' will show where this file is located. 11 | -------------------------------------------------------------------------------- /builtins/@cvxcnst/ne.m: -------------------------------------------------------------------------------- 1 | function a = ne( x, y ) 2 | 3 | % Disciplined convex/geometric programming information for NE (~=): 4 | % Not-equal constraints violate both the DCP and DGP rulesets. Thus 5 | % not-equal expressions may only appear in CVX models when both 6 | % sides are constant. 7 | 8 | b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '~=' ); 9 | if nargout, a = b; end 10 | 11 | % Copyright 2005-2016 CVX Research, Inc. 12 | % See the file LICENSE.txt for full copyright information. 13 | % The command 'cvx_where' will show where this file is located. 14 | -------------------------------------------------------------------------------- /cal_GMI.m: -------------------------------------------------------------------------------- 1 | function [GMI]=cal_GMI(M,A,B,C,D,p) 2 | 3 | 4 | for k=1:M 5 | GMI_p(k)=log2((p'*C(:,:,k)*p)/(p'*D(:,:,k)*p)); 6 | GMI_c(k)=log2((p'*A(:,:,k)*p)/(p'*B(:,:,k)*p)); 7 | end 8 | 9 | GMI=sum(GMI_p)+min(GMI_c); 10 | 11 | end -------------------------------------------------------------------------------- /cal_ach_rate.m: -------------------------------------------------------------------------------- 1 | 2 | 3 | function [Rs_set]=cal_ach_rate(Nt,M,h,N0,p) 4 | 5 | 6 | pp=reshape(p,[Nt,M+1]);%p=m=Nt X (M+1)vector 7 | 8 | 9 | for k=1:M 10 | inter(k)=0; 11 | for i=1:M 12 | if i~=k 13 | inter(k)=inter(k)+abs(h(:,k)'*pp(:,i))^2; 14 | end 15 | end 16 | R_ach(k)= log2(1+abs(h(:,k)'*pp(:,k))^2/(inter(k)+N0)); 17 | Rc_ach(k)=log2(1+abs(h(:,k)'*pp(:,M+1))^2/(inter(k)+abs(h(:,k)'*pp(:,k))^2+N0)); 18 | 19 | end 20 | 21 | R_ach(M+1)=min(Rc_ach); 22 | Rs_set=R_ach.'; 23 | end 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /commands/cvx_clear.m: -------------------------------------------------------------------------------- 1 | % CVX_CLEAR Clears all active CVX data. 2 | % CVX_CLEAR clears the current CVX model in progress. This is useful if, for 3 | % example, you have made an error typing in your model and wish to start 4 | % over. Typing this before entering another CVX_BEGIN again avoids the 5 | % warning message that occurs if CVX_BEGIN detects a model in progress. 6 | 7 | prob = evalin( 'caller', 'cvx_problem', '[]' ); 8 | if isa( prob, 'cvxprob' ), 9 | evalin( 'caller', 'pop( cvx_problem, ''clear'' )' ); 10 | end 11 | % cvx_clearpath( 1 ); 12 | 13 | % Copyright 2005-2016 CVX Research, Inc. 14 | % See the file LICENSE.txt for full copyright information. 15 | % The command 'cvx_where' will show where this file is located. 16 | -------------------------------------------------------------------------------- /cvx_license.p: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/cvx_license.p -------------------------------------------------------------------------------- /doc/CVX.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/CVX.pdf -------------------------------------------------------------------------------- /doc/_images/envelope.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_images/envelope.pdf -------------------------------------------------------------------------------- /doc/_images/tradeoff.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_images/tradeoff.pdf -------------------------------------------------------------------------------- /doc/_sources/index.txt: -------------------------------------------------------------------------------- 1 | .. CVX documentation master file, created by 2 | sphinx-quickstart on Tue Jun 26 20:00:08 2012. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | ================ 7 | CVX Users' Guide 8 | ================ 9 | 10 | .. toctree:: 11 | intro 12 | install 13 | quickstart 14 | basics 15 | dcp 16 | sdp 17 | gp 18 | solver 19 | funcref 20 | support 21 | advanced 22 | license 23 | citing 24 | credits 25 | gurobi 26 | mosek 27 | 28 | .. _CVX Support: http://support.cvxr.com/ 29 | .. _CVX Sales: mailto:sales@cvxr.com 30 | .. _Licensing: http://cvxr.com/cvx/licensing 31 | .. _Academic License Request: http://cvxr.com/cvx/academic 32 | 33 | -------------------------------------------------------------------------------- /doc/_static/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/ajax-loader.gif -------------------------------------------------------------------------------- /doc/_static/comment-bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/comment-bright.png -------------------------------------------------------------------------------- /doc/_static/comment-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/comment-close.png -------------------------------------------------------------------------------- /doc/_static/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/comment.png -------------------------------------------------------------------------------- /doc/_static/cvxrlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/cvxrlogo.png -------------------------------------------------------------------------------- /doc/_static/down-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/down-pressed.png -------------------------------------------------------------------------------- /doc/_static/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/down.png -------------------------------------------------------------------------------- /doc/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/file.png -------------------------------------------------------------------------------- /doc/_static/icon-deprecated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/icon-deprecated.png -------------------------------------------------------------------------------- /doc/_static/icon-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/icon-note.png -------------------------------------------------------------------------------- /doc/_static/icon-seealso.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/icon-seealso.png -------------------------------------------------------------------------------- /doc/_static/icon-todo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/icon-todo.png -------------------------------------------------------------------------------- /doc/_static/icon-warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/icon-warning.png -------------------------------------------------------------------------------- /doc/_static/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/minus.png -------------------------------------------------------------------------------- /doc/_static/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/plus.png -------------------------------------------------------------------------------- /doc/_static/up-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/up-pressed.png -------------------------------------------------------------------------------- /doc/_static/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/_static/up.png -------------------------------------------------------------------------------- /doc/objects.inv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/doc/objects.inv -------------------------------------------------------------------------------- /examples/antenna_array_design/html/ant_array_min_beamwidth__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/ant_array_min_beamwidth__01.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/ant_array_min_beamwidth__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/ant_array_min_beamwidth__02.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/ant_array_min_beamwidth__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/ant_array_min_beamwidth__03.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/ant_array_min_sidelobe__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/ant_array_min_sidelobe__01.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/ant_array_min_sidelobe__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/ant_array_min_sidelobe__02.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/ant_array_min_sidelobe__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/ant_array_min_sidelobe__03.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/ant_array_min_therm_noise__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/ant_array_min_therm_noise__01.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/ant_array_min_therm_noise__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/ant_array_min_therm_noise__02.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/ant_array_min_therm_noise__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/ant_array_min_therm_noise__03.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/broadband_array_min_sidelobe__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/broadband_array_min_sidelobe__01.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/broadband_array_min_sidelobe__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/broadband_array_min_sidelobe__02.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/broadband_array_min_sidelobe__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/broadband_array_min_sidelobe__03.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/line_array_spec_fact__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/line_array_spec_fact__01.png -------------------------------------------------------------------------------- /examples/antenna_array_design/html/line_array_spec_fact__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/antenna_array_design/html/line_array_spec_fact__02.png -------------------------------------------------------------------------------- /examples/bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/bullet.gif -------------------------------------------------------------------------------- /examples/circuit_design/html/LC_osc_design__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/LC_osc_design__01.png -------------------------------------------------------------------------------- /examples/circuit_design/html/clock_mesh__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/clock_mesh__01.png -------------------------------------------------------------------------------- /examples/circuit_design/html/clock_mesh__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/clock_mesh__02.png -------------------------------------------------------------------------------- /examples/circuit_design/html/clock_mesh__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/clock_mesh__03.png -------------------------------------------------------------------------------- /examples/circuit_design/html/dig_ckt_sizing__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/dig_ckt_sizing__01.png -------------------------------------------------------------------------------- /examples/circuit_design/html/elmore_straight_wire__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/elmore_straight_wire__01.png -------------------------------------------------------------------------------- /examples/circuit_design/html/elmore_straight_wire__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/elmore_straight_wire__02.png -------------------------------------------------------------------------------- /examples/circuit_design/html/inverter_chain_sizing__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/inverter_chain_sizing__01.png -------------------------------------------------------------------------------- /examples/circuit_design/html/simple_NAND2_gate_design__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/simple_NAND2_gate_design__01.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__01.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__02.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__03.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__04.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__05.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__06.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__07.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__08.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__09.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__10.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__11.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__12.png -------------------------------------------------------------------------------- /examples/circuit_design/html/tristate_bus_sizing__13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/tristate_bus_sizing__13.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_driver_sizing__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_driver_sizing__01.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_driver_sizing__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_driver_sizing__02.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_driver_sizing__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_driver_sizing__03.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing__01.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing__02.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing__03.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing__04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing__04.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing__05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing__05.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing__06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing__06.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_spacing__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_spacing__01.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_spacing__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_spacing__02.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_spacing__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_spacing__03.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_spacing__04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_spacing__04.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_spacing__05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_spacing__05.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_spacing__06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_spacing__06.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_spacing__07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_spacing__07.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_spacing__08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_spacing__08.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_spacing__09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_spacing__09.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_topology__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_topology__01.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_topology__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_topology__02.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_topology__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_topology__03.png -------------------------------------------------------------------------------- /examples/circuit_design/html/wire_sizing_topology__04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/circuit_design/html/wire_sizing_topology__04.png -------------------------------------------------------------------------------- /examples/circuit_design/simple_step.m: -------------------------------------------------------------------------------- 1 | % Computes the step response of a linear system 2 | 3 | function X = simple_step(A,B,DT,N) 4 | n = size(A,1); 5 | Ad = expm( full( A * DT ) ); 6 | Bd = ( Ad - eye(n) ) * B; 7 | Bd = A \ Bd; 8 | X = zeros(n,N); 9 | for k = 2 : N, 10 | X(:,k) = Ad*X(:,k-1)+Bd; 11 | end 12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/cvxbook/Ch04_cvx_opt_probs/chebyshev_center.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch04_cvx_opt_probs/chebyshev_center.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch04_cvx_opt_probs/chebyshev_center_2D.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch04_cvx_opt_probs/chebyshev_center_2D.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch04_cvx_opt_probs/ex_4_27.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch04_cvx_opt_probs/ex_4_27.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch04_cvx_opt_probs/ex_4_3.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch04_cvx_opt_probs/ex_4_3.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch04_cvx_opt_probs/ex_4_38.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch04_cvx_opt_probs/ex_4_38.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch04_cvx_opt_probs/ex_4_5.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch04_cvx_opt_probs/ex_4_5.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch04_cvx_opt_probs/fastest_mixing_MC.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch04_cvx_opt_probs/fastest_mixing_MC.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch04_cvx_opt_probs/html/cantilever_beam__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch04_cvx_opt_probs/html/cantilever_beam__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch04_cvx_opt_probs/html/cantilever_beam_rec__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch04_cvx_opt_probs/html/cantilever_beam_rec__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch04_cvx_opt_probs/html/chebyshev_center_2D__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch04_cvx_opt_probs/html/chebyshev_center_2D__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch04_cvx_opt_probs/html/logopt_investment__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch04_cvx_opt_probs/html/logopt_investment__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch05_duality/Contents.m: -------------------------------------------------------------------------------- 1 | % Chapter 5: Duality 2 | % 3 | % qcqp.m - Section 5.2.4: Solves a simple QCQP 4 | % matrix_games.m - Section 5.2.5: Mixed strategies for matrix games 5 | % matrix_games_LP.m - Section 5.2.5: Mixed strategies for matrix games (LP formulation) 6 | % norm_approx.m - Examples 5.6,5.8: An l_p norm approximation problem 7 | % ex_5_19.m - Exercise 5.19c: Markovitz portfolio optimization w/ diversification constraint 8 | % ex_5_1.m - Exercise 5.1d: Sensitivity analysis for a simple QCQP 9 | % ex_5_33.m - Exercise 5.33: Parametrized l1-norm approximation 10 | % ex_5_39.m - Exercise 5.39: SDP relaxations of the two-way partitioning problem 11 | help Contents 12 | -------------------------------------------------------------------------------- /examples/cvxbook/Ch05_duality/ex_5_1.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch05_duality/ex_5_1.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch05_duality/ex_5_19.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch05_duality/ex_5_19.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch05_duality/ex_5_33.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch05_duality/ex_5_33.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch05_duality/ex_5_39.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch05_duality/ex_5_39.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch05_duality/html/ex_5_1__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch05_duality/html/ex_5_1__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch05_duality/html/ex_5_33__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch05_duality/html/ex_5_33__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch05_duality/matrix_games.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch05_duality/matrix_games.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch05_duality/matrix_games_LP.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch05_duality/matrix_games_LP.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch05_duality/norm_approx.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch05_duality/norm_approx.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch05_duality/qcqp.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch05_duality/qcqp.m -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/basispursuit__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/basispursuit__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/basispursuit__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/basispursuit__02.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/basispursuit__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/basispursuit__03.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/convex_interpolation__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/convex_interpolation__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/fig6_15__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/fig6_15__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/fig6_19__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/fig6_19__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/fig6_20__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/fig6_20__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/fig6_5__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/fig6_5__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/fig6_6__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/fig6_6__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/fig6_6__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/fig6_6__02.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/fig6_6__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/fig6_6__03.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/fig6_6__04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/fig6_6__04.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/fig6_6__05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/fig6_6__05.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/fig6_6__06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/fig6_6__06.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/fig6_9__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/fig6_9__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/penalty_comp_cvx__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/penalty_comp_cvx__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/preference_regions__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/preference_regions__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/preference_regions__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/preference_regions__02.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/regressor_cvx__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/regressor_cvx__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/smoothrec_cvx__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/smoothrec_cvx__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/smoothrec_cvx__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/smoothrec_cvx__02.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/smoothrec_cvx__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/smoothrec_cvx__03.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/tv_cvx__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/tv_cvx__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/tv_cvx__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/tv_cvx__02.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/tv_cvx__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/tv_cvx__03.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/tv_cvx__04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/tv_cvx__04.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/tv_cvx__05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/tv_cvx__05.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch06_approx_fitting/html/wcrobls__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch06_approx_fitting/html/wcrobls__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/cher.m: -------------------------------------------------------------------------------- 1 | function prob = cher( A, b, Sigma ); 2 | 3 | % Computes Chernoff upper bounds on probability 4 | % 5 | % Computes a bound on the probability that a Gaussian random vector 6 | % N(0,Sigma) satisfies A x <= b, by solving a QP 7 | % 8 | 9 | [ m, n ] = size( A ); 10 | cvx_begin quiet 11 | variable u( m ) 12 | minimize( b' * u + 0.5 * sum_square( chol( Sigma ) * A' * u ) ) 13 | subject to 14 | u >= 0; 15 | cvx_end 16 | prob = exp( cvx_optval ); 17 | -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/html/detector2__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch07_statistical_estim/html/detector2__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/html/expdesign__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch07_statistical_estim/html/expdesign__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/html/expdesign__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch07_statistical_estim/html/expdesign__02.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/html/expdesign__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch07_statistical_estim/html/expdesign__03.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/html/expdesign__04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch07_statistical_estim/html/expdesign__04.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/html/logistics__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch07_statistical_estim/html/logistics__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/html/logistics_gp__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch07_statistical_estim/html/logistics_gp__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/html/maxent__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch07_statistical_estim/html/maxent__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/html/maxent__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch07_statistical_estim/html/maxent__02.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/html/probbounds__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch07_statistical_estim/html/probbounds__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/html/probbounds__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch07_statistical_estim/html/probbounds__02.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/html/probbounds__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch07_statistical_estim/html/probbounds__03.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch07_statistical_estim/montecarlo.m: -------------------------------------------------------------------------------- 1 | function prob = montecarlo(A,b,Sigma,notrials); 2 | 3 | % Probability estimate using Monte Carlo methods 4 | % 5 | % Estimates the probability that a random vector x in R2 6 | % with mean zero and covariance Sigma satisfies Ax <= b, 7 | % based on 100 * notrials trials. Sigma must be PSD. 8 | 9 | m = size(A,1); 10 | 11 | R = chol(Sigma); % Y = R^{-T}X has covariance I 12 | X = R'*randn(2,notrials); 13 | prob = length(find(sum(A*X - b(:,ones(1,notrials)) < 0) == m))/notrials; 14 | 15 | for i=1:99 16 | X = R'*randn(2,notrials); 17 | prob = 0.5*(prob + ... 18 | length(find(sum(A*X - b(:,ones(1,notrials)) < 0) == m))/notrials); 19 | end; 20 | 21 | -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/eucl_dist_poly_2D__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/eucl_dist_poly_2D__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/floor_plan__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/floor_plan__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/floor_plan_graphs__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/floor_plan_graphs__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/linear_discr__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/linear_discr__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/max_vol_ellip_in_polyhedra__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/max_vol_ellip_in_polyhedra__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/min_vol_elp_finite_set__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/min_vol_elp_finite_set__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/min_vol_union_ellip__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/min_vol_union_ellip__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/placement_lin__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/placement_lin__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/placement_lin__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/placement_lin__02.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/placement_quad__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/placement_quad__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/placement_quad__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/placement_quad__02.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/placement_quar__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/placement_quar__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/placement_quar__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/placement_quar__02.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/poly3_discr__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/poly3_discr__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/poly4_discr__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/poly4_discr__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/quad_discr__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/quad_discr__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/robust_lin_discr__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/robust_lin_discr__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/separate_ell_2D__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/separate_ell_2D__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/separate_poly_2D__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/separate_poly_2D__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/svm_1__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/svm_1__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/svm_2__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/svm_2__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch08_geometric_probs/html/test_floorplan__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/cvxbook/Ch08_geometric_probs/html/test_floorplan__01.png -------------------------------------------------------------------------------- /examples/cvxbook/Ch11_intpt_methods/Contents.m: -------------------------------------------------------------------------------- 1 | % Chapter 11: Interior-point methods 2 | % 3 | % log_utility_flow.m - Section 11.8.4: Network rate optimization 4 | help Contents 5 | -------------------------------------------------------------------------------- /examples/cvxbook/Contents.m: -------------------------------------------------------------------------------- 1 | % Figures, examples, and exercises from the book Convex Optimization 2 | % 3 | % Ch04_cvx_opt_probs/ - Chapter 4: Convex optimization problems 4 | % Ch05_duality/ - Chapter 5: Duality 5 | % Ch06_approx_fitting/ - Chapter 6: Approximation and fitting 6 | % Ch07_statistical_estim/ - Chapter 7: Statistical estimation 7 | % Ch08_geometric_probs/ - Chapter 8: Geometric problems 8 | % Ch11_intpt_methods/ - Chapter 11: Interior-point methods 9 | help Contents 10 | -------------------------------------------------------------------------------- /examples/filter_design/html/equalizer_design__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/equalizer_design__01.png -------------------------------------------------------------------------------- /examples/filter_design/html/equalizer_design__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/equalizer_design__02.png -------------------------------------------------------------------------------- /examples/filter_design/html/equalizer_design__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/equalizer_design__03.png -------------------------------------------------------------------------------- /examples/filter_design/html/equalizer_design__04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/equalizer_design__04.png -------------------------------------------------------------------------------- /examples/filter_design/html/equalizer_design__05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/equalizer_design__05.png -------------------------------------------------------------------------------- /examples/filter_design/html/equalizer_design__06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/equalizer_design__06.png -------------------------------------------------------------------------------- /examples/filter_design/html/equalizer_design__07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/equalizer_design__07.png -------------------------------------------------------------------------------- /examples/filter_design/html/equalizer_design__08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/equalizer_design__08.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_chebychev_design__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_chebychev_design__01.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_chebychev_design__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_chebychev_design__02.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_lin_phase_lowpass_max_atten__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_lin_phase_lowpass_max_atten__01.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_lin_phase_lowpass_max_atten__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_lin_phase_lowpass_max_atten__02.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_lin_phase_lowpass_min_order__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_lin_phase_lowpass_min_order__01.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_lin_phase_lowpass_min_order__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_lin_phase_lowpass_min_order__02.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_lin_phase_lowpass_min_ripple__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_lin_phase_lowpass_min_ripple__01.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_lin_phase_lowpass_min_ripple__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_lin_phase_lowpass_min_ripple__02.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_lin_phase_lowpass_min_trans__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_lin_phase_lowpass_min_trans__01.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_lin_phase_lowpass_min_trans__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_lin_phase_lowpass_min_trans__02.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_mag_design_lowpass_max_atten__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_mag_design_lowpass_max_atten__01.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_mag_design_lowpass_max_atten__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_mag_design_lowpass_max_atten__02.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_mag_design_lowpass_min_order__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_mag_design_lowpass_min_order__01.png -------------------------------------------------------------------------------- /examples/filter_design/html/fir_mag_design_lowpass_min_order__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/fir_mag_design_lowpass_min_order__02.png -------------------------------------------------------------------------------- /examples/filter_design/html/iir_mag_design_bandpass_max_atten__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/iir_mag_design_bandpass_max_atten__01.png -------------------------------------------------------------------------------- /examples/filter_design/html/iir_mag_design_lowpass_max_atten__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/iir_mag_design_lowpass_max_atten__01.png -------------------------------------------------------------------------------- /examples/filter_design/html/one_over_f_filter__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/filter_design/html/one_over_f_filter__01.png -------------------------------------------------------------------------------- /examples/gp_tutorial/html/basic_odp__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/gp_tutorial/html/basic_odp__01.png -------------------------------------------------------------------------------- /examples/gp_tutorial/html/beta_min_odp__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/gp_tutorial/html/beta_min_odp__01.png -------------------------------------------------------------------------------- /examples/gp_tutorial/html/elmore_interconnect__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/gp_tutorial/html/elmore_interconnect__01.png -------------------------------------------------------------------------------- /examples/gp_tutorial/html/floor_planning__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/gp_tutorial/html/floor_planning__01.png -------------------------------------------------------------------------------- /examples/gp_tutorial/html/max_volume_box__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/gp_tutorial/html/max_volume_box__01.png -------------------------------------------------------------------------------- /examples/gp_tutorial/html/simple_dig_ckt_sizing__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/gp_tutorial/html/simple_dig_ckt_sizing__01.png -------------------------------------------------------------------------------- /examples/gp_tutorial/html/simple_dig_ckt_sizing_vect__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/gp_tutorial/html/simple_dig_ckt_sizing_vect__01.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/cut_grid_example__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/cut_grid_example__01.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/cut_grid_example__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/cut_grid_example__02.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/cut_grid_example__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/cut_grid_example__03.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/cut_grid_example__04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/cut_grid_example__04.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/cut_grid_example__05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/cut_grid_example__05.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/larger_example__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/larger_example__01.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/larger_example__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/larger_example__02.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/larger_example__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/larger_example__03.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/larger_example__04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/larger_example__04.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/larger_example__05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/larger_example__05.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/larger_example__06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/larger_example__06.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/small_example__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/small_example__01.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/small_example__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/small_example__02.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/small_example__03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/small_example__03.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/small_example__04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/small_example__04.png -------------------------------------------------------------------------------- /examples/graph_laplacian/html/small_example__05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/graph_laplacian/html/small_example__05.png -------------------------------------------------------------------------------- /examples/html/nonneg_matrix_fact__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/html/nonneg_matrix_fact__01.png -------------------------------------------------------------------------------- /examples/html/quickstart__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/html/quickstart__01.png -------------------------------------------------------------------------------- /examples/html/regularized_norm_tradeoff__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/html/regularized_norm_tradeoff__01.png -------------------------------------------------------------------------------- /examples/html/regularized_norm_tradeoff__02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/html/regularized_norm_tradeoff__02.png -------------------------------------------------------------------------------- /examples/log_exp/Contents.m: -------------------------------------------------------------------------------- 1 | % Examples employing logarithms, exponentials, and entropy functions 2 | % 3 | % max_entropy.m - Entropy maximization 4 | % sparse_covariance_est.m - Sparse covariance estimation for Gaussian variables 5 | % sparse_covariance_est_tradeoff.m - Sparse covariance estimation for Gaussian variables 6 | % weighted_analytic_center.m - Weighted analytic center of a set of linear inequalities 7 | help Contents 8 | -------------------------------------------------------------------------------- /examples/log_exp/html/sparse_covariance_est__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/log_exp/html/sparse_covariance_est__01.png -------------------------------------------------------------------------------- /examples/log_exp/html/sparse_covariance_est_tradeoff__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/log_exp/html/sparse_covariance_est_tradeoff__01.png -------------------------------------------------------------------------------- /examples/log_exp/max_entropy.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/log_exp/max_entropy.m -------------------------------------------------------------------------------- /examples/minus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/minus.gif -------------------------------------------------------------------------------- /examples/plus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/plus.gif -------------------------------------------------------------------------------- /examples/simple_LP.m: -------------------------------------------------------------------------------- 1 | % Builds and solves a simple linear program 2 | 3 | echo on 4 | 5 | n = 100; 6 | A = randn(0.5*n,n); 7 | b = randn(0.5*n,1); 8 | c = randn(n,1); 9 | d = randn; 10 | cvx_begin 11 | variable x(n) 12 | dual variables y z 13 | minimize( c' * x + d ) 14 | subject to 15 | y : A * x == b; 16 | z : x >= 0; 17 | cvx_end 18 | 19 | echo off 20 | 21 | -------------------------------------------------------------------------------- /examples/simple_LP2.m: -------------------------------------------------------------------------------- 1 | % Builds and solves a simple inequality-constrained linear program 2 | 3 | echo on 4 | 5 | n = 10; 6 | A = randn(2*n,n); 7 | b = randn(2*n,1); 8 | c = randn(n,1); 9 | d = randn; 10 | cvx_begin 11 | variable x(n) 12 | dual variables y z 13 | minimize( c' * x + d ) 14 | subject to 15 | y : A * x <= b; 16 | cvx_end 17 | 18 | echo off 19 | 20 | -------------------------------------------------------------------------------- /examples/simple_LS.m: -------------------------------------------------------------------------------- 1 | % Builds and solves a simple least-squares problem using cvx 2 | 3 | echo on 4 | 5 | n = 100; 6 | A = randn(2*n,n); 7 | b = randn(2*n,1); 8 | cvx_begin 9 | variable x(n) 10 | minimize( norm( A*x-b ) ) 11 | cvx_end 12 | 13 | echo off 14 | -------------------------------------------------------------------------------- /examples/sparse_heuristics/Contents.m: -------------------------------------------------------------------------------- 1 | % Sparse solution heuristics 2 | % 3 | % sparse_solution.m - Computing a sparse solution of a set of linear inequalities 4 | % sparse_infeas_dual.m - Detecting a small subset of infeasible linear inequalities 5 | % sparse_infeas.m - Finding a point that satisfies many linear inequalities 6 | help Contents 7 | -------------------------------------------------------------------------------- /examples/sparse_heuristics/html/sparse_solution__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/sparse_heuristics/html/sparse_solution__01.png -------------------------------------------------------------------------------- /examples/sparse_heuristics/sparse_solution.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/sparse_heuristics/sparse_solution.m -------------------------------------------------------------------------------- /examples/time_series_analysis/Contents.m: -------------------------------------------------------------------------------- 1 | % Example from l1 Trend Filtering 2 | % 3 | % l1_trend_filter_snp500.m - l1 trend filtering 4 | % snp500.txt - (no title) 5 | help Contents 6 | -------------------------------------------------------------------------------- /examples/time_series_analysis/html/l1_trend_filter_snp500__01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/examples/time_series_analysis/html/l1_trend_filter_snp500__01.png -------------------------------------------------------------------------------- /find_p.m: -------------------------------------------------------------------------------- 1 | function [p_max]=find_p(M,Pt,A,B,C,D,X) 2 | 3 | %[U,W,Z] = svds(X);%V=U*W*Z' 4 | 5 | %U(:,1);%eigenvector for largest eigen value 6 | %p_e=U(:,1)*sqrt(trace(X)); 7 | 8 | [U,W,Z] = svds(X);%V=U*W*Z' 9 | n=length(W); 10 | obj_max=-100; 11 | for m=1:10000 12 | r=sqrt(1/2)*(randn(n,1)+1i*randn(n,1));%sqrt(var/2)*(randn(1,N)+1i*randn(1,N)) 13 | p1=U*sqrt(W)*r; 14 | p=sqrt(Pt)*p1/sqrt(p1'*p1); 15 | obj(m)=cal_GMI(M,A,B,C,D,p); 16 | if obj(m)>=obj_max 17 | obj_max=obj(m); 18 | p_max=p; 19 | end 20 | end 21 | 22 | end -------------------------------------------------------------------------------- /functions/@cvx/inv_pos.m: -------------------------------------------------------------------------------- 1 | function y = inv_pos( x ) 2 | 3 | %INV_POS Internal cvx version. 4 | 5 | y = pow_cvx( x, -1, 'pow_p' ); 6 | 7 | % Copyright 2005-2016 CVX Research, Inc. 8 | % See the file LICENSE.txt for full copyright information. 9 | % The command 'cvx_where' will show where this file is located. 10 | 11 | -------------------------------------------------------------------------------- /functions/@cvx/pow_abs.m: -------------------------------------------------------------------------------- 1 | function y = pow_abs( x, p ) 2 | 3 | %POW_ABS Internal cvx version. 4 | 5 | narginchk(2,2); 6 | if ~cvx_isconstant( p ), 7 | error( 'Second argument must be constant.' ); 8 | elseif ~isreal( p ), 9 | error( 'Second argument must be real.' ); 10 | elseif any( cvx_constant( p(:) ) < 1 ), 11 | error( 'Second argument must be greater than or equal to one.' ); 12 | end 13 | y = pow_cvx( x, p, 'pow_abs' ); 14 | 15 | % Copyright 2005-2016 CVX Research, Inc. 16 | % See the file LICENSE.txt for full copyright information. 17 | % The command 'cvx_where' will show where this file is located. 18 | -------------------------------------------------------------------------------- /functions/@cvx/pow_p.m: -------------------------------------------------------------------------------- 1 | function y = pow_p( x, p ) 2 | 3 | %POW_P Internal cvx version. 4 | 5 | narginchk(2,2); 6 | y = pow_cvx( x, p, 'pow_p' ); 7 | 8 | % Copyright 2005-2016 CVX Research, Inc. 9 | % See the file LICENSE.txt for full copyright information. 10 | % The command 'cvx_where' will show where this file is located. 11 | -------------------------------------------------------------------------------- /functions/@cvx/pow_pos.m: -------------------------------------------------------------------------------- 1 | function y = pow_pos( x, p ) 2 | 3 | %POW_POS Internal cvx version. 4 | 5 | narginchk(2,2); 6 | if ~cvx_isconstant( p ), 7 | error( 'Second argument must be constant.' ); 8 | elseif ~isreal( p ), 9 | error( 'Second argument must be real.' ); 10 | end 11 | p = cvx_constant( p ); 12 | if nnz( p < 1 ), 13 | error( 'Second argument must be greater than or equal to 1.\n(Use POW_P for exponents less than 1.)', 1 ); %#ok 14 | end 15 | y = pow_cvx( x, p, 'pow_pos' ); 16 | 17 | % Copyright 2005-2016 CVX Research, Inc. 18 | % See the file LICENSE.txt for full copyright information. 19 | % The command 'cvx_where' will show where this file is located. 20 | 21 | -------------------------------------------------------------------------------- /functions/@cvx/quad_pos_over_lin.m: -------------------------------------------------------------------------------- 1 | function cvx_optval = quad_pos_over_lin( x, y, varargin ) %#ok 2 | 3 | %QUAD_POS_OVER_LIN Internal cvx version. 4 | 5 | narginchk(2,3); 6 | if ~isreal( x ), 7 | error( 'First input must be real.' ); 8 | end 9 | x2 = []; 10 | cvx_begin 11 | variable x2( size(x) ) 12 | minimize quad_over_lin( x2, y, varargin{:} ); 13 | x2 >= x; %#ok 14 | cvx_end 15 | 16 | % Copyright 2005-2016 CVX Research, Inc. 17 | % See the file LICENSE.txt for full copyright information. 18 | % The command 'cvx_where' will show where this file is located. 19 | 20 | -------------------------------------------------------------------------------- /functions/@cvx/sigma_max.m: -------------------------------------------------------------------------------- 1 | function cvx_optval = sigma_max( x ) 2 | 3 | %SIGMA_MAX Internal cvx version. 4 | 5 | narginchk(1,1); 6 | if ndims( x ) > 2, %#ok 7 | error( 'lambda_max is not defined for N-D arrays.' ); 8 | elseif ~cvx_isaffine( x ), 9 | error( 'Input must be affine.' ); 10 | end 11 | 12 | % 13 | % Construct problem 14 | % 15 | 16 | [ m, n ] = size( x ); 17 | cvx_optval = lambda_max( [ zeros( m, m ), x ; x', zeros( n, n ) ] ); 18 | 19 | % Copyright 2005-2016 CVX Research, Inc. 20 | % See the file LICENSE.txt for full copyright information. 21 | % The command 'cvx_where' will show where this file is located. 22 | -------------------------------------------------------------------------------- /functions/@cvx/square_abs.m: -------------------------------------------------------------------------------- 1 | function cvx_optval = square_abs( x ) 2 | 3 | %SQUARE_ABS Internal cvx version. 4 | 5 | narginchk(1,1); 6 | cvx_optval = pow_abs( x, 2 ); 7 | 8 | % Copyright 2005-2016 CVX Research, Inc. 9 | % See the file LICENSE.txt for full copyright information. 10 | % The command 'cvx_where' will show where this file is located. 11 | -------------------------------------------------------------------------------- /functions/@cvx/square_pos.m: -------------------------------------------------------------------------------- 1 | function cvx_optval = square_pos( x ) 2 | 3 | %SQUARE_POS Internal cvx version. 4 | 5 | narginchk(1,1); 6 | cvx_optval = pow_pos( x, 2 ); 7 | 8 | % Copyright 2005-2016 CVX Research, Inc. 9 | % See the file LICENSE.txt for full copyright information. 10 | % The command 'cvx_where' will show where this file is located. 11 | -------------------------------------------------------------------------------- /functions/@cvx/sum_log.m: -------------------------------------------------------------------------------- 1 | function y = sum_log( x, dim ) 2 | 3 | %SUM_LOG Internal CVX version. 4 | 5 | cvx_expert_check( 'sum_log', x ); 6 | narginchk(1,2); 7 | if nargin == 2, 8 | y = size( x, dim ) * log( geo_mean( x, dim ) ); 9 | else 10 | y = length( x ) * log( geo_mean( x ) ); 11 | end 12 | 13 | % Copyright 2005-2016 CVX Research, Inc. 14 | % See the file LICENSE.txt for full copyright information. 15 | % The command 'cvx_where' will show where this file is located. 16 | -------------------------------------------------------------------------------- /functions/@cvx/sum_square.m: -------------------------------------------------------------------------------- 1 | function cvx_optval = sum_square( x, varargin ) 2 | 3 | %SUM_SQUARE Internal cvx version. 4 | 5 | narginchk(1,2); 6 | if ~isreal( x ), 7 | error( 'Disciplined convex programming error:\n The argument to SUM_SQUARE must be real and affine.', 1 ); %#ok 8 | end 9 | cvx_optval = quad_over_lin( x, 1, varargin{:} ); 10 | 11 | % Copyright 2005-2016 CVX Research, Inc. 12 | % See the file LICENSE.txt for full copyright information. 13 | % The command 'cvx_where' will show where this file is located. 14 | -------------------------------------------------------------------------------- /functions/@cvx/sum_square_abs.m: -------------------------------------------------------------------------------- 1 | function cvx_optval = sum_square_abs( x, varargin ) 2 | 3 | %SUM_SQUARE_ABS Internal cvx version. 4 | 5 | narginchk(1,2); 6 | cvx_optval = quad_over_lin( x, 1, varargin{:} ); 7 | 8 | % Copyright 2005-2016 CVX Research, Inc. 9 | % See the file LICENSE.txt for full copyright information. 10 | % The command 'cvx_where' will show where this file is located. 11 | -------------------------------------------------------------------------------- /functions/@cvx/sum_square_pos.m: -------------------------------------------------------------------------------- 1 | function cvx_optval = sum_square_pos( x, varargin ) %#ok 2 | 3 | %SUM_SQUARE_POS Internal cvx version. 4 | 5 | narginchk(1,2); 6 | x2 = []; 7 | cvx_begin 8 | variable x2( size( x ) ); 9 | minimize( sum_square( x2, varargin{:} ) ); 10 | x2 >= x; %#ok 11 | cvx_end 12 | 13 | % Copyright 2005-2016 CVX Research, Inc. 14 | % See the file LICENSE.txt for full copyright information. 15 | % The command 'cvx_where' will show where this file is located. 16 | -------------------------------------------------------------------------------- /functions/@cvx/vec.m: -------------------------------------------------------------------------------- 1 | function x = vec( x ) 2 | 3 | % VEC CVX implementation of vec 4 | 5 | x.size_ = [prod(x.size_),1]; 6 | 7 | % Copyright 2005-2016 CVX Research, Inc. 8 | % See the file LICENSE.txt for full copyright information. 9 | % The command 'cvx_where' will show where this file is located. 10 | -------------------------------------------------------------------------------- /functions/geomean.m: -------------------------------------------------------------------------------- 1 | function y = geomean( varargin ) 2 | 3 | %GEOMEAN Geometric mean. 4 | % GEOMEAN(X) = GEO_MEAN(X) = PROD(X).^(1/LENGTH(X)). We have replaced this 5 | % function with GEO_MEAN to better match our function naming conventions. 6 | % Please start using it instead. 7 | 8 | warning( 'CVX:Renamed', [ ... 9 | 'The function "geomean" has been renamed "geo_mean". Please start\n', ... 10 | 'using the new name. The old name will be removed in a future release.' ], 1 ); 11 | 12 | y = geo_mean( varargin{:} ); 13 | 14 | % Copyright 2005-2016 CVX Research, Inc. 15 | % See the file LICENSE.txt for full copyright information. 16 | % The command 'cvx_where' will show where this file is located. 17 | -------------------------------------------------------------------------------- /functions/inv_pos.m: -------------------------------------------------------------------------------- 1 | function y = inv_pos( x ) 2 | 3 | %INV_POS Reciprocal of a positive quantity. 4 | % INV_POS(X) returns 1./X if X is positive, and +Inf otherwise. 5 | % X must be real. 6 | % 7 | % For matrices and N-D arrays, the function is applied to each element. 8 | % 9 | % Disciplined convex programming information: 10 | % INV_POS is convex and nonincreasing; therefore, when used in CVX 11 | % specifications, its argument must be concave (or affine). 12 | 13 | narginchk(1,1); 14 | if ~isreal( x ), 15 | error( 'Input must be real.' ); 16 | end 17 | y = 1.0 ./ max( x, 0 ); 18 | 19 | % Copyright 2005-2016 CVX Research, Inc. 20 | % See the file LICENSE.txt for full copyright information. 21 | % The command 'cvx_where' will show where this file is located. 22 | -------------------------------------------------------------------------------- /functions/lambda_min.m: -------------------------------------------------------------------------------- 1 | function z = lambda_min( Y ) 2 | 3 | % LAMBDA_MIN Minimum eigenvalue of a symmetric matrix. 4 | % For square matrix X, LAMBDA_MIN(X) is MIN(EIG(X)) if X is Hermitian 5 | % or symmetric and real; and -Inf otherwise. 6 | % 7 | % An error results if X is not a square matrix. 8 | % 9 | % Disciplined convex programming information: 10 | % LAMBDA_MIN is concave and nonmonotonic (at least with respect to 11 | % elementwise comparison), so its argument must be affine. 12 | 13 | narginchk(1,1); 14 | z = - lambda_max( -Y ); 15 | 16 | % Copyright 2005-2016 CVX Research, Inc. 17 | % See the file LICENSE.txt for full copyright information. 18 | % The command 'cvx_where' will show where this file is located. 19 | 20 | -------------------------------------------------------------------------------- /functions/logsumexp.m: -------------------------------------------------------------------------------- 1 | function y = logsumexp( varargin ) 2 | 3 | %LOGSUMEXP log(sum(exp(x))). 4 | % LOGSUMEXP(X) = LOG_SUM_EXP(X) = LOG(SUM(EXP(X)). We have replaced this 5 | % function with LOG_SUM_EXP to better match our function naming 6 | % conventions. Please start using it instead. 7 | 8 | warning( 'CVX:Renamed', [ ... 9 | 'The function "logsumexp" has been renamed "log_sum_exp". Please start\n', ... 10 | 'using the new name. The old name will be removed in a future release.' ], 1 ); 11 | 12 | y = log_sum_exp( varargin{:} ); 13 | 14 | % Copyright 2005-2016 CVX Research, Inc. 15 | % See the file LICENSE.txt for full copyright information. 16 | % The command 'cvx_where' will show where this file is located. 17 | -------------------------------------------------------------------------------- /functions/norm_nuc.m: -------------------------------------------------------------------------------- 1 | function z = norm_nuc( x ) 2 | 3 | %NORM_NUC Nuclear norm of a matrix. 4 | % NORM_NUC(X) = SUM(SVD(X)). X must be a 2-D matrix, real or complex. 5 | % 6 | % Disciplined convex programming information: 7 | % NORM_NUC(X) is convex and nonmontonic in X, so X must be affine. 8 | 9 | narginchk(1,1); 10 | z = sum(svd(x)); 11 | 12 | % Copyright 2005-2016 CVX Research, Inc. 13 | % See the file LICENSE.txt for full copyright information. 14 | % The command 'cvx_where' will show where this file is located. 15 | -------------------------------------------------------------------------------- /functions/polyenv.m: -------------------------------------------------------------------------------- 1 | function y = polyenv( varargin ) 2 | 3 | %POLYENV Evaluate the convex or concave envelope of a polynomial. 4 | % We have replaced this function with POLY_ENV to better match our 5 | % function naming conventions. Please start using it instead. 6 | 7 | warning( 'CVX:Renamed', [ ... 8 | 'The function "polyenv" has been renamed "poly_env". Please start using\n', ... 9 | 'the new name. The old name will be removed in a future release.' ], 1 ); 10 | 11 | y = poly_env( varargin{:} ); 12 | 13 | % Copyright 2005-2016 CVX Research, Inc. 14 | % See the file LICENSE.txt for full copyright information. 15 | % The command 'cvx_where' will show where this file is located. 16 | -------------------------------------------------------------------------------- /functions/pos.m: -------------------------------------------------------------------------------- 1 | function y = pos( x ) 2 | 3 | % POS Positive part. 4 | % POS(X) = MAX(X,0). X must be real. 5 | % 6 | % Disciplined convex programming information: 7 | % POS(X) is convex and nondecreasing in X. Thus when used in CVX 8 | % expressions, X must be convex (or affine). 9 | 10 | narginchk(1,1); 11 | if ~isreal( x ), 12 | 13 | error( 'Argument must be real.' ); 14 | 15 | else 16 | 17 | y = max( x, 0 ); 18 | 19 | end 20 | 21 | % Copyright 2005-2016 CVX Research, Inc. 22 | % See the file LICENSE.txt for full copyright information. 23 | % The command 'cvx_where' will show where this file is located. 24 | -------------------------------------------------------------------------------- /functions/sigma_max.m: -------------------------------------------------------------------------------- 1 | function z = sigma_max( x ) 2 | 3 | %SIGMA_MAX Maximum singular value. 4 | % SIGMA_MAX(X) returns the maximum singular value of X. X must be a 2-D 5 | % matrix, real or complex. SIGMA_MAX(X) is synonymous with NORM(X). 6 | % 7 | % Disciplined convex programming information: 8 | % SIGMA_MAX(X) is convex and nonmontonic in X, so X must be affine. 9 | 10 | narginchk(1,1); 11 | z = norm( x, 2 ); 12 | 13 | % Copyright 2005-2016 CVX Research, Inc. 14 | % See the file LICENSE.txt for full copyright information. 15 | % The command 'cvx_where' will show where this file is located. 16 | -------------------------------------------------------------------------------- /functions/square_/square.m: -------------------------------------------------------------------------------- 1 | function y = square( x ) 2 | 3 | %SQUARE Square. 4 | % SQUARE(X) is an array of the same size as X, whose elements are the 5 | % squares of the elements of X. 6 | % 7 | % Disciplined convex programming information: 8 | % If X is real, then SQUARE(X) is convex and nonmonotonic in X. If X 9 | % is complex, then SQUARE(X) is neither convex nor concave. Thus when 10 | % when use in CVX expressions, X must be real and affine. 11 | 12 | narginchk(1,1); 13 | y = x .* x; 14 | 15 | % Copyright 2005-2016 CVX Research, Inc. 16 | % See the file LICENSE.txt for full copyright information. 17 | % The command 'cvx_where' will show where this file is located. 18 | -------------------------------------------------------------------------------- /functions/square_pos.m: -------------------------------------------------------------------------------- 1 | function y = square_pos( x ) 2 | 3 | %SQUARE_POS Square of positive part. 4 | % SQUARE_POS(X) is the square of the postive parts of the elements of X; 5 | % i.e., SQUARE_POS(X)=MAX(X,0).^2. X must be real. 6 | % 7 | % Disciplined convex programming information: 8 | % SQUARE_POS(X) is convex and nondecreasing in X. Thus when used in 9 | % CVX expressions, X must be convex (or affine). 10 | 11 | narginchk(1,1); 12 | if ~isreal( x ), 13 | error( 'Argument must be real.' ); 14 | end 15 | 16 | y = square( max( x, 0 ) ); 17 | 18 | % Copyright 2005-2016 CVX Research, Inc. 19 | % See the file LICENSE.txt for full copyright information. 20 | % The command 'cvx_where' will show where this file is located. 21 | -------------------------------------------------------------------------------- /functions/vec_/vec.m: -------------------------------------------------------------------------------- 1 | function v = vec( x ) 2 | 3 | % VEC Vectorize. 4 | % VEC(X), where X is a vector, matrix, or N-D array, returns a column vector 5 | % containing all of the elements of X; i.e., VEC(X)=X(:). 6 | 7 | v = reshape( x, numel( x ), 1 ); 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /gurobi/EULA.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/gurobi/EULA.pdf -------------------------------------------------------------------------------- /gurobi/w64/grbgetkey.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/gurobi/w64/grbgetkey.exe -------------------------------------------------------------------------------- /gurobi/w64/gurobi.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/gurobi/w64/gurobi.mexw64 -------------------------------------------------------------------------------- /gurobi/w64/gurobi75.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/gurobi/w64/gurobi75.dll -------------------------------------------------------------------------------- /keywords/Contents.m: -------------------------------------------------------------------------------- 1 | % CVX: Keywords for declaring variables and objectives 2 | % dual - Declares one or more dual variables. 3 | % epigraph - Declares an epigraph variable. 4 | % hypograph - Declares a hypograph variable. 5 | % maximize - Specifies a concave (or affine) objective to be maximized. 6 | % minimize - Specifies a convex (or affine) objective to be maximized. 7 | % subject - Implements the "subject to" keyword. 8 | % variable - Declares a single CVX variable with optional matrix structure. 9 | % variables - Declares one or more CVX variables. 10 | 11 | % Copyright 2005-2016 CVX Research, Inc. 12 | % See the file LICENSE.txt for full copyright information. 13 | % The command 'cvx_where' will show where this file is located. 14 | -------------------------------------------------------------------------------- /keywords/In.m: -------------------------------------------------------------------------------- 1 | function y = In 2 | y = cvxin; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cell/cvx_id.m: -------------------------------------------------------------------------------- 1 | function y = cvx_id( x ) 2 | y = cellfun( @cvx_id, x ); 3 | if isempty( y ), 4 | y = -Inf; 5 | else 6 | y = max( y( : ) ); 7 | end 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/@cell/cvx_setdual.m: -------------------------------------------------------------------------------- 1 | function x = cvx_setdual( x, y ) 2 | x = cvx_setdual( cvxtuple( x ), y ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cell/cvx_value.m: -------------------------------------------------------------------------------- 1 | function y = cvx_value( x ) 2 | global cvx___ 3 | y = cellfun( @cvx_value, x, 'UniformOutput', false ); 4 | 5 | % Copyright 2005-2016 CVX Research, Inc. 6 | % See the file LICENSE.txt for full copyright information. 7 | % The command 'cvx_where' will show where this file is located. 8 | -------------------------------------------------------------------------------- /lib/@cvx/cvx_basis.m: -------------------------------------------------------------------------------- 1 | function y = cvx_basis( x ) 2 | y = x.basis_; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvx/cvx_constant.m: -------------------------------------------------------------------------------- 1 | function y = cvx_constant( x ) 2 | y = cvx_reshape( x.basis_( 1, : ), x.size_ ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvx/cvx_getdual.m: -------------------------------------------------------------------------------- 1 | function z = cvx_getdual( x ) 2 | z = x.dual_; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvx/cvx_isaffine.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isaffine( x, full ) 2 | narginchk(1,2); 3 | y = cvx_vexity( x ); 4 | if nargin < 2, 5 | y = nnz( y ) == 0; 6 | else 7 | y = cvx_reshape( y == 0, x.size_ ); 8 | end 9 | 10 | % Copyright 2005-2016 CVX Research, Inc. 11 | % See the file LICENSE.txt for full copyright information. 12 | % The command 'cvx_where' will show where this file is located. 13 | -------------------------------------------------------------------------------- /lib/@cvx/cvx_isconcave.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isconcave( x, full ) 2 | narginchk(1,2); 3 | y = cvx_vexity( x ); 4 | if nargin < 2, 5 | y = nnz( y > 0 ) == 0; 6 | else 7 | y = cvx_reshape( y <= 0, x.size_ ); 8 | end 9 | 10 | % Copyright 2005-2016 CVX Research, Inc. 11 | % See the file LICENSE.txt for full copyright information. 12 | % The command 'cvx_where' will show where this file is located. 13 | -------------------------------------------------------------------------------- /lib/@cvx/cvx_isconstant.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isconstant( x, full ) 2 | narginchk(1,2); 3 | b = x.basis_; 4 | if size( b, 1 ) <= 1, 5 | y = true; 6 | if nargin == 2 && full, 7 | y = y( ones( 1, prod( x.size_ ) ) ); 8 | y = reshape( y, x.size_ ); 9 | end 10 | elseif nargin == 2 && full, 11 | bz = b ~= 0; 12 | y = cvx_reshape( sum( bz, 1 ) == bz( 1, : ), x.size_ ); 13 | else 14 | y = nnz( b ) == nnz( b( 1, : ) ); 15 | end 16 | 17 | % Copyright 2005-2016 CVX Research, Inc. 18 | % See the file LICENSE.txt for full copyright information. 19 | % The command 'cvx_where' will show where this file is located. 20 | -------------------------------------------------------------------------------- /lib/@cvx/cvx_isconvex.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isconvex( x, full ) 2 | narginchk(1,2); 3 | y = cvx_vexity( x ); 4 | if nargin < 2, 5 | y = nnz( y < 0 ) == 0; 6 | else 7 | y = cvx_reshape( y >= 0, x.size_ ); 8 | end 9 | 10 | % Copyright 2005-2016 CVX Research, Inc. 11 | % See the file LICENSE.txt for full copyright information. 12 | % The command 'cvx_where' will show where this file is located. 13 | -------------------------------------------------------------------------------- /lib/@cvx/cvx_isnonzero.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isnonzero( x, full ) 2 | narginchk(1,2); 3 | y = any( x.basis_, 1 ); 4 | if nargin < 2, 5 | y = all( y ); 6 | else 7 | y = cvx_reshape( y, x.size_ ); 8 | end 9 | 10 | % Copyright 2005-2016 CVX Research, Inc. 11 | % See the file LICENSE.txt for full copyright information. 12 | % The command 'cvx_where' will show where this file is located. 13 | -------------------------------------------------------------------------------- /lib/@cvx/cvx_readlevel.m: -------------------------------------------------------------------------------- 1 | function y = cvx_readlevel( x ) 2 | 3 | global cvx___ 4 | s = size( x.basis_ ); 5 | [ r, c ] = find( x.basis_ ); 6 | y = max( sparse( r, c, cvx___.readonly( r ), s(1), s(2) ), [], 1 ); 7 | y = cvx_reshape( y, x.size_ ); 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/@cvx/cvx_setdual.m: -------------------------------------------------------------------------------- 1 | function x = cvx_setdual( x, y ) 2 | x.dual_ = y; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvx/cvx_value.m: -------------------------------------------------------------------------------- 1 | function v = cvx_value( x ) 2 | v = value( x ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvx/in.m: -------------------------------------------------------------------------------- 1 | function a = in( x, y ) 2 | 3 | b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '==' ); 4 | if nargout, a = b; end 5 | 6 | % Copyright 2005-2016 CVX Research, Inc. 7 | % See the file LICENSE.txt for full copyright information. 8 | % The command 'cvx_where' will show where this file is located. 9 | -------------------------------------------------------------------------------- /lib/@cvx/keywords.m: -------------------------------------------------------------------------------- 1 | % CVX: Keywords for declaring variables and objectives 2 | % dual - Declares one or more dual variables. 3 | % epigraph - Declares an epigraph variable. 4 | % hypograph - Declares a hypograph variable. 5 | % maximize - Specifies a concave (or affine) objective to be maximized. 6 | % minimize - Specifies a convex (or affine) objective to be maximized. 7 | % subject - Implements the "subject to" keyword. 8 | % variable - Declares a single CVX variable with optional matrix structure. 9 | % variables - Declares one or more CVX variables. 10 | 11 | % Copyright 2005-2016 CVX Research, Inc. 12 | % See the file LICENSE.txt for full copyright information. 13 | % The command 'cvx_where' will show where this file is located. 14 | -------------------------------------------------------------------------------- /lib/@cvx/matlab6.m: -------------------------------------------------------------------------------- 1 | %CVX: Matlab 6 compatability functions. 2 | % This directory contains definitions for 'true' and 'false'. These 3 | % functions are used extensively in CVX, and are built in for MATLAB 4 | % 6.5 and later. For MATLAB 6.1 we supply these surrogates. It is 5 | % *very* important, however, that this directory NOT be placed in 6 | % the MATLAB search path for older versions of MATLAB. 7 | 8 | % Copyright 2005-2016 CVX Research, Inc. 9 | % See the file LICENSE.txt for full copyright information. 10 | % The command 'cvx_where' will show where this file is located. 11 | -------------------------------------------------------------------------------- /lib/@cvx/svec.m: -------------------------------------------------------------------------------- 1 | function z = svec( x, nrm ) 2 | 3 | if nargin < 2 || isempty( nrm ) || isequal( nrm, 'fro' ), 4 | nrm = 2; 5 | elseif ~isnumeric( nrm ) || length( nrm ) ~= 1 || nrm < 1, 6 | error( 'Second argument must be a number between 1 and Inf, or ''fro''.' ); 7 | end 8 | 9 | if ~isreal( x ) && nrm ~= 2, 10 | z = vec( x ); 11 | return 12 | else 13 | [ xR, y ] = bcompress( x ); 14 | if isempty( y ), 15 | z = cvx( 0 ); 16 | else 17 | z = y .* norms( xR, nrm, 2 ); 18 | end 19 | end 20 | 21 | % Copyright 2005-2016 CVX Research, Inc. 22 | % See the file LICENSE.txt for full copyright information. 23 | % The command 'cvx_where' will show where this file is located. 24 | -------------------------------------------------------------------------------- /lib/@cvx/value.m: -------------------------------------------------------------------------------- 1 | function v = value( x, data ) 2 | global cvx___ 3 | if nargin == 1, 4 | data = cvx___.x; 5 | end 6 | nx = size( data, 1 ); 7 | nb = size( x.basis_, 1 ); 8 | if nx < nb, 9 | data( end + 1 : nb, : ) = NaN; 10 | elseif nx > nb, 11 | data( nb + 1 : end, : ) = []; 12 | end 13 | v = cvx_reshape( data.' * x.basis_, x.size_ ); 14 | if any( x.size_ == 1 ), v = full( v ); end 15 | 16 | % Copyright 2005-2016 CVX Research, Inc. 17 | % See the file LICENSE.txt for full copyright information. 18 | % The command 'cvx_where' will show where this file is located. 19 | -------------------------------------------------------------------------------- /lib/@cvxcnst/cvxcnst.m: -------------------------------------------------------------------------------- 1 | function v = cvxcnst( p, rhs ) 2 | v = class( struct( 'problem', p, 'rhs', rhs ), 'cvxcnst' ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxcnst/disp.m: -------------------------------------------------------------------------------- 1 | function disp( x ) 2 | disp( 'Constraint accepted' ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxcnst/display.m: -------------------------------------------------------------------------------- 1 | function display( x ) 2 | long = ~isequal(get(0,'FormatSpacing'),'compact'); 3 | if long, disp( ' ' ); end 4 | disp(x); 5 | if long, disp( ' ' ); end 6 | 7 | % Copyright 2005-2016 CVX Research, Inc. 8 | % See the file LICENSE.txt for full copyright information. 9 | % The command 'cvx_where' will show where this file is located. 10 | -------------------------------------------------------------------------------- /lib/@cvxcnst/double.m: -------------------------------------------------------------------------------- 1 | function x = double( v ) %#ok 2 | error( 'Disciplined convex programming error:\n Constraints may not appear in if/then statements.', 1 ); %#ok 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxcnst/logical.m: -------------------------------------------------------------------------------- 1 | function x = logical( v ) %#ok 2 | error( 'Disciplined convex programming error:\n Constraints may not appear in if/then statements.', 1 ); %#ok 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxcnst/rhs.m: -------------------------------------------------------------------------------- 1 | function x = rhs( y ) 2 | x = y.rhs; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxdual/cvx_basis.m: -------------------------------------------------------------------------------- 1 | function ans = cvx_basis( x, varargin ) 2 | ans = cvx_basis( cvxaff( x ), varargin{:} ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxdual/cvx_value.m: -------------------------------------------------------------------------------- 1 | function v = cvx_value( x ) 2 | v = value( x ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxdual/cvxaff.m: -------------------------------------------------------------------------------- 1 | function y = cvxaff( x ) 2 | global cvx___ 3 | y = subsref( cvx___.problems( x.problem_ ).duals, x.name_ ); 4 | 5 | % Copyright 2005-2016 CVX Research, Inc. 6 | % See the file LICENSE.txt for full copyright information. 7 | % The command 'cvx_where' will show where this file is located. 8 | -------------------------------------------------------------------------------- /lib/@cvxdual/cvxdual.m: -------------------------------------------------------------------------------- 1 | function y = cvxdual( prob, name ) 2 | 3 | y = class( struct( 'problem_', prob, 'name_', name, 'attached_', false ), 'cvxdual', cvxobj ); 4 | 5 | % Copyright 2005-2016 CVX Research, Inc. 6 | % See the file LICENSE.txt for full copyright information. 7 | % The command 'cvx_where' will show where this file is located. 8 | -------------------------------------------------------------------------------- /lib/@cvxdual/disp.m: -------------------------------------------------------------------------------- 1 | function disp( x, prefix, iname ) 2 | if nargin < 2, prefix = ''; end 3 | if nargin < 3, iname = ''; end 4 | nm = cvx_subs2str( x.name_ ); 5 | nm = nm(2:end); 6 | if ~isequal( nm, iname ), 7 | disp( [ prefix, 'cvx dual variable ', nm, ' (', type( x ), ')' ] ); 8 | else 9 | disp( [ prefix, 'cvx dual variable (', type( x ), ')' ] ); 10 | end 11 | 12 | % Copyright 2005-2016 CVX Research, Inc. 13 | % See the file LICENSE.txt for full copyright information. 14 | % The command 'cvx_where' will show where this file is located. 15 | -------------------------------------------------------------------------------- /lib/@cvxdual/display.m: -------------------------------------------------------------------------------- 1 | function display( x ) 2 | nm = inputname(1); 3 | long = ~isequal(get(0,'FormatSpacing'),'compact'); 4 | if long, disp( ' ' ); end 5 | disp([nm ' =']); 6 | if long, disp( ' ' ); end 7 | disp(x,' ',nm); 8 | if long, disp( ' ' ); end 9 | 10 | % Copyright 2005-2016 CVX Research, Inc. 11 | % See the file LICENSE.txt for full copyright information. 12 | % The command 'cvx_where' will show where this file is located. 13 | -------------------------------------------------------------------------------- /lib/@cvxdual/dof.m: -------------------------------------------------------------------------------- 1 | function y = dof( x ) 2 | y = size( cvx_basis( cvxaff( x ) ), 2 ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxdual/inuse.m: -------------------------------------------------------------------------------- 1 | function y = inuse( x ) 2 | y = ~isempty( x ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxdual/isreal.m: -------------------------------------------------------------------------------- 1 | function y = isreal( x ) 2 | y = isreal( cvxaff( x ) ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxdual/name.m: -------------------------------------------------------------------------------- 1 | function y = name( x ) 2 | y = x.name_; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxdual/problem.m: -------------------------------------------------------------------------------- 1 | function p = problem( x ) 2 | p = x.problem_; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxdual/size.m: -------------------------------------------------------------------------------- 1 | function y = size( x, varargin ) 2 | y = size( cvxaff( x ), varargin{:} ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxdual/subsref.m: -------------------------------------------------------------------------------- 1 | function x = subsref( x, S ) 2 | error( 'Cannot use subscripting on dual variables.' ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxdual/value.m: -------------------------------------------------------------------------------- 1 | function v = value( x ) 2 | global cvx___ 3 | v = cvxaff( x ); 4 | switch class( v ), 5 | case 'cvx', 6 | v = value( v, cvx___.y ); 7 | case 'cell', 8 | for k = 1 : numel( v ), 9 | v{k} = value( v{k}, cvx___.y ); 10 | end 11 | end 12 | 13 | % Copyright 2005-2016 CVX Research, Inc. 14 | % See the file LICENSE.txt for full copyright information. 15 | % The command 'cvx_where' will show where this file is located. 16 | -------------------------------------------------------------------------------- /lib/@cvxin/cvxin.m: -------------------------------------------------------------------------------- 1 | function v = cvxin 2 | superiorto('cell','struct','cvx','cvxtuple'); 3 | v = class( struct( 'active', false, 'value', [] ), 'cvxin' ); 4 | 5 | % Copyright 2005-2016 CVX Research, Inc. 6 | % See the file LICENSE.txt for full copyright information. 7 | % The command 'cvx_where' will show where this file is located. 8 | -------------------------------------------------------------------------------- /lib/@cvxin/cvxtuple.m: -------------------------------------------------------------------------------- 1 | function v = cvxtuple( varargin ) 2 | 3 | if nargin == 1, 4 | v = varargin{1}; 5 | switch class( v ), 6 | case 'struct', 7 | if numel( v ) ~= 1, 8 | error( 'struct arrays not permitted in cvx tuple objects.' ); 9 | end 10 | case 'cell', 11 | v = reshape( v, 1, numel( v ) ); 12 | otherwise, 13 | return 14 | end 15 | else 16 | v = varargin; 17 | end 18 | 19 | v = class( struct( 'value_', { v } ), 'cvxtuple', cvxobj ); 20 | 21 | % Copyright 2005-2016 CVX Research, Inc. 22 | % See the file LICENSE.txt for full copyright information. 23 | % The command 'cvx_where' will show where this file is located. 24 | -------------------------------------------------------------------------------- /lib/@cvxin/gt.m: -------------------------------------------------------------------------------- 1 | function a = gt( x, y ) 2 | 3 | if isa(y,'cvxin')||~isa(x,'cvxin')||~x.active, 4 | error( 'CVX error: improper use of the pseudo-operator.' ); 5 | end 6 | b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x.value, y, '==' ); 7 | if nargout, a = b; end 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/@cvxin/lt.m: -------------------------------------------------------------------------------- 1 | function y = lt( x, y ) 2 | 3 | if isa(x,'cvxin')||~isa(y,'cvxin')||y.active, 4 | error( 'CVX error: improper use of the pseudo-operator.' ); 5 | end 6 | y.active = true; 7 | y.value = x; 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/@cvxobj/cvx_id.m: -------------------------------------------------------------------------------- 1 | function y = cvx_id( x ) 2 | y = x.id_; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxobj/cvxobj.m: -------------------------------------------------------------------------------- 1 | function y = cvxobj() 2 | global cvx___ 3 | if isempty( cvx___ ), 4 | error( 'Internal cvx data corruption' ); 5 | end 6 | cvx___.id = cvx___.id + 1; 7 | y = class( struct( 'id_', cvx___.id ), 'cvxobj' ); 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/@cvxobj/disp.m: -------------------------------------------------------------------------------- 1 | function disp( x, prefix ) %#ok 2 | if nargin < 2, prefix = ''; end 3 | disp( [ prefix, 'cvx base object' ] ); 4 | 5 | % Copyright 2005-2016 CVX Research, Inc. 6 | % See the file LICENSE.txt for full copyright information. 7 | % The command 'cvx_where' will show where this file is located. 8 | -------------------------------------------------------------------------------- /lib/@cvxobj/display.m: -------------------------------------------------------------------------------- 1 | function display( x ) 2 | long = ~isequal(get(0,'FormatSpacing'),'compact'); 3 | if long, disp( ' ' ); end 4 | disp([inputname(1) ' =']); 5 | if long, disp( ' ' ); end 6 | disp(x,' ') 7 | if long, disp( ' ' ); end 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/@cvxobj/isempty.m: -------------------------------------------------------------------------------- 1 | function y = isempty( x ) 2 | y = any( size( x ) == 0 ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxobj/isequal.m: -------------------------------------------------------------------------------- 1 | function z = isequal( x, y ) 2 | z = x.id_ == y.id_; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxobj/length.m: -------------------------------------------------------------------------------- 1 | function n = length( x ) 2 | s = size( x ); 3 | if any( s == 0 ), 4 | n = 0; 5 | else 6 | n = max( s ); 7 | end 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/@cvxobj/ndims.m: -------------------------------------------------------------------------------- 1 | function n = ndims( x ) 2 | n = length( size( x ) ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxobj/numel.m: -------------------------------------------------------------------------------- 1 | function n = numel( x, varargin ) 2 | n = prod( size( x ) ); %#ok 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxobj/subsasgn.m: -------------------------------------------------------------------------------- 1 | function x = subsasgn( x, S, y ) 2 | error( 'Subscripted assignment not allowed for these objects.' ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxobj/subsref.m: -------------------------------------------------------------------------------- 1 | function x = subsref( x, S, cheat ) 2 | error( 'Subscripts not allowed for this object.' ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxprob/cvx_value.m: -------------------------------------------------------------------------------- 1 | function v = cvx_value( x ) 2 | warning( 'CVX:IllegalUse', ... 3 | 'CVX error: illegal use of a cvx problem object has been detected.\n Please do not copy or manipulate the value of ''cvx_problem'' in any way.', 1 ); %#ok 4 | v = []; 5 | 6 | % Copyright 2005-2016 CVX Research, Inc. 7 | % See the file LICENSE.txt for full copyright information. 8 | % The command 'cvx_where' will show where this file is located. 9 | -------------------------------------------------------------------------------- /lib/@cvxprob/eq.m: -------------------------------------------------------------------------------- 1 | function z = eq( x, y ) 2 | if ~isa( x, class( y ) ) 3 | error( 'cvxprob objects may only be compared to each other.' ); 4 | else 5 | z = cvx_id( x ) == cvx_id( y ); 6 | end 7 | 8 | % Copyright 2005-2016 CVX Research, Inc. 9 | % See the file LICENSE.txt for full copyright information. 10 | % The command 'cvx_where' will show where this file is located. 11 | -------------------------------------------------------------------------------- /lib/@cvxprob/index.m: -------------------------------------------------------------------------------- 1 | function y = index( x ) 2 | y = x.index_; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxprob/ne.m: -------------------------------------------------------------------------------- 1 | function z = ne( x, y ) 2 | z = ~eq( x, y ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxprob/newtemp.m: -------------------------------------------------------------------------------- 1 | function z = newtemp( prob, siz ) 2 | 3 | % NEWTEMP Creates a temporary variable. 4 | 5 | global cvx___ 6 | vstr = cvx___.problems( prob.index_ ).variables; 7 | if isfield( vstr, 'temp_' ), 8 | ndx = length( vstr.temp_ ); 9 | else 10 | ndx = 0; 11 | end 12 | base = struct( 'type', { '.', '{}' }, 'subs', { 'temp_', { ndx + 1 } } ); 13 | z = newvar( prob, base, siz ); 14 | 15 | % Copyright 2005-2016 CVX Research, Inc. 16 | % See the file LICENSE.txt for full copyright information. 17 | % The command 'cvx_where' will show where this file is located. 18 | -------------------------------------------------------------------------------- /lib/@cvxprob/spy.m: -------------------------------------------------------------------------------- 1 | function spy( prob, reduce ) 2 | if nargin < 2 || ~reduce, 3 | A = extract( prob ); 4 | else 5 | A = eliminate( prob ); 6 | end 7 | spy( A' ); 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/@cvxprob/subsasgn.m: -------------------------------------------------------------------------------- 1 | function x = subsasgn( x, S, y ) 2 | error( 'Subscripted assignment not allowed for cvx problem objects.' ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxprob/subsref.m: -------------------------------------------------------------------------------- 1 | function y = subsref( x, S, cheat ) 2 | global cvx___ 3 | y = subsref( cvx___.problems( x.index_ ), S ); 4 | 5 | % Copyright 2005-2016 CVX Research, Inc. 6 | % See the file LICENSE.txt for full copyright information. 7 | % The command 'cvx_where' will show where this file is located. 8 | -------------------------------------------------------------------------------- /lib/@cvxprob/touch.m: -------------------------------------------------------------------------------- 1 | function x = touch( p, x, iseq ) 2 | global cvx___ 3 | if nargin < 3, iseq = false; end 4 | 5 | if isa( x, 'cvx' ), 6 | p = p.index_; 7 | b = cvx_basis( x ); 8 | y = any( b, 2 ); 9 | if iseq, 10 | cvx___.canslack( y ) = false; 11 | end 12 | v = cvx___.problems( p ).t_variable; 13 | nv = size( v, 1 ); 14 | ny = length( y ); 15 | if ny < nv, 16 | y( nv, : ) = 0; 17 | elseif nv < ny, 18 | y = y( 1 : nv, : ); 19 | end 20 | cvx___.problems( p ).t_variable = v | y; 21 | end 22 | 23 | % Copyright 2005-2016 CVX Research, Inc. 24 | % See the file LICENSE.txt for full copyright information. 25 | % The command 'cvx_where' will show where this file is located. 26 | -------------------------------------------------------------------------------- /lib/@cvxtuple/apply.m: -------------------------------------------------------------------------------- 1 | function y = apply( func, x ) 2 | y = do_apply( func, x.value_ ); 3 | 4 | function y = do_apply( func, x ) 5 | switch class( x ), 6 | case 'struct', 7 | y = cell2struct( do_apply( func, struct2cell( x ) ), fieldnames( x ), 1 ); 8 | case 'cell', 9 | y = cellfun( func, x, 'UniformOutput', false ); 10 | otherwise, 11 | y = feval( func, x ); 12 | end 13 | 14 | % Copyright 2005-2016 CVX Research, Inc. 15 | % See the file LICENSE.txt for full copyright information. 16 | % The command 'cvx_where' will show where this file is located. 17 | -------------------------------------------------------------------------------- /lib/@cvxtuple/cvx_collapse.m: -------------------------------------------------------------------------------- 1 | function x = cvx_collapse( x, keeptemp, tocell ) 2 | x = cvx_collapse( x.value_, keeptemp, tocell ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxtuple/cvx_constant.m: -------------------------------------------------------------------------------- 1 | function y = cvx_constant( x ) 2 | y = apply( @cvx_constant, x ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxtuple/cvx_getdual.m: -------------------------------------------------------------------------------- 1 | function x = cvx_getdual( x ) 2 | x = x.dual_; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxtuple/cvx_id.m: -------------------------------------------------------------------------------- 1 | function y = cvx_id( x ) 2 | y = apply( @cvx_id, x ); 3 | switch class( y ), 4 | case 'struct', 5 | y = struct2cell( y ); 6 | y = max( [ -Inf, y{:} ] ); 7 | case 'cell', 8 | y = max( [ -Inf, y{:} ] ); 9 | end 10 | 11 | % Copyright 2005-2016 CVX Research, Inc. 12 | % See the file LICENSE.txt for full copyright information. 13 | % The command 'cvx_where' will show where this file is located. 14 | 15 | 16 | -------------------------------------------------------------------------------- /lib/@cvxtuple/cvx_isaffine.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isaffine( x ) 2 | y = testall( @cvx_isaffine, x ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxtuple/cvx_isconcave.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isconcave( x ) 2 | y = testall( @cvx_isconcave, x ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxtuple/cvx_isconstant.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isconstant( x ) 2 | y = testall( @cvx_isconstant, x ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxtuple/cvx_isconvex.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isconvex( x ) 2 | y = testall( @cvx_isconvex, x ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxtuple/cvx_value.m: -------------------------------------------------------------------------------- 1 | function y = cvx_value( x ) 2 | y = apply( @cvx_value, x ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxtuple/cvxtuple.m: -------------------------------------------------------------------------------- 1 | function v = cvxtuple( varargin ) 2 | 3 | if nargin == 1, 4 | v = varargin{1}; 5 | switch class( v ), 6 | case 'struct', 7 | if numel( v ) ~= 1, 8 | error( 'struct arrays not permitted in cvx tuple objects.' ); 9 | end 10 | case 'cell', 11 | v = reshape( v, 1, numel( v ) ); 12 | otherwise, 13 | return 14 | end 15 | else 16 | v = varargin; 17 | end 18 | 19 | v = class( struct( 'value_', { v }, 'dual_', { [] } ), 'cvxtuple', cvxobj ); 20 | 21 | % Copyright 2005-2016 CVX Research, Inc. 22 | % See the file LICENSE.txt for full copyright information. 23 | % The command 'cvx_where' will show where this file is located. 24 | -------------------------------------------------------------------------------- /lib/@cvxtuple/eq.m: -------------------------------------------------------------------------------- 1 | function a = eq( x, y ) 2 | 3 | b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '==' ); 4 | if nargout, a = b; end 5 | 6 | % Copyright 2005-2016 CVX Research, Inc. 7 | % See the file LICENSE.txt for full copyright information. 8 | % The command 'cvx_where' will show where this file is located. 9 | -------------------------------------------------------------------------------- /lib/@cvxtuple/ge.m: -------------------------------------------------------------------------------- 1 | function a = ge( x, y ) 2 | 3 | b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '>=' ); 4 | if nargout, a = b; end 5 | 6 | % Copyright 2005-2016 CVX Research, Inc. 7 | % See the file LICENSE.txt for full copyright information. 8 | % The command 'cvx_where' will show where this file is located. 9 | -------------------------------------------------------------------------------- /lib/@cvxtuple/gt.m: -------------------------------------------------------------------------------- 1 | function a = gt( x, y ) 2 | 3 | b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '>' ); 4 | if nargout, a = b; end 5 | 6 | % Copyright 2005-2016 CVX Research, Inc. 7 | % See the file LICENSE.txt for full copyright information. 8 | % The command 'cvx_where' will show where this file is located. 9 | -------------------------------------------------------------------------------- /lib/@cvxtuple/in.m: -------------------------------------------------------------------------------- 1 | function a = in( x, y ) 2 | 3 | narginchk(2,2); 4 | b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '==' ); 5 | if nargout, a = b; end 6 | 7 | % Copyright 2005-2016 CVX Research, Inc. 8 | % See the file LICENSE.txt for full copyright information. 9 | % The command 'cvx_where' will show where this file is located. 10 | -------------------------------------------------------------------------------- /lib/@cvxtuple/le.m: -------------------------------------------------------------------------------- 1 | function a = le( x, y ) 2 | 3 | b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '<=' ); 4 | if nargout, a = b; end 5 | 6 | % Copyright 2005-2016 CVX Research, Inc. 7 | % See the file LICENSE.txt for full copyright information. 8 | % The command 'cvx_where' will show where this file is located. 9 | -------------------------------------------------------------------------------- /lib/@cvxtuple/lt.m: -------------------------------------------------------------------------------- 1 | function a = lt( x, y ) 2 | 3 | b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '<' ); 4 | if nargout, a = b; end 5 | 6 | % Copyright 2005-2016 CVX Research, Inc. 7 | % See the file LICENSE.txt for full copyright information. 8 | % The command 'cvx_where' will show where this file is located. 9 | -------------------------------------------------------------------------------- /lib/@cvxtuple/ne.m: -------------------------------------------------------------------------------- 1 | function a = ne( x, y ) 2 | 3 | b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '~=' ); 4 | if nargout, a = b; end 5 | 6 | % Copyright 2005-2016 CVX Research, Inc. 7 | % See the file LICENSE.txt for full copyright information. 8 | % The command 'cvx_where' will show where this file is located. 9 | -------------------------------------------------------------------------------- /lib/@cvxtuple/numel.m: -------------------------------------------------------------------------------- 1 | function n = numel( x, varargin ) 2 | n = numel( x.value_, varargin{:} ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxtuple/subsasgn.m: -------------------------------------------------------------------------------- 1 | function y = subsasgn( x, varargin ) %#ok 2 | error( 'cvx tuple objects are read-only.' ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/@cvxtuple/subsref.m: -------------------------------------------------------------------------------- 1 | function y = subsref( x, varargin ) 2 | y = cvxtuple( subsref( x.value_, varargin{:} ) ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | 8 | -------------------------------------------------------------------------------- /lib/@cvxtuple/testall.m: -------------------------------------------------------------------------------- 1 | function y = testall( func, x ) 2 | y = do_test( func, x.value_ ); 3 | 4 | function y = do_test( func, x ) 5 | switch class( x ), 6 | case 'struct', 7 | y = do_test( func, struct2cell( x ) ); 8 | case 'cell', 9 | y = all( cellfun( func, x ) ); 10 | otherwise, 11 | y = feval( func, x ); 12 | end 13 | 14 | % Copyright 2005-2016 CVX Research, Inc. 15 | % See the file LICENSE.txt for full copyright information. 16 | % The command 'cvx_where' will show where this file is located. 17 | -------------------------------------------------------------------------------- /lib/Contents.m: -------------------------------------------------------------------------------- 1 | % CVX: Internal functions and scripts. 2 | % This directory contains code that is meant for internal use by 3 | % the CVX system itself. Documentation of the functions in this 4 | % directory is more sparse and not intended for end users. 5 | 6 | % Copyright 2005-2016 CVX Research, Inc. 7 | % See the file LICENSE.txt for full copyright information. 8 | % The command 'cvx_where' will show where this file is located. 9 | -------------------------------------------------------------------------------- /lib/cvx_accept_concave.m: -------------------------------------------------------------------------------- 1 | function x = cvx_accept_concave( x ) 2 | global cvx___ 3 | if isa( x, 'cvx' ), 4 | t = cvx_vexity( x ) < 0; 5 | if any( t( : ) ), 6 | prob = cvx___.problems(end).self; 7 | if all( t ), 8 | src = x; 9 | dst = newtemp( prob, size( src ) ); 10 | x = dst; 11 | else 12 | src = x( t ); 13 | dst = newtemp( prob, size( src ) ); 14 | x( t ) = dst; 15 | end 16 | newcnstr( prob, src(:), dst(:), '>=' ); 17 | end 18 | end 19 | 20 | % Copyright 2005-2016 CVX Research, Inc. 21 | % See the file LICENSE.txt for full copyright information. 22 | % The command 'cvx_where' will show where this file is located. 23 | -------------------------------------------------------------------------------- /lib/cvx_accept_convex.m: -------------------------------------------------------------------------------- 1 | function x = cvx_accept_convex( x ) 2 | global cvx___ 3 | if isa( x, 'cvx' ), 4 | t = cvx_vexity( x ) > 0; 5 | if any( t( : ) ), 6 | prob = cvx___.problems(end).self; 7 | if all( t ), 8 | src = x; 9 | dst = newtemp( prob, size( src ) ); 10 | x = dst; 11 | else 12 | src = x( t ); 13 | dst = newtemp( prob, size( src ) ); 14 | x( t ) = dst; 15 | end 16 | newcnstr( prob, src(:), dst(:), '<=' ); 17 | end 18 | end 19 | 20 | % Copyright 2005-2016 CVX Research, Inc. 21 | % See the file LICENSE.txt for full copyright information. 22 | % The command 'cvx_where' will show where this file is located. 23 | -------------------------------------------------------------------------------- /lib/cvx_basis.m: -------------------------------------------------------------------------------- 1 | function y = cvx_basis( x ) 2 | 3 | if isempty( x ) 4 | y = sparse( 1, 0 ); 5 | else 6 | y = sparse( reshape( x, 1, numel( x ) ) ); 7 | end 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/cvx_bcompress_mex.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/lib/cvx_bcompress_mex.mexw64 -------------------------------------------------------------------------------- /lib/cvx_classify.m: -------------------------------------------------------------------------------- 1 | function v = cvx_classify( x ) 2 | 3 | % Classifications: 4 | % 1 - negative constant 5 | % 2 - zero 6 | % 3 - positive constant 7 | % 4 - complex constant 8 | % 5 - concave 9 | % 6 - real affine 10 | % 7 - convex 11 | % 8 - complex affine 12 | % 9 - log concave 13 | % 10 - log affine 14 | % 11 - log convex monomial 15 | % 12 - log convex posynomial 16 | % 13 - invalid 17 | 18 | v = full( sign( real( x ) ) ) + 2; 19 | if ~isreal( x ), 20 | v( imag( x ) ~= 0 ) = 4; 21 | end 22 | v( ~isfinite( x ) ) = 13; 23 | v = reshape( v, 1, numel( x ) ); 24 | 25 | % Copyright 2005-2016 CVX Research, Inc. 26 | % See the file LICENSE.txt for full copyright information. 27 | % The command 'cvx_where' will show where this file is located. 28 | -------------------------------------------------------------------------------- /lib/cvx_constant.m: -------------------------------------------------------------------------------- 1 | function y = cvx_constant( x ) 2 | narginchk(1,1); 3 | y = x; 4 | 5 | % Copyright 2005-2016 CVX Research, Inc. 6 | % See the file LICENSE.txt for full copyright information. 7 | % The command 'cvx_where' will show where this file is located. 8 | -------------------------------------------------------------------------------- /lib/cvx_eliminate_mex.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/lib/cvx_eliminate_mex.mexw64 -------------------------------------------------------------------------------- /lib/cvx_expand_dim.m: -------------------------------------------------------------------------------- 1 | function zx = cvx_expand_dim( z, dim, nx ) 2 | 3 | %CVX_EXPAND_DIM Expands an N-D array along a specified dimension. 4 | % CVX_EXPAND_DIM( X, DIM, NX ) stacks NX copies of the matrix X along the 5 | % dimension NX. It is equivalent to CAT( DIM, X, X, ..., X ), where X is 6 | % repeated NX times. 7 | % 8 | % This is an internal CVX function, and as such no checking is performed to 9 | % insure that the arguments are valid. 10 | 11 | zdims = cell( 1, max( ndims(z), dim ) ); 12 | [ zdims{:} ] = deal( ':' ); 13 | zdims{dim} = ones( 1, nx ); 14 | zx = z( zdims{:} ); 15 | 16 | % Copyright 2005-2016 CVX Research, Inc. 17 | % See the file LICENSE.txt for full copyright information. 18 | % The command 'cvx_where' will show where this file is located. 19 | 20 | -------------------------------------------------------------------------------- /lib/cvx_getdual.m: -------------------------------------------------------------------------------- 1 | function y = cvx_getdual( x ) 2 | y = []; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/cvx_id.m: -------------------------------------------------------------------------------- 1 | function y = cvx_id( x ) %#ok 2 | y = -Inf; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/cvx_ids.m: -------------------------------------------------------------------------------- 1 | function y = cvx_ids( varargin ) 2 | y = cellfun( @cvx_id, varargin ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/cvx_isaffine.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isaffine( x, full ) %#ok 2 | narginchk(1,2); 3 | if nargin == 1, 4 | y = true; 5 | else 6 | y = true( size( x ) ); 7 | end 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/cvx_isconcave.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isconcave( x, full ) %#ok 2 | narginchk(1,2); 3 | if nargin == 2, 4 | y = ~imag( x ); 5 | elseif isreal( x ), 6 | y = true; 7 | else 8 | y = nnz(imag(x)) == 0; 9 | end 10 | 11 | % Copyright 2005-2016 CVX Research, Inc. 12 | % See the file LICENSE.txt for full copyright information. 13 | % The command 'cvx_where' will show where this file is located. 14 | -------------------------------------------------------------------------------- /lib/cvx_isconstant.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isconstant( x, full ) %#ok 2 | narginchk(1,2); 3 | if nargin == 1, 4 | y = true; 5 | else 6 | y = true( size( x ) ); 7 | end 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/cvx_isconvex.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isconvex( x, full ) %#ok 2 | narginchk(1,2); 3 | if nargin == 2, 4 | y = ~imag( x ); 5 | elseif isreal( x ), 6 | y = true; 7 | else 8 | y = nnz(imag(x)) == 0; 9 | end 10 | 11 | % Copyright 2005-2016 CVX Research, Inc. 12 | % See the file LICENSE.txt for full copyright information. 13 | % The command 'cvx_where' will show where this file is located. 14 | -------------------------------------------------------------------------------- /lib/cvx_isnonzero.m: -------------------------------------------------------------------------------- 1 | function y = cvx_isnonzero( x, full ) %#ok 2 | narginchk(1,2); 3 | if nargin == 1, 4 | y = nnz( x ) ~= 0; 5 | else 6 | y = x ~= 0; 7 | end 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/cvx_readlevel.m: -------------------------------------------------------------------------------- 1 | function y = cvx_readlevel( x ) 2 | if ndims( x ) <= 2, 3 | y = sparse( size( x, 1 ), size( x, 2 ) ); 4 | else 5 | y = zeros( size( x ) ); 6 | end 7 | 8 | % Copyright 2005-2016 CVX Research, Inc. 9 | % See the file LICENSE.txt for full copyright information. 10 | % The command 'cvx_where' will show where this file is located. 11 | -------------------------------------------------------------------------------- /lib/cvx_setdual.m: -------------------------------------------------------------------------------- 1 | function x = cvx_setdual( x, y ) 2 | x = cvx_setdual( cvx( x ), y ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/cvx_subsasgn.m: -------------------------------------------------------------------------------- 1 | function y = cvx_subsasgn( y, varargin ) 2 | temp.type = '()'; 3 | temp.subs = varargin(1:end-1); 4 | y = subsasgn( y, temp, varargin{end} ); 5 | 6 | % Copyright 2005-2016 CVX Research, Inc. 7 | % See the file LICENSE.txt for full copyright information. 8 | % The command 'cvx_where' will show where this file is located. 9 | -------------------------------------------------------------------------------- /lib/cvx_subsref.m: -------------------------------------------------------------------------------- 1 | function y = cvx_subsref( x, varargin ) 2 | temp.type = '()'; 3 | temp.subs = varargin; 4 | y = subsref( x, temp ); 5 | 6 | % Copyright 2005-2016 CVX Research, Inc. 7 | % See the file LICENSE.txt for full copyright information. 8 | % The command 'cvx_where' will show where this file is located. 9 | -------------------------------------------------------------------------------- /lib/cvx_value.m: -------------------------------------------------------------------------------- 1 | function v = cvx_value( x ) 2 | v = x; 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/cvx_values.m: -------------------------------------------------------------------------------- 1 | function varargout = cvx_values( varargin ) 2 | varargout = cvx_value( varargin ); 3 | 4 | % Copyright 2005-2016 CVX Research, Inc. 5 | % See the file LICENSE.txt for full copyright information. 6 | % The command 'cvx_where' will show where this file is located. 7 | -------------------------------------------------------------------------------- /lib/cvx_vexity.m: -------------------------------------------------------------------------------- 1 | function y = cvx_vexity( x ) 2 | sx = size( x ); 3 | if cvx_use_sparse( sx, 0, true ) 4 | y = sparse( sx(1), sx(2) ); 5 | else 6 | y = zeros( sx ); 7 | end 8 | 9 | % Copyright 2005-2016 CVX Research, Inc. 10 | % See the file LICENSE.txt for full copyright information. 11 | % The command 'cvx_where' will show where this file is located. 12 | -------------------------------------------------------------------------------- /lib/cvx_zeros.m: -------------------------------------------------------------------------------- 1 | function x = cvx_zeros( s ) 2 | if cvx_use_sparse( s, 0, 1 ), 3 | x = sparse( s(1), s(2) ); 4 | else 5 | x = zeros( s ); 6 | end 7 | 8 | % Copyright 2005-2016 CVX Research, Inc. 9 | % See the file LICENSE.txt for full copyright information. 10 | % The command 'cvx_where' will show where this file is located. 11 | -------------------------------------------------------------------------------- /lib/narginchk_/narginchk.m: -------------------------------------------------------------------------------- 1 | function narginchk(imin, imax) 2 | narg = evalin('caller', 'nargin'); 3 | if narg < imin, 4 | me = {'MATLAB:narginchk:notEnoughInputs', 'Not enough input arguments.'}; 5 | elseif narg > imax, 6 | me = {'MATLAB:narginchk:tooManyInputs', 'Too many input arguments.'}; 7 | else 8 | return 9 | end 10 | throwAsCaller(MException(me{:})); 11 | 12 | -------------------------------------------------------------------------------- /mosek/license.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/mosek/license.pdf -------------------------------------------------------------------------------- /mosek/w64/cilkrts20.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/mosek/w64/cilkrts20.dll -------------------------------------------------------------------------------- /mosek/w64/libiomp5md.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/mosek/w64/libiomp5md.dll -------------------------------------------------------------------------------- /mosek/w64/mosek64_8_0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/mosek/w64/mosek64_8_0.dll -------------------------------------------------------------------------------- /mosek/w64/mosekopt.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/mosek/w64/mosekopt.mexw64 -------------------------------------------------------------------------------- /sdpt3/Examples/graph.m: -------------------------------------------------------------------------------- 1 | %%****************************************************** 2 | %% graph: generate random adjacency matrix. 3 | %% 4 | %% B = graph(n,prob); 5 | %% 6 | %% see maxcut.m 7 | %% 8 | %% SDPT3: version 3.0 9 | %% Copyright (c) 1997 by 10 | %% K.C. Toh, M.J. Todd, R.H. Tutuncu 11 | %% Last modified: 2 Feb 01 12 | %%****************************************************** 13 | 14 | function B = graph(n,prob); 15 | 16 | B = zeros(n,n); 17 | if nargin <= 1; prob = 0.5; end; 18 | for i = 1:n 19 | for j = i+1:n 20 | r = rand(1); 21 | if (r < prob); B(i,j) = 1; B(j,i) = 1; end; 22 | end; 23 | end; 24 | %%====================================================== 25 | -------------------------------------------------------------------------------- /sdpt3/Examples/mcpschur.m: -------------------------------------------------------------------------------- 1 | %%**************************************************** 2 | %% mcpschur: compute schur matrix of HKM or NT direction 3 | %% for MCP and maxG problems. 4 | %% 5 | %% [schurmat] = mcpschur(X,Zinv,schurfun_par); 6 | %% 7 | %% Ak= -ek*ek'; 8 | %% 9 | %% SDPT3: version 3.1 10 | %% Copyright (c) 1997 by 11 | %% K.C. Toh, M.J. Todd, R.H. Tutuncu 12 | %% Last Modified: 21 May 2004 13 | %%**************************************************** 14 | 15 | function [schurmat] = mcpschur(X,Zinv,schurfun_pars); 16 | 17 | schurmat = X .* Zinv; 18 | %%**************************************************** 19 | -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexMatvec.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexMatvec.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexProd2.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexProd2.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexProd2nz.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexProd2nz.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexexpand.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexexpand.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexinprod.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexinprod.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexmat.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexmat.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexnnz.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexnnz.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexqops.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexqops.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexschur.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexschur.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexschurfun.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexschurfun.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexskron.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexskron.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexsmat.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexsmat.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mexsvec.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mexsvec.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mextriang.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mextriang.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/Mexfun/mextriangsp.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/Solver/Mexfun/mextriangsp.mexw64 -------------------------------------------------------------------------------- /sdpt3/Solver/mytime.m: -------------------------------------------------------------------------------- 1 | %%********************************************* 2 | %% mytime: 3 | %% 4 | %% SDPT3: version 3.1 5 | %% Copyright (c) 1997 by 6 | %% K.C. Toh, M.J. Todd, R.H. Tutuncu 7 | %% Last Modified: 16 Sep 2004 8 | %%********************************************* 9 | 10 | function [hh,mm,ss] = mytime(t) 11 | 12 | t = round(t); 13 | h = floor(t/3600); 14 | m = floor(rem(t,3600)/60); 15 | s = rem(rem(t,60),60); 16 | 17 | hh = num2str(h); 18 | if (h > 0) && (m < 10) 19 | mm = ['0',num2str(m)]; 20 | else 21 | mm = num2str(m); 22 | end 23 | if (s < 10) 24 | ss = ['0',num2str(s)]; 25 | else 26 | ss = num2str(s); 27 | end 28 | %%********************************************** 29 | -------------------------------------------------------------------------------- /sdpt3/Solver/qprod.m: -------------------------------------------------------------------------------- 1 | %%*************************************************** 2 | %% qprod: 3 | %% 4 | %% Input: A = [A1 A2 ... An] 5 | %% x = [x1; x2; ...; xn] 6 | %% Output: [A1*x1 A2*x2 ... An*xn] 7 | %% 8 | %% SDPT3: version 3.1 9 | %% Copyright (c) 1997 by 10 | %% K.C. Toh, M.J. Todd, R.H. Tutuncu 11 | %% Last Modified: 16 Sep 2004 12 | %%*************************************************** 13 | 14 | function Ax = qprod(pblk,A,x) 15 | 16 | if (size(pblk,1) > 1) 17 | error('qprod: pblk can only have 1 row'); 18 | end 19 | if issparse(x); x = full(x); end; %% for spconvert 20 | n = length(x); 21 | ii = (1:n)'; 22 | jj = mexexpand(pblk{2},(1:length(pblk{2}))'); 23 | X = spconvert([ii, jj, x]); 24 | Ax = A*X; 25 | %%*************************************************** 26 | -------------------------------------------------------------------------------- /sdpt3/dimacs/copo14.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/dimacs/copo14.mat -------------------------------------------------------------------------------- /sdpt3/dimacs/filter48_socp.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/dimacs/filter48_socp.mat -------------------------------------------------------------------------------- /sdpt3/dimacs/hamming_7_5_6.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/dimacs/hamming_7_5_6.mat -------------------------------------------------------------------------------- /sdpt3/dimacs/minphase.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/dimacs/minphase.mat -------------------------------------------------------------------------------- /sdpt3/dimacs/nql30.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/dimacs/nql30.mat -------------------------------------------------------------------------------- /sdpt3/dimacs/sched_50_50_scaled.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sdpt3/dimacs/sched_50_50_scaled.mat -------------------------------------------------------------------------------- /sedumi/Changelog.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/Changelog.txt -------------------------------------------------------------------------------- /sedumi/Install.txt: -------------------------------------------------------------------------------- 1 | SeDuMi 1.3 2 | Installation instructions 3 | 4 | This version of SeDuMi comes with binaries for recent (tested up to Matlab 2009b) versions of Matlab in both 5 | 32 bit and 64 bit flavour under Windows, Linux and Mac OS. In case the binaries don't work for your system, 6 | try to run install_sedumi. Note that you may have to install a compiler for Matlab first. 7 | 8 | If you encounter any bugs or other code-related issues, you can submit a report to the GitHub issues page: 9 | https://github.com/sedumi/sedumi/issues 10 | 11 | For more information about SeDuMi, including documentation and technical papers, please visit: 12 | http://sedumi.ie.lehigh.edu/ 13 | 14 | Regards, 15 | Your SeDuMi maintainers 16 | 17 | -------------------------------------------------------------------------------- /sedumi/Version.txt: -------------------------------------------------------------------------------- 1 | 1.32 2 | 20130724 3 | -------------------------------------------------------------------------------- /sedumi/ada_pcg.m: -------------------------------------------------------------------------------- 1 | %A dummy file for Yalmip. -------------------------------------------------------------------------------- /sedumi/adendotd.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/adendotd.mexw64 -------------------------------------------------------------------------------- /sedumi/adenscale.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/adenscale.mexw64 -------------------------------------------------------------------------------- /sedumi/blkchol.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/blkchol.mexw64 -------------------------------------------------------------------------------- /sedumi/bwblkslv.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/bwblkslv.mexw64 -------------------------------------------------------------------------------- /sedumi/bwdpr1.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/bwdpr1.mexw64 -------------------------------------------------------------------------------- /sedumi/cholsplit.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/cholsplit.mexw64 -------------------------------------------------------------------------------- /sedumi/choltmpsiz.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/choltmpsiz.mexw64 -------------------------------------------------------------------------------- /sedumi/ddot.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/ddot.mexw64 -------------------------------------------------------------------------------- /sedumi/doc/SeDuMi_Guide_105R5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/doc/SeDuMi_Guide_105R5.pdf -------------------------------------------------------------------------------- /sedumi/doc/SeDuMi_Guide_11.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/doc/SeDuMi_Guide_11.pdf -------------------------------------------------------------------------------- /sedumi/dpr1fact.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/dpr1fact.mexw64 -------------------------------------------------------------------------------- /sedumi/examples/OH_2Pi_STO-6GN9r12g1T2.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/examples/OH_2Pi_STO-6GN9r12g1T2.mat -------------------------------------------------------------------------------- /sedumi/examples/arch0.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/examples/arch0.mat -------------------------------------------------------------------------------- /sedumi/examples/control07.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/examples/control07.mat -------------------------------------------------------------------------------- /sedumi/examples/nb.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/examples/nb.mat -------------------------------------------------------------------------------- /sedumi/examples/trto3.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/examples/trto3.mat -------------------------------------------------------------------------------- /sedumi/extractA.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/extractA.mexw64 -------------------------------------------------------------------------------- /sedumi/findblks.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/findblks.mexw64 -------------------------------------------------------------------------------- /sedumi/finsymbden.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/finsymbden.mexw64 -------------------------------------------------------------------------------- /sedumi/fwblkslv.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/fwblkslv.mexw64 -------------------------------------------------------------------------------- /sedumi/fwdpr1.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/fwdpr1.mexw64 -------------------------------------------------------------------------------- /sedumi/getada1.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/getada1.mexw64 -------------------------------------------------------------------------------- /sedumi/getada2.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/getada2.mexw64 -------------------------------------------------------------------------------- /sedumi/getada3.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/getada3.mexw64 -------------------------------------------------------------------------------- /sedumi/givensrot.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/givensrot.mexw64 -------------------------------------------------------------------------------- /sedumi/incorder.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/incorder.mexw64 -------------------------------------------------------------------------------- /sedumi/invcholfac.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/invcholfac.mexw64 -------------------------------------------------------------------------------- /sedumi/iswnbr.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/iswnbr.mexw64 -------------------------------------------------------------------------------- /sedumi/ordmmdmex.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/ordmmdmex.mexw64 -------------------------------------------------------------------------------- /sedumi/partitA.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/partitA.mexw64 -------------------------------------------------------------------------------- /sedumi/psdframeit.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/psdframeit.mexw64 -------------------------------------------------------------------------------- /sedumi/psdinvjmul.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/psdinvjmul.mexw64 -------------------------------------------------------------------------------- /sedumi/qblkmul.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/qblkmul.mexw64 -------------------------------------------------------------------------------- /sedumi/qrK.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/qrK.mexw64 -------------------------------------------------------------------------------- /sedumi/quadadd.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/quadadd.mexw64 -------------------------------------------------------------------------------- /sedumi/sedumi_binary_error.m: -------------------------------------------------------------------------------- 1 | function sedumi_binary_error() 2 | %Throw an error indicating the sedumi binaries are not available 3 | 4 | if exist('OCTAVE_VERSION','builtin'), 5 | software = 'Octave'; 6 | else 7 | software = 'Matlab'; 8 | end 9 | 10 | fs = filesep; 11 | mpath = mfilename('fullpath'); 12 | temp = strfind( mpath, fs ); 13 | mpath = mpath( 1 : temp(end) - 1 ); 14 | 15 | error( 'SeDuMi:NoBinaries', ... 16 | [ 'The SeDuMi binaries for your platform are not installed.\n', ... 17 | 'To rectify, run the following commands from the %s command line:\n\n', ... 18 | ' cd %s\n', ... 19 | ' install_sedumi\n\n', ... 20 | 'For more information, read %s%sInstall.txt.' ], ... 21 | software, mpath, mpath, fs ); 22 | -------------------------------------------------------------------------------- /sedumi/sortnnz.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/sortnnz.mexw64 -------------------------------------------------------------------------------- /sedumi/sqrtinv.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/sqrtinv.mexw64 -------------------------------------------------------------------------------- /sedumi/symbfwblk.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/symbfwblk.mexw64 -------------------------------------------------------------------------------- /sedumi/symfctmex.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/symfctmex.mexw64 -------------------------------------------------------------------------------- /sedumi/urotorder.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/urotorder.mexw64 -------------------------------------------------------------------------------- /sedumi/vecsym.mexw64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/sedumi/vecsym.mexw64 -------------------------------------------------------------------------------- /shims/cvx_gurobi.p: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/shims/cvx_gurobi.p -------------------------------------------------------------------------------- /shims/cvx_mosek.p: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhan-04/Sum-Rate-Maximization-for-Linearly-Precoded-Downlink-Multiuser-MISO-Systems-With-Partial-CSIT-A-Rate/1e0e69ba80dffedbd75fcad8cbb457f2fe4c99be/shims/cvx_mosek.p -------------------------------------------------------------------------------- /structures/cvx_s_hankel.m: -------------------------------------------------------------------------------- 1 | function [ y, symm ] = cvx_s_hankel( m, n, symm ) 2 | 3 | %CVX_S_HANKEL Hankel matrices. 4 | 5 | c = 0 : n - 1; 6 | c = c( ones( 1, m ), : ); 7 | r = ( 0 : m - 1 )'; 8 | r = r( :, ones( 1, n ) ); 9 | v = abs( r + c ) + 1; 10 | y = sparse( v, r + m * c + 1, 1, m + n + 1, m * n ); 11 | symm = false; 12 | 13 | % Copyright 2005-2016 CVX Research, Inc. 14 | % See the file LICENSE.txt for full copyright information. 15 | % The command 'cvx_where' will show where this file is located. 16 | -------------------------------------------------------------------------------- /structures/cvx_s_symmetric.m: -------------------------------------------------------------------------------- 1 | function [ y, symm ] = cvx_s_symmetric( m, n, symm ) %#ok 2 | %CVX_S_SYMMETRIC Symmetric matrices (lower triangle storage). 3 | if m ~= n, 4 | error( 'Symmetric structure requires square matrices.' ); 5 | end 6 | symm = false; 7 | nsq = n * n; 8 | ntr = 0.5 * ( nsq + n ); 9 | c = 0 : n - 1; 10 | c = c( ones( 1, n ), : ); 11 | r = c'; 12 | mn = min( r, c ); 13 | mx = max( r, c ); 14 | y = mx + mn .* ( n - 0.5 * ( mn + 1 ) ) + 1; 15 | y = sparse( y( : ), 1 : nsq, 1, ntr, nsq ); 16 | 17 | % Copyright 2005-2016 CVX Research, Inc. 18 | % See the file LICENSE.txt for full copyright information. 19 | % The command 'cvx_where' will show where this file is located. 20 | -------------------------------------------------------------------------------- /structures/cvx_s_symmetric_ut.m: -------------------------------------------------------------------------------- 1 | function [ y, symm ] = cvx_s_symmetric_ut( m, n, symm ) 2 | %CVX_S_SYMMETRIC_UT Symmetric matrices (upper triangle storage). 3 | if m ~= n, 4 | error( 'Symmetric structure requires square matrices.' ); 5 | end 6 | symm = false; 7 | nsq = n * n; 8 | ntr = 0.5 * ( nsq + n ); 9 | c = 0 : n - 1; 10 | c = c( ones( 1, n ), : ); 11 | r = c'; 12 | mn = min( r, c ); 13 | mx = max( r, c ); 14 | y = mn + 0.5 * mx .* ( mx + 1 ) + 1; 15 | y = sparse( y( : ), 1 : nsq, 1, ntr, nsq ); 16 | 17 | % Copyright 2005-2016 CVX Research, Inc. 18 | % See the file LICENSE.txt for full copyright information. 19 | % The command 'cvx_where' will show where this file is located. 20 | -------------------------------------------------------------------------------- /structures/cvx_s_upper_hankel.m: -------------------------------------------------------------------------------- 1 | function [ y, symm ] = cvx_s_upper_hankel( m, n, symm ) 2 | 3 | % CVX_S_UPPER_HANKEL Upper Hankel matrices. 4 | 5 | c = 0 : n - 1; 6 | c = c( ones( 1, m ), : ); 7 | r = ( 0 : m - 1 )'; 8 | r = r( :, ones( 1, n ) ); 9 | v = abs( r + c ) + 1; 10 | temp = v <= min( m, n ); 11 | y = sparse( v( temp ), r( temp ) + m * c( temp ) + 1, 1, min( m, n ), m * n ); 12 | symm = false; 13 | 14 | % Copyright 2005-2016 CVX Research, Inc. 15 | % See the file LICENSE.txt for full copyright information. 16 | % The command 'cvx_where' will show where this file is located. 17 | --------------------------------------------------------------------------------